{ "openapi": "3.0.0", "info": { "title": "Swagger Petstore", "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "Swagger API Team", "url": "http://swagger.io", "email": "apiteam@swagger.io" }, "license": { "name": "MIT", "url": "http://github.com/gruntjs/grunt/blob/master/LICENSE-MIT" }, "version": "1.0.0" }, "servers": [ { "url": "petstore.swagger.io", "description": "API server" } ], "paths": { "/pets": { "get": { "description": "Returns all pets from the system that the user has access to", "externalDocs": { "description": "find more info here", "url": "https://swagger.io/about" }, "operationId": "findPets", "parameters": [ { "name": "tags", "in": "query", "description": "tags to filter by", "required": false, "style": "form", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "limit", "in": "query", "description": "maximum number of results to return", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "pet response", "content": { "application/xml": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } }, "text/xml": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } }, "text/html": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } } } }, "default": { "description": "unexpected error", "content": { "application/xml": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "text/xml": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "text/html": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } } } } }, "post": { "description": "Creates a new pet in the store. Duplicates are allowed", "operationId": "addPet", "requestBody": { "description": "Pet to add to the store", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewPet" } } } }, "responses": { "200": { "description": "pet response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pet" } } } }, "default": { "description": "unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } } } } } }, "/pets/{id}": { "get": { "description": "Returns a user based on a single ID, if the user does not have access to the pet", "operationId": "findPetById", "parameters": [ { "name": "id", "in": "path", "description": "ID of pet to fetch", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "pet response", "content": { "application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } }, "text/html": { "schema": { "$ref": "#/components/schemas/Pet" } }, "text/xml": { "schema": { "$ref": "#/components/schemas/Pet" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Pet" } } } }, "default": { "description": "unexpected error", "content": { "application/xml": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "text/xml": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "text/html": { "schema": { "$ref": "#/components/schemas/ErrorModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } } } } }, "delete": { "description": "deletes a single pet based on the ID supplied", "operationId": "deletePet", "parameters": [ { "name": "id", "in": "path", "description": "ID of pet to delete", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "204": { "description": "pet deleted" }, "default": { "description": "unexpected error" } } } } }, "components": { "schemas": { "ErrorModel": { "required": [ "code", "message" ], "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" } }, "type": "object" }, "NewPet": { "required": [ "name" ], "properties": { "name": { "type": "string" }, "tag": { "type": "string" } }, "type": "object" }, "Pet": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/NewPet" }, { "required": [ "id" ], "properties": { "id": { "type": "integer", "format": "int64" } }, "type": "object" } ] } } }, "externalDocs": { "description": "find more info here", "url": "https://swagger.io/about" } }