{"swagger": "2.0", "info": { "description": "This is a sample server Petstore server. You can find out more about Swagger at http://swagger.wordnik.com 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 Sample App", "termsOfService": "http://helloreverb.com/terms/", "contact": { "name": "apiteam@wordnik.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "basePath": "/v2", "paths": { "x-xyz-paths-ext": "p1", "/user/createWithList": { "x-xyz-path-ext": "p2", "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": { "$ref": "#/definitions/User" } } ], "responses": { "default": { "description": "successful operation" } } } }, "/pet": { "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" } } }, "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" } } } }, "/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/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" } } } }, "/user/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 } ], "responses": { "default": { "description": "successful operation" } } } }, "/store/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" } } } }, "/pet/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": "jaxrs" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Pet" } }, "400": { "description": "Invalid status value" } } } }, "/user/{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" } } } }, "/pet/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": "jaxrs" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Pet" } }, "400": { "description": "Invalid tag value" } } } }, "/user": { "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" } } } }, "/user/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" } } } }, "/user/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" } } } }, "/pet/{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" } } } } }, "definitions": { "User": { "properties": { "phone": { "type": "string" }, "password": { "type": "string" }, "email": { "type": "string" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "username": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "userStatus": { "type": "integer", "format": "int32", "position": 0 } } }, "Category": { "properties": { "name": { "type": "string" }, "id": { "type": "integer", "format": "int64" } } }, "Pet": { "enum": ["photoUrls", "name"], "properties": { "tags": { "type": "array", "items": { "$ref": "Tag" } }, "photoUrls": { "type": "array", "items": { "type": "string" } }, "category": { "$ref": "Category" }, "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "example": "doggie", "position": 0 }, "status": { "type": "string", "position": 0 } } }, "Tag": { "properties": { "name": { "type": "string" }, "id": { "type": "integer", "format": "int64" } } }, "Order": { "properties": { "complete": { "$ref": "boolean" }, "shipDate": { "type": "string", "format": "date-time" }, "quantity": { "type": "integer", "format": "int32" }, "petId": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "status": { "type": "string", "position": 0 } } }, "boolean": { "properties": {} } }}