openapi: 3.0.0 info: title: OpenAPI Petstore description: This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. For OAuth2 flow, you may use `user` as both username and password when asked to login. license: name: Apache-2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: 1.0.0 externalDocs: description: Find out more about OpenAPI generator url: https://openapi-generator.tech tags: - name: pet description: Everything about your Pets - name: store description: Access to Petstore orders - name: user description: Operations about user 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 x-accepts: application/json x-tags: - tag: pet x-contentType: application/json 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 x-accepts: application/json x-tags: - tag: pet x-contentType: application/json /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 explode: false schema: type: array items: type: string default: available enum: - available - pending - sold responses: 200: description: successful operation content: application/xml: schema: type: array items: $ref: '#/components/schemas/Pet' application/json: schema: type: array items: $ref: '#/components/schemas/Pet' 400: description: Invalid status value security: - petstore_auth: - write:pets - read:pets x-accepts: application/json x-tags: - tag: pet /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 style: form explode: false schema: type: array items: type: string responses: 200: description: successful operation content: application/xml: schema: type: array items: $ref: '#/components/schemas/Pet' application/json: schema: type: array items: $ref: '#/components/schemas/Pet' 400: description: Invalid tag value deprecated: true security: - petstore_auth: - write:pets - read:pets x-accepts: application/json x-tags: - tag: pet /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 style: simple explode: false schema: type: integer format: int64 responses: 200: description: successful operation content: application/xml: schema: $ref: '#/components/schemas/Pet' application/json: schema: $ref: '#/components/schemas/Pet' 400: description: Invalid ID supplied 404: description: Pet not found security: - api_key: [] x-accepts: application/json x-tags: - tag: pet 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 style: simple explode: false schema: type: integer format: int64 requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/body' responses: 405: description: Invalid input security: - petstore_auth: - write:pets - read:pets x-accepts: application/json x-tags: - tag: pet x-contentType: application/x-www-form-urlencoded delete: tags: - pet summary: Deletes a pet operationId: deletePet parameters: - name: api_key in: header required: false style: simple explode: false schema: type: string - name: petId in: path description: Pet id to delete required: true style: simple explode: false schema: type: integer format: int64 responses: 400: description: Invalid pet value security: - petstore_auth: - write:pets - read:pets x-accepts: application/json x-tags: - tag: pet /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 style: simple explode: false schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/body_1' responses: 200: description: successful operation content: application/json: schema: $ref: '#/components/schemas/ApiResponse' security: - petstore_auth: - write:pets - read:pets x-accepts: application/json x-tags: - tag: pet x-contentType: multipart/form-data /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: type: object additionalProperties: type: integer format: int32 security: - api_key: [] x-accepts: application/json x-tags: - tag: store /store/order: post: tags: - store summary: Place an order for a pet operationId: placeOrder requestBody: description: order placed for purchasing the pet content: application/json: schema: $ref: '#/components/schemas/Order' required: true responses: 200: description: successful operation content: application/xml: schema: $ref: '#/components/schemas/Order' application/json: schema: $ref: '#/components/schemas/Order' 400: description: Invalid Order x-accepts: application/json x-tags: - tag: store x-contentType: application/json /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 generated exceptions operationId: getOrderById parameters: - name: orderId in: path description: ID of pet that needs to be fetched required: true style: simple explode: false schema: maximum: 5 minimum: 1 type: integer format: int64 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 x-accepts: application/json x-tags: - tag: store delete: tags: - store summary: Delete purchase order by ID description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors operationId: deleteOrder parameters: - name: orderId in: path description: ID of the order that needs to be deleted required: true style: simple explode: false schema: type: string responses: 400: description: Invalid ID supplied 404: description: Order not found x-accepts: application/json x-tags: - tag: store /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: '#/components/schemas/User' required: true responses: default: description: successful operation x-accepts: application/json x-tags: - tag: user x-contentType: application/json /user/createWithArray: post: tags: - user summary: Creates list of users with given input array operationId: createUsersWithArrayInput requestBody: $ref: '#/components/requestBodies/UserArray' responses: default: description: successful operation x-accepts: application/json x-tags: - tag: user x-contentType: application/json /user/createWithList: post: tags: - user summary: Creates list of users with given input array operationId: createUsersWithListInput requestBody: $ref: '#/components/requestBodies/UserArray' responses: default: description: successful operation x-accepts: application/json x-tags: - tag: user x-contentType: application/json /user/login: get: tags: - user summary: Logs user into the system operationId: loginUser parameters: - name: username in: query description: The user name for login required: true style: form explode: true schema: type: string - name: password in: query description: The password for login in clear text required: true style: form explode: true schema: type: string responses: 200: description: successful operation headers: X-Rate-Limit: description: calls per hour allowed by the user style: simple explode: false schema: type: integer format: int32 X-Expires-After: description: date in UTC when toekn expires style: simple explode: false schema: type: string format: date-time content: application/xml: schema: type: string application/json: schema: type: string 400: description: Invalid username/password supplied x-accepts: application/json x-tags: - tag: user /user/logout: get: tags: - user summary: Logs out current logged in user session operationId: logoutUser responses: default: description: successful operation x-accepts: application/json x-tags: - tag: user /user/{username}: get: tags: - user summary: Get user by user name operationId: getUserByName parameters: - name: username in: path description: The name that needs to be fetched. Use user1 for testing. required: true style: simple explode: false 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 x-accepts: application/json x-tags: - tag: user 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 deleted required: true style: simple explode: false schema: type: string requestBody: description: Updated user object content: application/json: schema: $ref: '#/components/schemas/User' required: true responses: 400: description: Invalid user supplied 404: description: User not found x-accepts: application/json x-tags: - tag: user x-contentType: application/json 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 style: simple explode: false schema: type: string responses: 400: description: Invalid username supplied 404: description: User not found x-accepts: application/json x-tags: - tag: user components: schemas: Order: title: Pet Order type: object properties: id: type: integer format: int64 petId: type: integer format: int64 quantity: type: integer format: int32 shipDate: type: string format: date-time status: type: string description: Order Status enum: - placed - approved - delivered complete: type: boolean default: false 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 xml: name: Order Category: title: Pet category type: object properties: id: type: integer format: int64 name: type: string description: A category for a pet example: name: name id: 6 xml: name: Category User: title: a User type: object 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: type: integer description: User Status format: int32 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 xml: name: User Tag: title: Pet Tag type: object properties: id: type: integer format: int64 name: type: string description: A tag for a pet example: name: name id: 1 xml: name: Tag Pet: title: a Pet required: - name - photoUrls type: object properties: id: type: integer format: int64 category: $ref: '#/components/schemas/Category' name: type: string example: doggie photoUrls: type: array xml: name: photoUrl wrapped: true items: type: string tags: type: array xml: name: tag wrapped: true items: $ref: '#/components/schemas/Tag' status: type: string description: pet status in the store enum: - available - pending - sold 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 xml: name: Pet ApiResponse: title: An uploaded response type: object properties: code: type: integer format: int32 type: type: string message: type: string description: Describes the result of uploading an image resource example: code: 0 type: type message: message body: type: object properties: name: type: string description: Updated name of the pet status: type: string description: Updated status of the pet body_1: type: object properties: additionalMetadata: type: string description: Additional data to pass to server file: type: string description: file to upload format: binary requestBodies: UserArray: description: List of user object content: application/json: schema: type: array items: $ref: '#/components/schemas/User' required: true Pet: description: Pet object that needs to be added to the store content: application/json: schema: $ref: '#/components/schemas/Pet' application/xml: schema: $ref: '#/components/schemas/Pet' required: true securitySchemes: petstore_auth: type: oauth2 flows: implicit: authorizationUrl: /api/oauth/dialog scopes: write:pets: modify pets in your account read:pets: read your pets api_key: type: apiKey name: api_key in: header