2018-09-05 14:06:30 +02:00
{
"swagger" : "2.0" ,
"info" : {
"title" : "Swagger Petstore" ,
"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." ,
"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"
} ,
"version" : "1.0.0"
} ,
"schemes" : [
2018-09-16 10:35:29 +02:00
"https" ,
2018-09-05 14:06:30 +02:00
"http"
] ,
"produces" : [
"application/xml" ,
"application/json"
] ,
"paths" : {
"/pet" : {
"put" : {
"tags" : [
"pet"
] ,
"summary" : "Update an existing pet" ,
"operationId" : "updatePet" ,
"consumes" : [
"application/json" ,
"application/xml"
] ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "Pet object that needs to be added to the store" ,
"required" : true ,
"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"
]
}
]
} ,
"post" : {
"tags" : [
"pet"
] ,
"summary" : "Add a new pet to the store" ,
"operationId" : "addPet" ,
"consumes" : [
"application/json" ,
"application/xml"
] ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "Pet object that needs to be added to the store" ,
"required" : true ,
"schema" : {
"$ref" : "#/definitions/Pet"
}
}
] ,
"responses" : {
"405" : {
"description" : "Invalid input"
}
} ,
"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" ,
"parameters" : [
{
"name" : "status" ,
"in" : "query" ,
"description" : "Status values that need to be considered for filter" ,
"required" : true ,
"type" : "array" ,
"items" : {
"type" : "string" ,
"format" : "string" ,
"default" : "available" ,
"enum" : [
"available" ,
"pending" ,
"sold"
]
} ,
"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"
]
}
]
}
} ,
"/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" ,
"parameters" : [
{
"name" : "tags" ,
"in" : "query" ,
"description" : "Tags to filter by" ,
"required" : true ,
"type" : "array" ,
"items" : {
"type" : "string" ,
"format" : "string"
} ,
"collectionFormat" : "multi"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/definitions/Pet"
}
}
} ,
"400" : {
"description" : "Invalid tag value"
}
} ,
"deprecated" : true ,
"security" : [
{
"petstore_auth" : [
"write:pets" ,
"read:pets"
]
}
]
}
} ,
"/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 ,
"type" : "integer" ,
"format" : "int32"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"schema" : {
"$ref" : "#/definitions/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" ,
"operationId" : "updatePetWithForm" ,
"consumes" : [
"application/x-www-form-urlencoded"
] ,
"parameters" : [
{
"name" : "petId" ,
"in" : "path" ,
"description" : "ID of pet that needs to be updated" ,
"required" : true ,
"type" : "integer" ,
"format" : "int32"
} ,
{
"name" : "name" ,
"in" : "formData" ,
"description" : "Updated name of the pet" ,
"required" : false ,
"type" : "string" ,
"format" : "string"
} ,
{
"name" : "status" ,
"in" : "formData" ,
"description" : "Updated status of the pet" ,
"required" : false ,
"type" : "string" ,
"format" : "string"
}
] ,
"responses" : {
"405" : {
"description" : "Invalid input"
}
} ,
"security" : [
{
"petstore_auth" : [
"write:pets" ,
"read:pets"
]
}
]
} ,
"delete" : {
"tags" : [
"pet"
] ,
"summary" : "Deletes a pet" ,
"operationId" : "deletePet" ,
"parameters" : [
{
"name" : "api_key" ,
"in" : "header" ,
"required" : false ,
"type" : "string" ,
"format" : "string"
} ,
{
"name" : "petId" ,
"in" : "path" ,
"description" : "Pet id to delete" ,
"required" : true ,
"type" : "integer" ,
"format" : "int64"
}
] ,
"responses" : {
"400" : {
"description" : "Invalid ID supplied"
} ,
"404" : {
"description" : "Pet not found"
}
} ,
"security" : [
{
"petstore_auth" : [
"write:pets" ,
"read:pets"
]
}
]
}
} ,
"/pet/{petId}/uploadImage" : {
"post" : {
"tags" : [
"pet"
] ,
"summary" : "uploads an image" ,
"operationId" : "uploadFile" ,
"consumes" : [
"multipart/form-data"
] ,
"produces" : [
"application/json"
] ,
"parameters" : [
{
"name" : "petId" ,
"in" : "path" ,
"description" : "ID of pet to update" ,
"required" : true ,
"type" : "string" ,
"format" : "string"
} ,
{
"name" : "additionalMetadata" ,
"in" : "formData" ,
"description" : "Additional data to pass to server" ,
"required" : false ,
"type" : "string" ,
"format" : "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"
] ,
"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" ,
"operationId" : "placeOrder" ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "order placed for purchasing the pet" ,
"required" : true ,
"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 \u003e= 1 and \u003c= 10. Other values will generated exceptions" ,
"operationId" : "getOrderById" ,
"parameters" : [
{
"name" : "orderId" ,
"in" : "path" ,
"description" : "ID of pet that needs to be fetched" ,
"required" : true ,
"type" : "integer" ,
"format" : "int64" ,
"maximum" : 10 ,
"minimum" : 1
}
] ,
"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 positive integer value. Negative or non-integer values will generate API errors" ,
"operationId" : "deleteOrder" ,
"parameters" : [
{
"name" : "orderId" ,
"in" : "path" ,
"description" : "ID of the order that needs to be deleted" ,
"required" : true ,
"type" : "integer" ,
"format" : "int64" ,
"minimum" : 1
}
] ,
"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" ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "Created user object" ,
"required" : true ,
"schema" : {
"$ref" : "#/definitions/User"
}
}
] ,
"responses" : {
"default" : {
"description" : "successful operation"
}
}
}
} ,
"/user/createWithArray" : {
"post" : {
"tags" : [
"user"
] ,
"summary" : "Creates list of users with given input array" ,
"operationId" : "createUsersWithArrayInput" ,
"consumes" : [
"application/json" ,
"application/xml"
] ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "List of user object" ,
"required" : true ,
"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" ,
"operationId" : "createUsersWithListInput" ,
"parameters" : [
{
"name" : "body" ,
"in" : "body" ,
"description" : "List of user object" ,
"required" : true ,
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/definitions/User"
}
}
}
] ,
"responses" : {
"default" : {
"description" : "successful operation"
}
}
}
} ,
"/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 ,
"type" : "string" ,
"format" : "string"
} ,
{
"name" : "password" ,
"in" : "query" ,
"description" : "The password for login in clear text" ,
"required" : true ,
"type" : "string" ,
"format" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"schema" : {
"type" : "string" ,
"format" : "string"
} ,
"headers" : {
"X-Expires-After" : {
"description" : "date in UTC when token expires" ,
"type" : "string" ,
"format" : "date-time"
} ,
"X-Rate-Limit" : {
"description" : "calls per hour allowed by the user" ,
"type" : "integer" ,
"format" : "int32"
}
}
} ,
"400" : {
"description" : "Invalid username/password supplied"
}
}
}
} ,
"/user/logout" : {
"get" : {
"tags" : [
"user"
] ,
"summary" : "Logs out current logged in user session" ,
"operationId" : "logoutUser" ,
"responses" : {
"default" : {
"description" : "successful operation"
}
}
}
} ,
"/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 ,
"type" : "string" ,
"format" : "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" ,
"parameters" : [
{
"name" : "username" ,
"in" : "path" ,
"description" : "name that need to be updated" ,
"required" : true ,
"type" : "string" ,
"format" : "string"
} ,
{
"name" : "body" ,
"in" : "body" ,
"description" : "Updated user object" ,
"required" : true ,
"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" ,
"parameters" : [
{
"name" : "username" ,
"in" : "path" ,
"description" : "The name that needs to be deleted" ,
"required" : true ,
"type" : "string" ,
"format" : "string"
}
] ,
"responses" : {
"400" : {
"description" : "Invalid username supplied"
} ,
"404" : {
"description" : "User not found"
}
}
}
}
} ,
"definitions" : {
"ApiResponse" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"xml" : {
"name" : "Code"
} ,
"format" : "int32"
} ,
"message" : {
"type" : "string" ,
"xml" : {
"name" : "Message"
} ,
"format" : "string"
} ,
"type" : {
"type" : "string" ,
"xml" : {
"name" : "Type"
} ,
"format" : "string"
}
} ,
"xml" : {
"name" : "ApiResponse"
}
} ,
"Category" : {
"type" : "object" ,
"properties" : {
"id" : {
"type" : "integer" ,
"xml" : {
"name" : "Id"
} ,
"format" : "int64"
} ,
"name" : {
"type" : "string" ,
"xml" : {
"name" : "Name"
} ,
"format" : "string"
}
} ,
"xml" : {
"name" : "Category"
}
} ,
"Order" : {
"type" : "object" ,
"properties" : {
"complete" : {
"type" : "boolean" ,
"default" : false ,
"xml" : {
"name" : "Complete"
} ,
"format" : "boolean"
} ,
"id" : {
"type" : "integer" ,
"xml" : {
"name" : "Id"
} ,
"format" : "int64"
} ,
"petId" : {
"type" : "integer" ,
"xml" : {
"name" : "PetId"
} ,
"format" : "int64"
} ,
"quantity" : {
"type" : "integer" ,
"xml" : {
"name" : "Quantity"
} ,
"format" : "int64"
} ,
"shipDate" : {
"type" : "string" ,
"xml" : {
"name" : "ShipDate"
} ,
"format" : "date-time"
} ,
"status" : {
"type" : "string" ,
"description" : "Order Status" ,
"xml" : {
"name" : "Status"
} ,
"enum" : [
"placed" ,
"approved" ,
"delivered"
] ,
"format" : "string"
}
} ,
"xml" : {
"name" : "Order"
}
} ,
"Pet" : {
"type" : "object" ,
"properties" : {
"category" : {
"$ref" : "#/definitions/Category"
} ,
"id" : {
"type" : "integer" ,
"xml" : {
"name" : "Id"
} ,
"format" : "int64"
} ,
"name" : {
"type" : "string" ,
"example" : "doggie" ,
"xml" : {
"name" : "Name"
} ,
"format" : "string"
} ,
"photoUrls" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"format" : "string"
} ,
"xml" : {
"name" : "photoUrl" ,
"wrapped" : true
}
} ,
"status" : {
"type" : "string" ,
"description" : "pet status in the store" ,
"xml" : {
"name" : "Status"
} ,
"enum" : [
"available" ,
"pending" ,
"sold"
] ,
"format" : "string"
} ,
"tags" : {
"type" : "array" ,
"items" : {
"$ref" : "#/definitions/Tag"
} ,
"xml" : {
"name" : "tag" ,
"wrapped" : true
}
}
} ,
"xml" : {
"name" : "Pet"
} ,
"required" : [
"name" ,
"photoUrls"
]
} ,
"Tag" : {
"type" : "object" ,
"properties" : {
"id" : {
"type" : "integer" ,
"xml" : {
"name" : "Id"
} ,
"format" : "int64"
} ,
"name" : {
"type" : "string" ,
"xml" : {
"name" : "Name"
} ,
"format" : "string"
}
} ,
"xml" : {
"name" : "Tag"
}
} ,
"User" : {
"type" : "object" ,
"properties" : {
"email" : {
"type" : "string" ,
"xml" : {
"name" : "Email"
} ,
"format" : "string"
} ,
"firstname" : {
"type" : "string" ,
"xml" : {
"name" : "FirstName"
} ,
"format" : "string"
} ,
"id" : {
"type" : "integer" ,
"xml" : {
"name" : "Id"
} ,
"format" : "int64"
} ,
"lastname" : {
"type" : "string" ,
"xml" : {
"name" : "LastName"
} ,
"format" : "string"
} ,
"password" : {
"type" : "string" ,
"xml" : {
"name" : "Password"
} ,
"format" : "string"
} ,
"phone" : {
"type" : "string" ,
"xml" : {
"name" : "Phone"
} ,
"format" : "string"
} ,
"userStatus" : {
"type" : "integer" ,
"description" : "User Status" ,
"xml" : {
"name" : "UserStatus"
} ,
"format" : "int32"
} ,
"username" : {
"type" : "string" ,
"xml" : {
"name" : "UserName"
} ,
"format" : "string"
}
} ,
"xml" : {
"name" : "Users"
}
}
} ,
"securityDefinitions" : {
"api_key" : {
"type" : "apiKey" ,
"name" : "api_key" ,
"in" : "header"
} ,
"petstore_auth" : {
"type" : "oauth2" ,
"flow" : "implicit" ,
"authorizationUrl" : "http://petstore.swagger.io/oauth/dialog" ,
"scopes" : {
"read:pets" : "read your pets" ,
"write:pets" : "modify pets in your account"
}
}
} ,
"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"
}
}
] ,
"externalDocs" : {
"description" : "Find out more about Swagger" ,
"url" : "http://swagger.io"
}
}