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: tags: - store 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: tags: - store 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: tags: - store 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: text/html: schema: $ref: '#/components/schemas/Pet' text/xml: schema: $ref: '#/components/schemas/Pet' application/json: schema: $ref: '#/components/schemas/Pet' application/xml: schema: $ref: '#/components/schemas/Pet' default: description: 'unexpected error' content: text/xml: schema: $ref: '#/components/schemas/ErrorModel' text/html: schema: $ref: '#/components/schemas/ErrorModel' application/json: schema: $ref: '#/components/schemas/ErrorModel' application/xml: schema: $ref: '#/components/schemas/ErrorModel' delete: tags: - store 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 tags: - name: store description: 'The Pet Store' externalDocs: description: 'find more info here' url: 'https://swagger.io/about'