swagger: "2.0" info: description: | This is a sample server Petstore server. [Learn about Swagger](http://swagger.io) or join the IRC channel `#swagger` on irc.freenode.net. For this sample, you can use the api key `special-key` to test the authorization filters version: "1.0.0" title: Swagger Petstore termsOfService: http://helloreverb.com/terms/ contact: name: apiteam@swagger.io license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html host: petstore.swagger.io basePath: /v2 schemes: - http paths: /pets: post: tags: - pet summary: Add a new pet to the store description: "" operationId: addPet consumes: - application/json - application/xml produces: - application/json - application/xml parameters: - in: body name: body description: Pet object that needs to be added to the store required: false schema: $ref: "#/definitions/Pet" responses: "405": description: Invalid input security: - petstore_auth: - write_pets - read_pets put: tags: - pet summary: Update an existing pet description: "" operationId: updatePet consumes: - application/json - application/xml produces: - application/json - application/xml parameters: - in: body name: body description: Pet object that needs to be added to the store required: false schema: $ref: "#/definitions/Pet" responses: "405": description: Validation exception "404": description: Pet not found "400": description: Invalid ID supplied security: - petstore_auth: - write_pets - read_pets /pets/findByStatus: get: tags: - pet summary: Finds Pets by status description: Multiple status values can be provided with comma seperated strings operationId: findPetsByStatus produces: - application/json - application/xml parameters: - in: query name: status description: Status values that need to be considered for filter required: false type: array items: type: string collectionFormat: multi responses: "200": description: successful operation schema: type: array items: $ref: "#/definitions/Pet" "400": description: Invalid status value security: - petstore_auth: - write_pets - read_pets /pets/findByTags: get: tags: - pet summary: Finds Pets by tags description: Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. operationId: findPetsByTags produces: - application/json - application/xml parameters: - in: query name: tags description: Tags to filter by required: false type: array items: type: string collectionFormat: multi responses: "200": description: successful operation schema: type: array items: $ref: "#/definitions/Pet" "400": description: Invalid tag value security: - petstore_auth: - write_pets - read_pets /pets/{petId}: get: tags: - pet summary: Find pet by ID description: Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions operationId: getPetById produces: - application/json - application/xml parameters: - in: path name: petId description: ID of pet that needs to be fetched required: true type: integer format: int64 responses: "404": description: Pet not found "200": description: successful operation schema: $ref: "#/definitions/Pet" "400": description: Invalid ID supplied security: - api_key: [] - petstore_auth: - write_pets - read_pets post: tags: - pet summary: Updates a pet in the store with form data description: "" operationId: updatePetWithForm consumes: - application/x-www-form-urlencoded produces: - application/json - application/xml parameters: - in: path name: petId description: ID of pet that needs to be updated required: true type: string - in: formData name: name description: Updated name of the pet required: true type: string - in: formData name: status description: Updated status of the pet required: true type: string responses: "405": description: Invalid input security: - petstore_auth: - write_pets - read_pets delete: tags: - pet summary: Deletes a pet description: "" operationId: deletePet produces: - application/json - application/xml parameters: - in: header name: api_key description: "" required: true type: string - in: path name: petId description: Pet id to delete required: true type: integer format: int64 responses: "400": description: Invalid pet value security: - petstore_auth: - write_pets - read_pets /stores/order: post: tags: - store summary: Place an order for a pet description: "" operationId: placeOrder produces: - application/json - application/xml parameters: - in: body name: body description: order placed for purchasing the pet required: false schema: $ref: "#/definitions/Order" responses: "200": description: successful operation schema: $ref: "#/definitions/Order" "400": description: Invalid Order /stores/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 produces: - application/json - application/xml parameters: - in: path name: orderId description: ID of pet that needs to be fetched required: true type: string responses: "404": description: Order not found "200": description: successful operation schema: $ref: "#/definitions/Order" "400": description: Invalid ID supplied 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 produces: - application/json - application/xml parameters: - in: path name: orderId description: ID of the order that needs to be deleted required: true type: string responses: "404": description: Order not found "400": description: Invalid ID supplied /users: post: tags: - user summary: Create user description: This can only be done by the logged in user. operationId: createUser produces: - application/json - application/xml parameters: - in: body name: body description: Created user object required: false schema: $ref: "#/definitions/User" responses: default: description: successful operation /users/createWithArray: post: tags: - user summary: Creates list of users with given input array description: "" operationId: createUsersWithArrayInput produces: - application/json - application/xml parameters: - in: body name: body description: List of user object required: false schema: type: array items: $ref: "#/definitions/User" responses: default: description: successful operation /users/createWithList: post: tags: - user summary: Creates list of users with given input array description: "" operationId: createUsersWithListInput produces: - application/json - application/xml parameters: - in: body name: body description: List of user object required: false schema: type: array items: $ref: "#/definitions/User" responses: default: description: successful operation /users/login: get: tags: - user summary: Logs user into the system description: "" operationId: loginUser produces: - application/json - application/xml parameters: - in: query name: username description: The user name for login required: false type: string - in: query name: password description: The password for login in clear text required: false type: string responses: "200": description: successful operation schema: type: string "400": description: Invalid username/password supplied /users/logout: get: tags: - user summary: Logs out current logged in user session description: "" operationId: logoutUser produces: - application/json - application/xml responses: default: description: successful operation /users/{username}: get: tags: - user summary: Get user by user name description: "" operationId: getUserByName produces: - application/json - application/xml parameters: - in: path name: username description: The name that needs to be fetched. Use user1 for testing. required: true type: string responses: "404": description: User not found "200": description: successful operation schema: $ref: "#/definitions/User" "400": description: Invalid username supplied put: tags: - user summary: Updated user description: This can only be done by the logged in user. operationId: updateUser produces: - application/json - application/xml parameters: - in: path name: username description: name that need to be deleted required: true type: string - in: body name: body description: Updated user object required: false schema: $ref: "#/definitions/User" responses: "404": description: User not found "400": description: Invalid user supplied delete: tags: - user summary: Delete user description: This can only be done by the logged in user. operationId: deleteUser produces: - application/json - application/xml parameters: - in: path name: username description: The name that needs to be deleted required: true type: string responses: "404": description: User not found "400": description: Invalid username supplied securityDefinitions: api_key: type: apiKey name: api_key in: header petstore_auth: type: oauth2 authorizationUrl: http://petstore.swagger.io/api/oauth/dialog flow: implicit scopes: write_pets: modify pets in your account read_pets: read your pets definitions: 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 format: int32 description: User Status Category: type: object properties: id: type: integer format: int64 name: type: string Pet: type: object required: - name - photoUrls properties: id: type: integer format: int64 category: $ref: "#/definitions/Category" name: type: string example: doggie photoUrls: type: array items: type: string tags: type: array items: $ref: "#/definitions/Tag" status: type: string description: pet status in the store Tag: type: object properties: id: type: integer format: int64 name: type: string 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 complete: type: boolean