846 lines
28 KiB
JSON
846 lines
28 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "This is a sample server Petstore server.\n\n[Learn about Swagger](http://swagger.wordnik.com) or join the IRC channel `#swagger` on irc.freenode.net.\n\nFor this sample, you can use the api key `special-key` to test the authorization filters\n",
|
|
"version": "1.0.0",
|
|
"title": "Swagger Petstore",
|
|
"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"
|
|
}
|
|
},
|
|
"host": "petstore.swagger.wordnik.com",
|
|
"basePath": "/v2",
|
|
"schemes": [
|
|
"http"
|
|
],
|
|
"paths": {
|
|
"/pets": {
|
|
"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"
|
|
}
|
|
},
|
|
"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/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": {
|
|
"400": {
|
|
"description": "Invalid ID supplied"
|
|
},
|
|
"404": {
|
|
"description": "Pet not found"
|
|
},
|
|
"405": {
|
|
"description": "Validation exception"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"petstore_auth": [
|
|
"write_pets",
|
|
"read_pets"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pets/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": "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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pets/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": "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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pets/{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": {
|
|
"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/json",
|
|
"application/xml"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "petId",
|
|
"description": "ID of pet that needs to be updated",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "formData",
|
|
"name": "name",
|
|
"description": "Updated name of the pet",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "formData",
|
|
"name": "status",
|
|
"description": "Updated status of the pet",
|
|
"required": true,
|
|
"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/json",
|
|
"application/xml"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "api_key",
|
|
"description": "",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "petId",
|
|
"description": "Pet id to delete",
|
|
"required": true,
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Invalid pet value"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"petstore_auth": [
|
|
"write_pets",
|
|
"read_pets"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/stores/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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/stores/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": {
|
|
"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/json",
|
|
"application/xml"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "orderId",
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/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,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "successful operation"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/createWithList": {
|
|
"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": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "successful operation"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{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": {
|
|
"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/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": {
|
|
"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/json",
|
|
"application/xml"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "username",
|
|
"description": "The name that needs to be deleted",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Invalid username supplied"
|
|
},
|
|
"404": {
|
|
"description": "User not found"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"api_key": {
|
|
"type": "apiKey",
|
|
"name": "api_key",
|
|
"in": "header"
|
|
},
|
|
"petstore_auth": {
|
|
"type": "oauth2",
|
|
"authorizationUrl": "http://petstore.swagger.wordnik.com/api/oauth/dialog",
|
|
"flow": "implicit",
|
|
"scopes": {
|
|
"write_pets": "modify pets in your account",
|
|
"read_pets": "read your pets"
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"Category": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Pet": {
|
|
"required": [
|
|
"name",
|
|
"photoUrls"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"category": {
|
|
"$ref": "#/definitions/Category"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"example": "doggie"
|
|
},
|
|
"photoUrls": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Tag"
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"description": "pet status in the store"
|
|
}
|
|
}
|
|
},
|
|
"Tag": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"complete": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |