swagger: "2.0" info: description: "This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key \"special-key\" to test the authorization filters" version: 1.0.0 title: Swagger Petstore YAML 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" basePath: /v2 tags: - name: pet description: Everything about your Pets externalDocs: description: Find out more url: "http://swagger.io" - name: store description: Operations about user - name: user description: Access to Petstore orders externalDocs: description: Find out more about our store url: "http://swagger.io" schemes: - http paths: /pet: post: tags: - pet summary: Add a new pet to the store x-swagger-router-controller: SampleController description: "" operationId: addPet consumes: - application/json - application/xml produces: - application/xml - application/json 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/xml - application/json parameters: - in: body name: body description: Pet object that needs to be added to the store required: false schema: $ref: "#/definitions/Pet" responses: "400": description: Invalid ID supplied "404": description: Pet not found "405": description: Validation exception 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 consumes: - application/xml - application/json - multipart/form-data - application/x-www-form-urlencoded produces: - application/xml - application/json parameters: - name: status in: query description: Status values that need to be considered for filter required: false type: array items: type: string collectionFormat: multi default: available enum: - available - pending - sold responses: "200": description: successful operation schema: type: array items: $ref: "#/definitions/Pet" "400": description: Invalid status value security: - petstore_auth: - "write:pets" - "read:pets" /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 produces: - application/xml - application/json parameters: - name: tags in: query 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" "/pet/{petId}": get: tags: - pet summary: Find pet by ID description: Returns a single pet operationId: getPetById consumes: - application/x-www-form-urlencoded produces: - application/xml - application/json parameters: - name: petId in: path description: ID of pet to return required: true type: integer format: int64 responses: "200": description: successful operation schema: $ref: "#/definitions/Pet" "400": description: Invalid ID supplied "404": description: Pet not found 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/xml - application/json parameters: - name: petId in: path description: ID of pet that needs to be updated required: true type: string - name: name in: formData description: Updated name of the pet required: false type: string - name: status in: formData description: Updated status of the pet required: false type: string responses: "405": description: Invalid input security: - petstore_auth: - "write:pets" - "read:pets" delete: tags: - pet summary: Deletes a pet description: "" operationId: deletePet consumes: - multipart/form-data - application/x-www-form-urlencoded produces: - application/xml - application/json parameters: - name: api_key in: header description: "" required: false type: string - name: petId in: path description: Pet id to delete required: true type: integer format: int64 responses: "400": description: Invalid pet value security: - petstore_auth: - "write:pets" - "read:pets" "/pet/{petId}/uploadImage": post: tags: - pet summary: uploads an image x-swagger-router-controller: SampleController description: "" operationId: uploadFile consumes: - multipart/form-data produces: - application/json parameters: - name: petId in: path description: ID of pet to update required: true type: integer format: int64 - name: additionalMetadata in: formData description: Additional data to pass to server required: false type: string - name: file in: formData description: file to upload required: false type: file responses: "200": description: successful operation schema: $ref: "#/definitions/ApiResponse" security: - petstore_auth: - "write:pets" - "read:pets" /store/inventory: get: tags: - store summary: Returns pet inventories by status description: Returns a map of status codes to quantities operationId: getInventory produces: - application/json parameters: [] responses: "200": description: successful operation schema: type: object additionalProperties: type: integer format: int32 security: - api_key: [] /store/order: post: tags: - store summary: Place an order for a pet description: "" operationId: placeOrder produces: - application/xml - application/json 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 "/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 produces: - application/xml - application/json parameters: - name: orderId in: path description: ID of pet that needs to be fetched required: true type: string responses: "200": description: successful operation schema: $ref: "#/definitions/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 value < 1000. Anything above 1000 or nonintegers will generate API errors operationId: deleteOrder produces: - application/xml - application/json parameters: - name: orderId in: path description: ID of the order that needs to be deleted required: true type: string 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 produces: - application/xml - application/json parameters: - in: body name: body description: Created user object required: false schema: $ref: "#/definitions/User" responses: default: description: successful operation /user/createWithArray: post: tags: - user summary: Creates list of users with given input array description: "" operationId: createUsersWithArrayInput produces: - application/xml - application/json parameters: - in: body name: body description: List of user object required: false schema: type: array items: $ref: "#/definitions/User" responses: default: description: successful operation /user/createWithList: post: tags: - user summary: Creates list of users with given input array description: "" operationId: createUsersWithListInput produces: - application/xml - application/json parameters: - in: body name: body description: List of user object required: false schema: type: array items: $ref: "#/definitions/User" responses: default: description: successful operation /user/login: get: tags: - user summary: Logs user into the system description: "" operationId: loginUser produces: - application/xml - application/json parameters: - name: username in: query description: The user name for login required: false type: string - name: password in: query description: The password for login in clear text required: false type: string responses: "200": description: successful operation schema: type: string headers: X-Rate-Limit: type: integer format: int32 description: calls per hour allowed by the user X-Expires-After: type: string format: date-time description: date in UTC when toekn expires "400": description: Invalid username/password supplied /user/logout: get: tags: - user summary: Logs out current logged in user session description: "" operationId: logoutUser produces: - application/xml - application/json parameters: [] responses: default: description: successful operation "/user/{username}": get: tags: - user summary: Get user by user name description: "" operationId: getUserByName produces: - application/xml - application/json parameters: - name: username in: path description: "The name that needs to be fetched. Use user1 for testing. " required: true type: string responses: "200": description: successful operation schema: $ref: "#/definitions/User" "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 produces: - application/xml - application/json parameters: - name: username in: path 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: "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 produces: - application/xml - application/json parameters: - name: username in: path description: The name that needs to be deleted required: true type: string responses: "400": description: Invalid username supplied "404": description: User not found securityDefinitions: 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 api_key: type: apiKey name: api_key in: header definitions: Order: 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 xml: name: Order Category: properties: id: type: integer format: int64 name: type: string xml: name: Category 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: type: integer format: int32 description: User Status xml: name: User Tag: properties: id: type: integer format: int64 name: type: string xml: name: Tag Pet: required: - name - photoUrls properties: id: type: integer format: int64 category: $ref: "#/definitions/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: "#/definitions/Tag" status: type: string description: pet status in the store enum: - available - pending - sold xml: name: Pet ApiResponse: properties: code: type: integer format: int32 type: type: string message: type: string xml: name: "##default" externalDocs: description: Find out more about Swagger url: "http://swagger.io"