coupon-admin/vendor/zircote/swagger-php/Examples/petstore.swagger.io/petstore.swagger.io.yaml

670 lines
17 KiB
YAML

openapi: 3.0.0
info:
title: 'Swagger Petstore'
description: 'This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.'
termsOfService: 'http://swagger.io/terms/'
contact:
email: apiteam@swagger.io
license:
name: 'Apache 2.0'
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
version: 1.0.0
servers:
-
url: 'https://petstore.swagger.io/v3'
description: 'OpenApi host'
paths:
/pet/findByTags:
get:
tags:
- pet
summary: 'Finds Pets by tags'
description: 'Muliple 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
style: form
schema:
type: array
items:
type: string
responses:
'200':
description: 'successful operation'
'400':
description: 'Invalid tag value'
deprecated: true
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
style: form
schema:
type: array
items:
type: string
default: available
enum:
- available
- pending
- sold
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
'400':
description: 'Invalid status value'
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:
type: integer
format: int64
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
'400':
description: 'Invalid ID supplied'
'404':
description: 'Pet not found'
security:
-
api_key: []
post:
tags:
- pet
summary: 'Updates a pet in the store with form data'
description: ''
operationId: updatePetWithForm
parameters:
-
name: petId
in: path
description: 'ID of pet that needs to be updated'
required: true
schema:
type: integer
format: int64
requestBody:
required: false
content:
application/x-www-form-urlencoded:
schema:
properties:
name:
description: 'Updated name of the pet'
type: string
status:
description: 'Updated status of the pet'
type: string
type: object
responses:
'405':
description: 'Invalid input'
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
delete:
tags:
- pet
summary: 'Deletes a pet'
description: ''
operationId: deletePet
parameters:
-
name: petId
in: path
description: 'Pet id to delete'
required: true
schema:
type: integer
format: int64
responses:
'400':
description: 'Invalid ID supplied'
'404':
description: 'Pet not found'
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
/pet:
put:
tags:
- pet
summary: 'Update an existing pet'
description: ''
operationId: updatePet
requestBody:
description: 'Pet object that needs to be added to the store'
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Pet'
application/json:
schema:
$ref: '#/components/schemas/Pet'
responses:
'400':
description: 'Invalid ID supplied'
'404':
description: 'Pet not found'
'405':
description: 'Validation exception'
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
post:
tags:
- pet
summary: 'Add a new pet to the store'
description: ''
operationId: addPet
requestBody:
description: 'Pet object that needs to be added to the store'
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Pet'
application/json:
schema:
$ref: '#/components/schemas/Pet'
responses:
'405':
description: 'Invalid input'
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
'/pet/{petId}/uploadImage':
post:
tags:
- pet
summary: 'uploads an image'
description: ''
operationId: uploadFile
parameters:
-
name: petId
in: path
description: 'ID of pet to update'
required: true
schema:
type: integer
format: int64
requestBody:
required: true
content:
multipart/form-data:
schema:
required:
- file
properties:
additionalMetadata:
description: 'Additional data to pass to server'
type: string
file:
description: 'file to upload'
type: string
format: file
type: object
responses:
'200':
description: 'successful operation'
security:
-
petstore_auth:
- 'read:pets'
- 'write:pets'
/store/inventory:
get:
tags:
- store
summary: 'Returns pet inventories by status'
description: 'Returns a map of status codes to quantities'
operationId: getInventory
parameters: []
responses:
'200':
description: 'successful operation'
security:
-
api_key: []
/store/order:
post:
tags:
- store
summary: 'Place an order for a pet'
description: ''
operationId: placeOrder
requestBody:
description: 'order placed for purchasing the pet'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
responses:
'200':
description: 'successful operation'
'400':
description: 'Invalid Order'
'/store/order/{orderId}':
get:
tags:
- store
summary: 'Find purchase order by ID'
description: 'For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions'
operationId: getOrderById
parameters:
-
name: orderId
in: path
description: 'ID of pet that needs to be fetched'
required: true
schema:
type: integer
format: int64
maximum: 10
minimum: 1
responses:
'200':
description: 'successful operation'
'400':
description: 'Invalid ID supplied'
'404':
description: 'Order not found'
delete:
tags:
- store
summary: 'Delete purchase order by ID'
description: 'For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors'
operationId: deleteOrder
parameters:
-
name: orderId
in: path
description: 'ID of the order that needs to be deleted'
required: true
schema:
type: integer
format: int64
minimum: 1
responses:
'400':
description: 'Invalid ID supplied'
'404':
description: 'Order not found'
/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'
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/User'
responses:
default:
description: 'successful operation'
/user/createWithArray:
post:
tags:
- user
summary: 'Creates list of users with given input array'
description: ''
operationId: createUsersWithArrayInput
requestBody:
description: 'List of user object'
required: true
content:
multipart/form-data:
schema:
type: array
items:
$ref: '#/components/schemas/User'
responses:
default:
description: 'successful operation'
/user/createWithList:
post:
tags:
- user
summary: 'Creates list of users with given input array'
description: ''
operationId: createUsersWithListInput
requestBody:
description: 'List of user object'
required: true
content:
multipart/form-data:
schema:
type: array
items:
$ref: '#/components/schemas/User'
responses:
default:
description: 'successful operation'
/user/login:
get:
tags:
- user
summary: 'Logs user into the system'
description: ''
operationId: loginUser
parameters:
-
name: username
in: query
description: 'The user name for login'
required: true
schema:
type: string
-
name: password
in: query
description: 'The password for login in clear text'
schema:
type: string
responses:
'200':
description: 'successful operation'
headers:
X-Rate-Limit:
description: 'calls per hour allowed by the user'
schema:
type: integer
format: int32
X-Expires-After:
description: 'date in UTC when token expires'
schema:
type: string
format: date-time
'400':
description: 'Invalid username/password supplied'
/user/logout:
get:
tags:
- user
summary: 'Logs out current logged in user session'
description: ''
operationId: logoutUser
parameters: []
responses:
default:
description: 'successful operation'
'/user/{username}':
get:
tags:
- user
summary: 'Get user by user name'
description: ''
operationId: getUserByName
parameters:
-
name: username
in: path
description: 'The name that needs to be fetched. Use user1 for testing. '
required: true
schema:
type: string
responses:
'200':
description: 'successful operation'
'400':
description: 'Invalid username supplied'
'404':
description: 'User not found'
put:
tags:
- user
summary: 'Updated user'
description: 'This can only be done by the logged in user.'
operationId: updateUser
parameters:
-
name: username
in: path
description: 'name that need to be updated'
required: true
schema:
type: string
requestBody:
description: 'Updated user object'
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/User'
responses:
'400':
description: 'Invalid user supplied'
'404':
description: 'User not found'
delete:
tags:
- user
summary: 'Delete user'
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:
type: string
responses:
'400':
description: 'Invalid username supplied'
'404':
description: 'User not found'
components:
schemas:
ApiResponse:
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
type: object
Category:
properties:
id:
type: integer
format: int64
name:
type: string
type: object
xml:
name: Category
Order:
properties:
id:
type: integer
format: int64
petId:
type: integer
format: int64
complete:
type: boolean
default: false
quantity:
type: integer
format: int32
shipDate:
type: string
format: date-time
status:
description: 'Order Status'
type: string
enum:
- placed
- approved
- delivered
type: object
xml:
name: Order
Pet:
required:
- name
- photoUrls
properties:
id:
type: integer
format: int64
name:
type: string
example: doggie
category:
$ref: '#/components/schemas/Category'
photoUrls:
type: array
items:
type: string
xml:
name: photoUrl
wrapped: true
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
xml:
name: tag
wrapped: true
status:
description: 'pet status in the store'
type: string
enum:
- available
- pending
- sold
type: object
xml:
name: Pet
Tag:
properties:
id:
type: integer
format: int64
name:
type: string
type: object
xml:
name: Tag
User:
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
password:
type: string
phone:
type: string
userStatus:
description: 'User Status'
type: integer
format: int32
type: object
xml:
name: User
securitySchemes:
api_key:
type: apiKey
name: api_key
in: header
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: 'http://petstore.swagger.io/oauth/dialog'
scopes:
'read:pets': 'read your pets'
'write:pets': 'modify pets in your account'
tags:
-
name: pet
description: 'Everything about your Pets'
externalDocs:
description: 'Find out more'
url: 'http://swagger.io'
-
name: store
description: 'Access to Petstore orders'
-
name: user
description: 'Operations about user'
externalDocs:
description: 'Find out more about our store'
url: 'http://swagger.io'
externalDocs:
description: 'Find out more about Swagger'
url: 'http://swagger.io'