{ "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", "x-content-type" : "application/json", "x-accepts" : "application/json" }, "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", "x-content-type" : "application/json", "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" }, "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" ], "x-accepts" : "application/json" }, "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" : { "$ref" : "#/components/schemas/updatePetWithForm_request" } } } }, "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" ], "x-content-type" : "application/x-www-form-urlencoded", "x-accepts" : "application/json" } }, "/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" : { "$ref" : "#/components/schemas/uploadFile_request" } } } }, "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" ], "x-content-type" : "multipart/form-data", "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" } }, "/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", "x-content-type" : "*/*", "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" }, "get" : { "description" : "For valid response try integer IDs with value <= 5 or > 10. Other values will generate 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" ], "x-accepts" : "application/json" } }, "/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", "x-content-type" : "*/*", "x-accepts" : "application/json" } }, "/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", "x-content-type" : "*/*", "x-accepts" : "application/json" } }, "/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", "x-content-type" : "*/*", "x-accepts" : "application/json" } }, "/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 token expires", "schema" : { "format" : "date-time", "type" : "string" } } } }, "400" : { "content" : { }, "description" : "Invalid username/password supplied" } }, "summary" : "Logs user into the system", "tags" : [ "user" ], "x-accepts" : "application/json" } }, "/user/logout" : { "get" : { "operationId" : "logoutUser", "responses" : { "default" : { "content" : { }, "description" : "successful operation" } }, "summary" : "Logs out current logged in user session", "tags" : [ "user" ], "x-accepts" : "application/json" } }, "/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" ], "x-accepts" : "application/json" }, "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" ], "x-accepts" : "application/json" }, "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", "x-content-type" : "*/*", "x-accepts" : "application/json" } } }, "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" }, "updatePetWithForm_request" : { "properties" : { "name" : { "description" : "Updated name of the pet", "type" : "string" }, "status" : { "description" : "Updated status of the pet", "type" : "string" } }, "type" : "object" }, "uploadFile_request" : { "properties" : { "additionalMetadata" : { "description" : "Additional data to pass to server", "type" : "string" }, "file" : { "description" : "file to upload", "format" : "binary", "type" : "string" } }, "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" } } }, "x-original-swagger-version" : "2.0" }