openapi: 3.0.1 info: description: This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: OpenAPI Petstore version: 1.0.0 servers: - url: http://petstore.swagger.io/v2 tags: - description: Everything about your Pets name: pet - description: Access to Petstore orders name: store - description: Operations about user name: user paths: /pet: post: operationId: addPet requestBody: content: application/json: schema: $ref: '#/components/schemas/Pet' application/xml: schema: $ref: '#/components/schemas/Pet' description: Pet object that needs to be added to the store required: true responses: "405": content: {} description: Invalid input security: - petstore_auth: - write:pets - read:pets summary: Add a new pet to the store tags: - pet x-codegen-request-body-name: body put: operationId: updatePet requestBody: content: application/json: schema: $ref: '#/components/schemas/Pet' application/xml: schema: $ref: '#/components/schemas/Pet' description: Pet object that needs to be added to the store required: true responses: "400": content: {} description: Invalid ID supplied "404": content: {} description: Pet not found "405": content: {} description: Validation exception security: - petstore_auth: - write:pets - read:pets summary: Update an existing pet tags: - pet x-codegen-request-body-name: body /pet/findByStatus: get: description: Multiple status values can be provided with comma separated strings operationId: findPetsByStatus parameters: - description: Status values that need to be considered for filter explode: false in: query name: status required: true schema: items: default: available enum: - available - pending - sold type: string type: array style: form responses: "200": content: application/xml: schema: items: $ref: '#/components/schemas/Pet' type: array application/json: schema: items: $ref: '#/components/schemas/Pet' type: array description: successful operation "400": content: {} description: Invalid status value security: - petstore_auth: - write:pets - read:pets summary: Finds Pets by status tags: - pet /pet/findByTags: get: deprecated: true description: Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. operationId: findPetsByTags parameters: - description: Tags to filter by explode: false in: query name: tags required: true schema: items: type: string type: array style: form responses: "200": content: application/xml: schema: items: $ref: '#/components/schemas/Pet' type: array application/json: schema: items: $ref: '#/components/schemas/Pet' type: array description: successful operation "400": content: {} description: Invalid tag value security: - petstore_auth: - write:pets - read:pets summary: Finds Pets by tags tags: - pet /pet/{petId}: delete: operationId: deletePet parameters: - in: header name: api_key schema: type: string - description: Pet id to delete in: path name: petId required: true schema: format: int64 type: integer responses: "400": content: {} description: Invalid pet value security: - petstore_auth: - write:pets - read:pets summary: Deletes a pet tags: - pet get: description: Returns a single pet operationId: getPetById parameters: - description: ID of pet to return in: path name: petId required: true schema: format: int64 type: integer responses: "200": content: application/xml: schema: $ref: '#/components/schemas/Pet' application/json: schema: $ref: '#/components/schemas/Pet' description: successful operation "400": content: {} description: Invalid ID supplied "404": content: {} description: Pet not found security: - api_key: [] summary: Find pet by ID tags: - pet post: operationId: updatePetWithForm parameters: - description: ID of pet that needs to be updated in: path name: petId required: true schema: format: int64 type: integer requestBody: 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 responses: "405": content: {} description: Invalid input security: - petstore_auth: - write:pets - read:pets summary: Updates a pet in the store with form data tags: - pet /pet/{petId}/uploadImage: post: operationId: uploadFile parameters: - description: ID of pet to update in: path name: petId required: true schema: format: int64 type: integer requestBody: content: multipart/form-data: schema: properties: additionalMetadata: description: Additional data to pass to server type: string file: description: file to upload format: binary type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiResponse' description: successful operation security: - petstore_auth: - write:pets - read:pets summary: uploads an image tags: - pet /store/inventory: get: description: Returns a map of status codes to quantities operationId: getInventory responses: "200": content: application/json: schema: additionalProperties: format: int32 type: integer type: object description: successful operation security: - api_key: [] summary: Returns pet inventories by status tags: - store /store/order: post: operationId: placeOrder requestBody: content: '*/*': schema: $ref: '#/components/schemas/Order' description: order placed for purchasing the pet required: true responses: "200": content: application/xml: schema: $ref: '#/components/schemas/Order' application/json: schema: $ref: '#/components/schemas/Order' description: successful operation "400": content: {} description: Invalid Order summary: Place an order for a pet tags: - store x-codegen-request-body-name: body /store/order/{orderId}: delete: description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors operationId: deleteOrder parameters: - description: ID of the order that needs to be deleted in: path name: orderId required: true schema: type: string responses: "400": content: {} description: Invalid ID supplied "404": content: {} description: Order not found summary: Delete purchase order by ID tags: - store get: description: For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions operationId: getOrderById parameters: - description: ID of pet that needs to be fetched in: path name: orderId required: true schema: format: int64 maximum: 5 minimum: 1 type: integer responses: "200": content: application/xml: schema: $ref: '#/components/schemas/Order' application/json: schema: $ref: '#/components/schemas/Order' description: successful operation "400": content: {} description: Invalid ID supplied "404": content: {} description: Order not found summary: Find purchase order by ID tags: - store /user: post: description: This can only be done by the logged in user. operationId: createUser requestBody: content: '*/*': schema: $ref: '#/components/schemas/User' description: Created user object required: true responses: default: content: {} description: successful operation summary: Create user tags: - user x-codegen-request-body-name: body /user/createWithArray: post: operationId: createUsersWithArrayInput requestBody: content: '*/*': schema: items: $ref: '#/components/schemas/User' type: array description: List of user object required: true responses: default: content: {} description: successful operation summary: Creates list of users with given input array tags: - user x-codegen-request-body-name: body /user/createWithList: post: operationId: createUsersWithListInput requestBody: content: '*/*': schema: items: $ref: '#/components/schemas/User' type: array description: List of user object required: true responses: default: content: {} description: successful operation summary: Creates list of users with given input array tags: - user x-codegen-request-body-name: body /user/login: get: operationId: loginUser parameters: - description: The user name for login in: query name: username required: true schema: type: string - description: The password for login in clear text in: query name: password required: true schema: type: string responses: "200": content: application/xml: schema: type: string application/json: schema: type: string description: successful operation headers: X-Rate-Limit: description: calls per hour allowed by the user schema: format: int32 type: integer X-Expires-After: description: date in UTC when toekn expires schema: format: date-time type: string "400": content: {} description: Invalid username/password supplied summary: Logs user into the system tags: - user /user/logout: get: operationId: logoutUser responses: default: content: {} description: successful operation summary: Logs out current logged in user session tags: - user /user/{username}: delete: description: This can only be done by the logged in user. operationId: deleteUser parameters: - description: The name that needs to be deleted in: path name: username required: true schema: type: string responses: "400": content: {} description: Invalid username supplied "404": content: {} description: User not found summary: Delete user tags: - user get: operationId: getUserByName parameters: - description: The name that needs to be fetched. Use user1 for testing. in: path name: username required: true schema: type: string responses: "200": content: application/xml: schema: $ref: '#/components/schemas/User' application/json: schema: $ref: '#/components/schemas/User' description: successful operation "400": content: {} description: Invalid username supplied "404": content: {} description: User not found summary: Get user by user name tags: - user put: description: This can only be done by the logged in user. operationId: updateUser parameters: - description: name that need to be deleted in: path name: username required: true schema: type: string requestBody: content: '*/*': schema: $ref: '#/components/schemas/User' description: Updated user object required: true responses: "400": content: {} description: Invalid user supplied "404": content: {} description: User not found summary: Updated user tags: - user x-codegen-request-body-name: body components: schemas: Order: description: An order for a pets from the pet store example: petId: 6 quantity: 1 id: 0 shipDate: 2000-01-23T04:56:07.000+00:00 complete: false status: placed properties: id: format: int64 type: integer petId: format: int64 type: integer quantity: format: int32 type: integer shipDate: format: date-time type: string status: description: Order Status enum: - placed - approved - delivered type: string complete: default: false type: boolean title: Pet Order type: object xml: name: Order Category: description: A category for a pet example: name: name id: 6 properties: id: format: int64 type: integer name: type: string title: Pet category type: object xml: name: Category User: description: A User who is purchasing from the pet store example: firstName: firstName lastName: lastName password: password userStatus: 6 phone: phone id: 0 email: email username: username properties: id: format: int64 type: integer username: type: string firstName: type: string lastName: type: string email: type: string password: type: string phone: type: string userStatus: description: User Status format: int32 type: integer title: a User type: object xml: name: User Tag: description: A tag for a pet example: name: name id: 1 properties: id: format: int64 type: integer name: type: string title: Pet Tag type: object xml: name: Tag Pet: description: A pet for sale in the pet store example: photoUrls: - photoUrls - photoUrls name: doggie id: 0 category: name: name id: 6 tags: - name: name id: 1 - name: name id: 1 status: available properties: id: format: int64 type: integer category: $ref: '#/components/schemas/Category' name: example: doggie type: string photoUrls: items: type: string type: array xml: name: photoUrl wrapped: true tags: items: $ref: '#/components/schemas/Tag' type: array xml: name: tag wrapped: true status: description: pet status in the store enum: - available - pending - sold type: string required: - name - photoUrls title: a Pet type: object xml: name: Pet ApiResponse: description: Describes the result of uploading an image resource example: code: 0 type: type message: message properties: code: format: int32 type: integer type: type: string message: type: string title: An uploaded response type: object securitySchemes: petstore_auth: flows: implicit: authorizationUrl: http://petstore.swagger.io/api/oauth/dialog scopes: write:pets: modify pets in your account read:pets: read your pets type: oauth2 api_key: in: header name: api_key type: apiKey