Skip to content

Instantly share code, notes, and snippets.

@lbroudoux
Created July 31, 2019 11:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lbroudoux/e56296de0617f29e7fd2c455e523b177 to your computer and use it in GitHub Desktop.
Save lbroudoux/e56296de0617f29e7fd2c455e523b177 to your computer and use it in GitHub Desktop.
PetStore sample with examples for mocking
---
openapi: 3.0.2
info:
title: PetStore sample
version: 1.0.0
description: A sample API that uses a petstore as an example to demonstrate features
in the OpenAPI 3.0 specification
termsOfService: http://swagger.io/terms/
contact:
name: Swagger API Team
url: http://swagger.io
email: apiteam@swagger.io
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: http://petstore.swagger.io/api
paths:
/pets:
get:
parameters:
- style: form
name: tags
description: tags to filter by
schema:
type: array
items:
type: string
in: query
required: false
- name: limit
description: maximum number of results to return
schema:
format: int32
type: integer
in: query
required: false
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
200:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
examples:
laurent_cats:
value:
- id: 1
name: Zaza
tag: cat
- id: 2
name: Tigresse
tag: cat
- id: 3
name: Maki
tag: cat
- id: 4
name: Toufik
tag: cat
description: pet response
operationId: findPets
description: |
Returns all pets from the system that the user has access to
post:
requestBody:
description: Pet to add to the store
content:
application/json:
schema:
$ref: '#/components/schemas/NewPet'
examples:
tigresse:
value:
name: Tigresse
tag: cat
required: true
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
200:
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
examples:
tigresse:
value:
id: 2
name: Tigresse
tag: cat
description: pet response
operationId: addPet
description: Creates a new pet in the store. Duplicates are allowed
/pets/{id}:
get:
parameters:
- name: id
description: ID of pet to fetch
schema:
format: int64
type: integer
in: path
required: true
examples:
zaza:
value: 1
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
200:
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
examples:
zaza:
value:
id: 1
name: Zaza
tag: cat
description: pet response
operationId: findPetById
description: Returns a user based on a single ID, if the user does not have
access to the pet
delete:
parameters:
- name: id
description: ID of pet to delete
schema:
format: int64
type: integer
in: path
required: true
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
204:
description: pet deleted
operationId: deletePet
description: deletes a single pet based on the ID supplied
parameters:
- name: id
description: Pet identifier
schema:
type: integer
in: path
required: true
components:
schemas:
Pet:
allOf:
- $ref: '#/components/schemas/NewPet'
- required:
- id
properties:
id:
format: int64
type: integer
NewPet:
required:
- name
properties:
name:
type: string
tag:
type: string
Error:
required:
- code
- message
properties:
code:
format: int32
type: integer
message:
type: string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment