{
"openapi": "3.0.0",
"info": {
"license": {
"name": "MIT"
},
"title": "Swagger Petstore",
"version": "1.0.0"
},
"servers": [
{ "url": "http://petstore.swagger.io/v1" }
],
"paths": {
"/pets/{petId}": {
"get": {
"operationId": "showPetById",
"tags": [ "pets" ],
"summary": "Info for a specific pet",
"parameters": [
{ "description": "The id of the pet to retrieve", "in": "path", "name": "petId", "required": true, "schema": { "type": "string" } },
{ "description": "Indicates if the age is wanted in the response object", "in": "query", "name": "wantAge", "schema": { "type": "boolean" } }
],
"responses": {
"default": {
"description": "unexpected error",
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Error" } },
"application/xml": { "schema": { "$ref": "#/components/schemas/Error" } }
}
},
"200": {
"description": "Expected response to a valid request",
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } },
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } }
}
}
}
}
},
"/pets": {
"get": {
"operationId": "listPets",
"summary": "List all pets",
"tags": [ "pets" ],
"parameters": [
{"name": "limit", "in": "query", "description": "How many items to return at one time (max 100)", "required": false, "schema": { "type": "integer", "default": 20, "format": "int32" }}
],
"responses": {
"200": {
"description": "An paged array of pets",
"headers": {
"x-next": { "schema": { "type": "string" }, "description": "A link to the next page of responses"}
},
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Pets" } },
"application/xml": { "schema": { "$ref": "#/components/schemas/Pets" } }
}
},
"201": {
"$ref": "#/components/responses/Pets"
},
"default": {
"description": "unexpected error",
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Error" } },
"application/xml": { "schema": { "$ref": "#/components/schemas/Error" } }
}
}
}
},
"post": {
"operationId": "createPets",
"summary": "Create a pet",
"tags": [ "pets" ],
"parameters": [
{ "description": "Turn on/off debug", "in": "cookie", "name": "debug", "schema": { "type": "integer", "enum": [0, 1] } }
],
"requestBody": {
"required": true,
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } },
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Pet" } }
}
},
"responses": {
"201": {
"description": "Null response",
"content": {
"*/*": { "schema": { "type": "string" } }
}
},
"default": {
"description": "unexpected error",
"content": {
"*/*": { "schema": { "$ref": "#/components/schemas/Error" } }
}
}
}
}
}
},
"components": {
"schemas": {
"Pets": {
"type": "array",
"items": { "$ref": "#/components/schemas/Pet" }
},
"Pet": {
"required": [ "id", "name" ],
"properties": {
"tag": { "type": "string" },
"id": { "type": "integer", "format": "int64" },
"name": { "type": "string" },
"age": { "type": "integer" }
}
},
"Error": {
"required": [ "code", "message" ],
"properties": {
"code": { "format": "int32", "type": "integer" },
"message": { "type": "string" }
}
}
},
"responses": {
"Pets": {
"description": "Reusable Pets response",
"content": {
"application/json": { "schema": { "$ref": "#/components/schemas/Pets" } },
"application/xml": { "schema": { "$ref": "#/components/schemas/Pets" } }
}
}
}
}
}