1561 lines
44 KiB
JSON
1561 lines
44 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "DEV @olli/backend",
|
|
"version": "1.0.0"
|
|
},
|
|
"components": {
|
|
"schemas": {}
|
|
},
|
|
"paths": {
|
|
"/demo/persons": {
|
|
"post": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"first_name",
|
|
"gender",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"first_name",
|
|
"last_name",
|
|
"gender",
|
|
"created_at",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"first_name": {
|
|
"type": "string",
|
|
"description": "The first name of the person"
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"height": {
|
|
"type": "number"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"in": "query",
|
|
"name": "first_name",
|
|
"required": false
|
|
},
|
|
{
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"in": "query",
|
|
"name": "last_name",
|
|
"required": false
|
|
},
|
|
{
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"in": "query",
|
|
"name": "gender",
|
|
"required": false
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"first_name",
|
|
"last_name",
|
|
"gender",
|
|
"created_at",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"first_name": {
|
|
"type": "string",
|
|
"description": "The first name of the person"
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"height": {
|
|
"type": "number"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/demo/persons/{id}": {
|
|
"get": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"first_name",
|
|
"last_name",
|
|
"gender",
|
|
"created_at",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"first_name": {
|
|
"type": "string",
|
|
"description": "The first name of the person"
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"height": {
|
|
"type": "number"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Default Response"
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Default Response"
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/demo/persons/{id}/with-pets": {
|
|
"get": {
|
|
"tags": [
|
|
"person"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"first_name",
|
|
"last_name",
|
|
"gender",
|
|
"created_at",
|
|
"metadata",
|
|
"pets"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"pets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "number"
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/demo/pets": {
|
|
"post": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"owner_id": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "number"
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"in": "query",
|
|
"name": "name",
|
|
"required": false
|
|
},
|
|
{
|
|
"schema": {
|
|
"type": "number"
|
|
},
|
|
"in": "query",
|
|
"name": "owner_id",
|
|
"required": false
|
|
},
|
|
{
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"in": "query",
|
|
"name": "species",
|
|
"required": false
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "number"
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/demo/pets/{id}": {
|
|
"get": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "number"
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"owner_id": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Default Response"
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Default Response"
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/demo/pets/{id}/with-owner": {
|
|
"get": {
|
|
"tags": [
|
|
"pet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"schema": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"pet",
|
|
"owner"
|
|
],
|
|
"properties": {
|
|
"pet": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"owner_id",
|
|
"species"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "number"
|
|
},
|
|
"species": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"dog"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"cat"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"first_name",
|
|
"last_name",
|
|
"gender",
|
|
"created_at",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"first_name": {
|
|
"type": "string",
|
|
"description": "The first name of the person"
|
|
},
|
|
"last_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"gender": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"man"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"woman"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"other"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"height": {
|
|
"type": "number"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": [
|
|
"login_at",
|
|
"ip",
|
|
"agent",
|
|
"plan"
|
|
],
|
|
"properties": {
|
|
"login_at": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"free"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"premium"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/status": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"msg": {
|
|
"type": "string",
|
|
"example": "Server is up and running fine!"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"5XX": {
|
|
"description": "Default Response",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"msg": {
|
|
"type": "string",
|
|
"example": "Server is not ready."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |