← all demos
openapi = 3.0.4
info
title = Swagger Petstore - OpenAPI 3.0
description =
| This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about
| Swagger at [https://swagger.io](https://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!
| You can now help us improve the API whether it's by making changes to the definition itself or to the code.
| That way, with time, we can improve the API in general, and expose some of the new features in OAS3.
|
| Some useful links:
| - [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)
| - [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
termsOfService = https://swagger.io/terms/
contact
email = apiteam@swagger.io
license
name = Apache 2.0
url = https://www.apache.org/licenses/LICENSE-2.0.html
version = 1.0.27
externalDocs
description = Find out more about Swagger
url = https://swagger.io
servers[]
url = /api/v3
tags[]
name = pet
description = Everything about your Pets
externalDocs
description = Find out more
url = https://swagger.io
tags[]
name = store
description = Access to Petstore orders
externalDocs
description = Find out more about our store
url = https://swagger.io
tags[]
name = user
description = Operations about user
paths
"/pet"
put
tags = [pet]
summary = Update an existing pet.
description = Update an existing pet by Id.
operationId = updatePet
requestBody
description = Update an existent pet in the store
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"application/x-www-form-urlencoded"
schema : ref Pet
required = true
responses
"200"
description = Successful operation
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"400"
description = Invalid ID supplied
"404"
description = Pet not found
"422"
description = Validation exception
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
post
tags = [pet]
summary = Add a new pet to the store.
description = Add a new pet to the store.
operationId = addPet
requestBody
description = Create a new pet in the store
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"application/x-www-form-urlencoded"
schema : ref Pet
required = true
responses
"200"
description = Successful operation
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"400"
description = Invalid input
"422"
description = Validation exception
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
"/pet/findByStatus"
get
tags = [pet]
summary = Finds Pets by status.
description = Multiple status values can be provided with comma separated strings.
operationId = findPetsByStatus
parameters[]
name = status
in = query
description = Status values that need to be considered for filter
required = true
explode = true
schema : enum [available, pending, sold]
default = available
responses
"200"
description = successful operation
content
"application/json"
schema : ref Pet[]
"application/xml"
schema : ref Pet[]
"400"
description = Invalid status value
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
"/pet/findByTags"
get
tags = [pet]
summary = Finds Pets by tags.
description = Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
operationId = findPetsByTags
parameters[]
name = tags
in = query
description = Tags to filter by
required = true
explode = true
schema : string[]
responses
"200"
description = successful operation
content
"application/json"
schema : ref Pet[]
"application/xml"
schema : ref Pet[]
"400"
description = Invalid tag value
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
"/pet/{petId}"
get
tags = [pet]
summary = Find pet by ID.
description = Returns a single pet.
operationId = getPetById
parameters[]
name = petId
in = path
description = ID of pet to return
required = true
schema : integer int64
responses
"200"
description = successful operation
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"400"
description = Invalid ID supplied
"404"
description = Pet not found
default
description = Unexpected error
security[]
api_key = []
security[]
petstore_auth = [write:pets, read:pets]
post
tags = [pet]
summary = Updates a pet in the store with form data.
description = Updates a pet resource based on the form data.
operationId = updatePetWithForm
parameters[]
name = petId
in = path
description = ID of pet that needs to be updated
required = true
schema : integer int64
parameters[]
name = name
in = query
description = Name of pet that needs to be updated
schema : string
parameters[]
name = status
in = query
description = Status of pet that needs to be updated
schema : string
responses
"200"
description = successful operation
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
"400"
description = Invalid input
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
delete
tags = [pet]
summary = Deletes a pet.
description = Delete a pet.
operationId = deletePet
parameters[]
name = api_key
in = header
description = ""
required = false
schema : string
parameters[]
name = petId
in = path
description = Pet id to delete
required = true
schema : integer int64
responses
"200"
description = Pet deleted
"400"
description = Invalid pet value
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
"/pet/{petId}/uploadImage"
post
tags = [pet]
summary = Uploads an image.
description = Upload image of the pet.
operationId = uploadFile
parameters[]
name = petId
in = path
description = ID of pet to update
required = true
schema : integer int64
parameters[]
name = additionalMetadata
in = query
description = Additional Metadata
required = false
schema : string
requestBody
content
"application/octet-stream"
schema : string binary
responses
"200"
description = successful operation
content
"application/json"
schema : ref ApiResponse
"400"
description = No file uploaded
"404"
description = Pet not found
default
description = Unexpected error
security[]
petstore_auth = [write:pets, read:pets]
"/store/inventory"
get
tags = [store]
summary = Returns pet inventories by status.
description = Returns a map of status codes to quantities.
operationId = getInventory
responses
"200"
description = successful operation
content
"application/json"
schema : object
additionalProperties : integer int32
default
description = Unexpected error
security[]
api_key = []
"/store/order"
post
tags = [store]
summary = Place an order for a pet.
description = Place a new order in the store.
operationId = placeOrder
requestBody
content
"application/json"
schema : ref Order
"application/xml"
schema : ref Order
"application/x-www-form-urlencoded"
schema : ref Order
responses
"200"
description = successful operation
content
"application/json"
schema : ref Order
"400"
description = Invalid input
"422"
description = Validation exception
default
description = Unexpected error
"/store/order/{orderId}"
get
tags = [store]
summary = Find purchase order by ID.
description = "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions."
operationId = getOrderById
parameters[]
name = orderId
in = path
description = ID of order that needs to be fetched
required = true
schema : integer int64
responses
"200"
description = successful operation
content
"application/json"
schema : ref Order
"application/xml"
schema : ref Order
"400"
description = Invalid ID supplied
"404"
description = Order not found
default
description = Unexpected error
delete
tags = [store]
summary = Delete purchase order by identifier.
description = For valid response try integer IDs with value < 1000. Anything above 1000 or non-integers will generate API errors.
operationId = deleteOrder
parameters[]
name = orderId
in = path
description = ID of the order that needs to be deleted
required = true
schema : integer int64
responses
"200"
description = order deleted
"400"
description = Invalid ID supplied
"404"
description = Order not found
default
description = Unexpected error
"/user"
post
tags = [user]
summary = Create user.
description = This can only be done by the logged in user.
operationId = createUser
requestBody
description = Created user object
content
"application/json"
schema : ref User
"application/xml"
schema : ref User
"application/x-www-form-urlencoded"
schema : ref User
responses
"200"
description = successful operation
content
"application/json"
schema : ref User
"application/xml"
schema : ref User
default
description = Unexpected error
"/user/createWithList"
post
tags = [user]
summary = Creates list of users with given input array.
description = Creates list of users with given input array.
operationId = createUsersWithListInput
requestBody
content
"application/json"
schema : ref User[]
responses
"200"
description = Successful operation
content
"application/json"
schema : ref User
"application/xml"
schema : ref User
default
description = Unexpected error
"/user/login"
get
tags = [user]
summary = Logs user into the system.
description = Log into the system.
operationId = loginUser
parameters[]
name = username
in = query
description = The user name for login
required = false
schema : string
parameters[]
name = password
in = query
description = The password for login in clear text
required = false
schema : string
responses
"200"
description = successful operation
headers
X-Rate-Limit
description = calls per hour allowed by the user
schema : integer int32
X-Expires-After
description = date in UTC when token expires
schema : string date-time
content
"application/xml"
schema : string
"application/json"
schema : string
"400"
description = Invalid username/password supplied
default
description = Unexpected error
"/user/logout"
get
tags = [user]
summary = Logs out current logged in user session.
description = Log user out of the system.
operationId = logoutUser
parameters = []
responses
"200"
description = successful operation
default
description = Unexpected error
"/user/{username}"
get
tags = [user]
summary = Get user by user name.
description = Get user detail based on username.
operationId = getUserByName
parameters[]
name = username
in = path
description = The name that needs to be fetched. Use user1 for testing
required = true
schema : string
responses
"200"
description = successful operation
content
"application/json"
schema : ref User
"application/xml"
schema : ref User
"400"
description = Invalid username supplied
"404"
description = User not found
default
description = Unexpected error
put
tags = [user]
summary = Update user resource.
description = This can only be done by the logged in user.
operationId = updateUser
parameters[]
name = username
in = path
description = name that need to be deleted
required = true
schema : string
requestBody
description = Update an existent user in the store
content
"application/json"
schema : ref User
"application/xml"
schema : ref User
"application/x-www-form-urlencoded"
schema : ref User
responses
"200"
description = successful operation
"400"
description = bad request
"404"
description = user not found
default
description = Unexpected error
delete
tags = [user]
summary = Delete user resource.
description = This can only be done by the logged in user.
operationId = deleteUser
parameters[]
name = username
in = path
description = The name that needs to be deleted
required = true
schema : string
responses
"200"
description = User deleted
"400"
description = Invalid username supplied
"404"
description = User not found
default
description = Unexpected error
components
schemas
Order : object
id : integer int64
example = 10
petId : integer int64
example = 198772
quantity : integer int32
example = 7
shipDate : string date-time
status : enum [placed, approved, delivered]
description = Order Status
example = approved
complete : boolean
xml
name = order
Category : object
id : integer int64
example = 1
name : string
example = Dogs
xml
name = category
User : object
id : integer int64
example = 10
username : string
example = theUser
firstName : string
example = John
lastName : string
example = James
email : string
example = john@email.com
password : string
example = "12345"
phone : string
example = "12345"
userStatus : integer int32
description = User Status
example = 1
xml
name = user
Tag : object
id : integer int64
name : string
xml
name = tag
Pet : object
id : integer int64
example = 10
name! : string
example = doggie
category : ref Category
photoUrls! : string[]
items : string
xml
name = photoUrl
xml
wrapped = true
tags : ref Tag[]
xml
wrapped = true
status : enum [available, pending, sold]
description = pet status in the store
xml
name = pet
ApiResponse : object
code : integer int32
type : string
message : string
xml
name = ##default
requestBodies
Pet
description = Pet object that needs to be added to the store
content
"application/json"
schema : ref Pet
"application/xml"
schema : ref Pet
UserArray
description = List of user object
content
"application/json"
schema : ref User[]
securitySchemes
petstore_auth
type = oauth2
flows
implicit
authorizationUrl = https://petstore3.swagger.io/oauth/authorize
scopes
"write:pets" = modify pets in your account
"read:pets" = read your pets
api_key
type = apiKey
name = api_key
in = header