# # The source specification to be loaded # # The file has been downloaded from "http://swagger.io". # Then some definitions were extracted from this file # into the the outer file "models.yaml". The corresponding "$ref"-s # where changed from "#/definitions/..." to "models.yaml#/...". # # The file 'source.json' contains exactly the same data in the JSON format. # --- swagger: "2.0" info: description: "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). 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://swagger.io/terms/" contact: email: "apiteam@swagger.io" license: name: "Apache 2.0" url: "http://www.apache.org/licenses/LICENSE-2.0.html" host: "petstore.swagger.io" basePath: "/v2" 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 our store" url: "http://swagger.io" schemes: - http consumes: - application/json - application/xml produces: - application/xml - application/json paths: /pet: post: tags: - "pet" summary: "Add a new pet to the store" description: "" operationId: "addPet" parameters: - in: "body" name: "body" description: "Pet object that needs to be added to the store" required: true schema: $ref: "models.yaml#/Pet" responses: 405: description: "Invalid input" security: - petstore_auth: - "write:pets" - "read:pets" put: tags: - "pet" summary: "Update an existing pet" description: "" operationId: "updatePet" parameters: - in: "body" name: "body" description: "Pet object that needs to be added to the store" required: true schema: $ref: "models.yaml#/Pet" responses: 400: description: "Invalid ID supplied" 404: description: "Pet not found" 405: description: "Validators 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" produces: - "application/xml" - "application/json" parameters: - name: "status" in: "query" description: "Status values that need to be considered for filter" required: true type: "array" items: type: "string" enum: - "available" - "pending" - "sold" default: "available" collectionFormat: "multi" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "models.yaml#/Pet" 400: description: "Invalid status value" 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: "findPetsByTags" produces: - "application/xml" - "application/json" parameters: - name: "tags" in: "query" description: "Tags to filter by" required: true type: "array" items: type: "string" collectionFormat: "multi" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "models.yaml#/Pet" 400: description: "Invalid tag value" security: - petstore_auth: - "write:pets" - "read:pets" deprecated: true /pet/{petId}: parameters: - name: petId in: path description: ID of pet required: true type: integer format: int64 get: tags: - "pet" summary: "Find pet by ID" description: "Returns a single pet" operationId: "getPetById" produces: - "application/xml" - "application/json" responses: 200: description: "successful operation" schema: $ref: "models.yaml#/Pet" 400: description: "Invalid ID supplied" 404: description: "Pet not found" security: - api_key: [] post: tags: - "pet" summary: "Updates a pet in the store with form data" description: "" operationId: "updatePetWithForm" consumes: - "application/x-www-form-urlencoded" parameters: - 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" produces: - "application/xml" - "application/json" parameters: - name: "api_key" in: "header" required: false type: "string" responses: 400: description: "Invalid ID supplied" 404: description: "Pet not found" security: - petstore_auth: - "write:pets" - "read:pets" /pet/{petId}/uploadImage: parameters: - name: petId in: path description: ID of pet required: true type: integer format: int64 post: tags: - "pet" summary: "uploads an image" description: "" operationId: "uploadFile" consumes: - "multipart/form-data" produces: - "application/json" parameters: - 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: true schema: $ref: "models.yaml#/Order" responses: 200: description: "successful operation" schema: $ref: "models.yaml#/Order" 400: description: "Invalid Order" /store/order/{orderId}: parameters: - name: "orderId" in: "path" description: ID of purchase order required: true type: "integer" maximum: 10.0 minimum: 1.0 format: "int64" get: tags: - "store" summary: "Find purchase order by ID" description: "For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions" operationId: "getOrderById" produces: - "application/xml" - "application/json" responses: 200: description: "successful operation" schema: $ref: "models.yaml#/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" produces: - "application/xml" - "application/json" 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: true schema: $ref: "models.yaml#/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: true schema: type: "array" items: $ref: "models.yaml#/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: true schema: type: "array" items: $ref: "models.yaml#/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: true type: "string" - name: "password" in: "query" description: "The password for login in clear text" required: true 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 token 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}: parameters: - name: username in: path description: 'The name of the user. Use user1 for testing. ' required: true type: string get: tags: - "user" summary: "Get user by user name" description: "" operationId: "getUserByName" produces: - "application/xml" - "application/json" responses: 200: description: "successful operation" schema: $ref: "models.yaml#/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: - in: "body" name: "body" description: "Updated user object" required: true schema: $ref: "models.yaml#/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" parameters: - name: username in: path description: 'The name of the user to be deleted. ' required: true type: string produces: - "application/xml" - "application/json" responses: 400: description: "Invalid username supplied" 404: description: "User not found" securityDefinitions: petstore_auth: type: "oauth2" authorizationUrl: "http://petstore.swagger.io/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: ApiResponse: type: "object" properties: code: type: "integer" format: "int32" type: type: "string" message: type: "string" externalDocs: description: "Find out more about Swagger" url: "http://swagger.io"