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

737 lines
19 KiB
YAML

openapi: 3.0.0
info:
title: 'Swagger Petstore'
description: "This is a sample Petstore server. You can find\nout more about Swagger at\n[http://swagger.io](http://swagger.io) or on\n[irc.freenode.net, #swagger](http://swagger.io/irc/)."
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://virtserver.swaggerhub.com/swagger/Petstore/1.0.0'
description: 'SwaggerHUB API Mocking'
paths:
/pet:
put:
tags:
- pet
summary: 'Update an existing pet'
operationId: updatePet
requestBody:
$ref: '#/components/requestBodies/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'
operationId: addPet
requestBody:
$ref: '#/components/requestBodies/Pet'
responses:
'405':
description: 'Invalid input'
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 string'
operationId: findPetsByStatus
parameters:
-
name: status
in: query
description: 'Status values that needed to be considered for filter'
required: true
explode: true
schema:
type: array
items:
type: string
enum:
- available
- pending
- sold
default: available
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
'400':
description: 'Invalid status value'
deprecated: true
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
/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: findByTags
parameters:
-
name: tags
in: query
description: 'Tags to filter by'
required: true
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
application/xml:
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'
application/xml:
schema:
$ref: '#/components/schemas/Pet'
'400':
description: 'Invalid ID supplier'
'404':
description: 'Pet not found'
security:
-
api_key: []
post:
tags:
- pet
summary: 'Updates a pet in the store with form data'
operationId: updatePetWithForm
parameters:
-
name: petId
in: path
description: 'ID of pet that needs to be updated'
required: true
schema:
type: integer
format: int64
requestBody:
description: 'Input data format'
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'
operationId: deletePet
parameters:
-
name: api_key
in: header
required: false
schema:
type: string
-
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/{petId}/uploadImage':
post:
tags:
- pet
summary: 'uploads an image'
operationId: uploadFile
parameters:
-
name: petId
in: path
description: 'ID of pet to update'
required: true
schema:
type: integer
format: int64
example: 1
requestBody:
description: 'Upload images request body'
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
security:
-
petstore_auth:
- 'write:pets'
- 'read:pets'
/store:
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:
additionalProperties:
type: integer
format: int32
security:
-
api_key: []
/store/order:
post:
tags:
- store
summary: 'Place an order for a pet'
operationId: placeOrder
requestBody:
description: 'order placed for purchasing th pet'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
responses:
'200':
description: 'successful operation'
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
application/xml:
schema:
$ref: '#/components/schemas/Order'
'/store/order/{orderId}':
get:
tags:
- store
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'
content:
application/xml:
schema:
$ref: '#/components/schemas/Order'
application/json:
schema:
$ref: '#/components/schemas/Order'
'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: 'Create user object'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
default:
description: 'successful operation'
/user/createWithArray:
post:
tags:
- user
summary: 'Create list of users with given input array'
operationId: createUsersWithListInput
requestBody:
$ref: '#/components/requestBodies/UserArray'
responses:
default:
description: 'successful operation'
/user/login:
get:
tags:
- user
summary: 'Logs user into system'
operationId: loginUser
parameters:
-
name: username
in: query
description: 'The user name for login'
required: true
schema:
type: string
-
name: password
in: query
required: true
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: datetime
content:
application/xml:
schema:
type: string
application/json:
schema:
type: string
'400':
description: 'Invalid username/password supplied'
/user/logout:
get:
tags:
- user
summary: 'Logs out current logged in user session'
operationId: logoutUser
responses:
default:
description: 'successful operation'
'/user/{username}':
get:
summary: 'Get user by user name'
operationId: getUserByName
parameters:
-
name: username
in: path
required: true
schema:
type: string
responses:
'200':
description: 'successful operation'
content:
application/xml:
schema:
$ref: '#/components/schemas/User'
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: 'Invalid username supplied'
'404':
description: 'User not found'
put:
summary: 'Updated user'
description: 'This can pnly be done by the logged in user.'
operationId: updateUser
parameters:
-
name: username
in: path
description: 'name that to be updated'
required: true
schema:
type: string
requestBody:
description: 'Updated user object'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'400':
description: 'Invalid user supplied'
'404':
description: 'User not found'
delete:
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:
title: 'Api response'
description: 'Api response'
properties:
code:
title: Code
description: Code
type: integer
format: int32
message:
title: Message
description: Message
type: string
type: object
Category:
title: 'Pets Category'
description: 'Pets Category'
properties:
id:
title: ID
description: ID
type: integer
format: int64
name:
title: 'Category name'
description: 'Category name'
type: string
type: object
xml:
name: Category
Order:
title: 'Order model'
description: 'Order model'
properties:
id:
title: ID
description: ID
type: integer
format: int64
default: 1
petId:
title: 'Pet ID'
description: 'Pet ID'
type: integer
format: int64
default: 1
quantity:
title: Quantity
description: Quantity
type: integer
format: in32
default: 12
shipDate:
title: 'Shipping date'
description: 'Shipping date'
type: string
format: datetime
default: '2017-02-02 18:31:45'
status:
title: 'Order status'
description: 'Order status'
type: string
default: placed
enum:
- placed
- approved
- delivered
complete:
title: 'Complete status'
description: 'Complete status'
type: boolean
format: int64
default: 'false'
type: object
Pet:
title: 'Pet model'
description: 'Pet model'
required:
- name
- photoUrls
properties:
id:
title: ID
description: ID
type: integer
format: int64
category:
$ref: '#/components/schemas/Category'
name:
title: 'Pet name'
description: 'Pet name'
type: integer
format: int64
photoUrls:
title: 'Photo urls'
description: 'Photo urls'
type: array
items:
type: string
default: images/image-1.png
xml:
name: photoUrl
wrapped: true
tags:
title: 'Pet tags'
description: 'Pet tags'
type: array
items:
$ref: '#/components/schemas/Tag'
xml:
name: tag
wrapped: true
type: object
xml:
name: Pet
Tag:
title: Tag
description: Tag
properties:
id:
title: ID
description: ID
type: integer
format: int64
name:
title: Name
description: Name
type: string
type: object
xml:
name: Tag
User:
title: 'User model'
description: 'User model'
properties:
id:
title: ID
description: ID
type: integer
format: int64
username:
title: Username
description: Username
type: string
firstName:
title: 'First name'
description: 'First name'
type: string
lastName:
title: 'Last name'
description: 'Last name'
type: string
email:
title: Email
description: Email
type: string
format: email
password:
title: Password
description: Password
type: string
format: int64
maximum: 255
phone:
title: Phone
description: Phone
type: string
format: msisdn
userStatus:
title: 'User status'
description: 'User status'
type: integer
format: int32
type: object
requestBodies:
Pet:
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'
UserArray:
description: 'List of user object'
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
securitySchemes:
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: 'http://petstore.swagger.io/oauth/dialog'
scopes:
'write:pets': 'modify pets in your account'
'read:pets': 'read your pets'
api_key:
type: apiKey
name: api_key
in: header
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 store'
url: 'http://swagger.io'
externalDocs:
description: 'Find out more about Swagger'
url: 'http://swagger.io'