106 lines
2.3 KiB
JSON
106 lines
2.3 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "Petstore Minimal",
|
|
"version": "1.0.0"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://api.example.test"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/pets/{petId}": {
|
|
"parameters": [
|
|
{
|
|
"name": "petId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": { "type": "string" }
|
|
}
|
|
],
|
|
"get": {
|
|
"operationId": "getPet",
|
|
"parameters": [
|
|
{
|
|
"name": "includeOwner",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": { "type": "boolean", "default": false }
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Pet found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": { "$ref": "#/components/schemas/Pet" }
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Pet not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": { "$ref": "#/components/schemas/Error" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/pets": {
|
|
"post": {
|
|
"operationId": "createPet",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": { "$ref": "#/components/schemas/CreatePetRequest" }
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Pet created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": { "$ref": "#/components/schemas/Pet" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"CreatePetRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": { "type": "string" }
|
|
},
|
|
"required": ["name"],
|
|
"additionalProperties": false
|
|
},
|
|
"Pet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"name": { "type": "string" }
|
|
},
|
|
"required": ["id", "name"],
|
|
"additionalProperties": false
|
|
},
|
|
"Error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": { "type": "string" }
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
}
|