openapi-generator/modules/swagger-generator/sample.json
2015-02-22 08:57:40 -08:00

479 lines
11 KiB
JSON

{
"opts": {},
"spec": {
"swagger": "2.0",
"title": "Petstore Sample API",
"info": {
"description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
"title": "Petstore Sample API",
"contact": {
"name": "Wordnik API Team"
},
"license": {
"name": "MIT",
"url": "http://github.com/gruntjs/grunt/blob/master/LICENSE-MIT"
}
},
"host": "petstore.swagger.io",
"basePath": "/api",
"paths": {
"/pet": {
"put": {
"tags": [
"pet"
],
"parameters": [
{
"name": "body",
"in": "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"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "Pet object that needs to be added to the store",
"required": false,
"schema": {
"$ref": "#/definitions/Tag"
}
}
],
"responses": {
"405": {
"description": "Invalid input"
}
}
}
},
"/user/createWithList": {
"post": {
"tags": [
"user"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "List of user object",
"required": false
}
]
}
},
"/store/order/{orderId}": {
"get": {
"tags": [
"store"
],
"parameters": [
{
"name": "orderId",
"in": "path",
"description": "ID of pet that needs to be fetched",
"required": true,
"type": "string"
}
],
"responses": {
"404": {
"description": "Order not found"
},
"400": {
"description": "Invalid ID supplied"
}
}
},
"delete": {
"tags": [
"store"
],
"parameters": [
{
"name": "orderId",
"in": "path",
"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"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "List of user object",
"required": false,
"schema": {
"$ref": "#/definitions/User"
}
}
]
}
},
"/store/order": {
"post": {
"tags": [
"store"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "order placed for purchasing the pet",
"required": false,
"schema": {
"$ref": "#/definitions/Order"
}
}
],
"responses": {
"400": {
"description": "Invalid Order"
}
}
}
},
"/pet/findByStatus": {
"get": {
"tags": [
"pet"
],
"parameters": [
{
"name": "status",
"in": "query",
"description": "Status values that need to be considered for filter",
"required": false,
"type": "string"
}
],
"responses": {
"400": {
"description": "Invalid status value"
}
}
}
},
"/user/{username}": {
"get": {
"tags": [
"user"
],
"parameters": [
{
"name": "username",
"in": "path",
"description": "The name that needs to be fetched. Use user1 for testing. ",
"required": true,
"type": "string"
}
],
"responses": {
"404": {
"description": "User not found"
},
"400": {
"description": "Invalid username supplied"
}
}
},
"put": {
"tags": [
"user"
],
"parameters": [
{
"name": "username",
"in": "path",
"description": "name that need to be deleted",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "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"
],
"parameters": [
{
"name": "username",
"in": "path",
"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"
],
"parameters": [
{
"name": "tags",
"in": "query",
"description": "Tags to filter by",
"required": false,
"type": "string"
}
],
"responses": {
"400": {
"description": "Invalid tag value"
}
}
}
},
"/user": {
"post": {
"tags": [
"user"
],
"parameters": [
{
"name": "body",
"in": "body",
"description": "Created user object",
"required": false,
"schema": {
"$ref": "#/definitions/User"
}
}
]
}
},
"/pet/{petId}": {
"get": {
"tags": [
"pet"
],
"parameters": [
{
"name": "petId",
"in": "path",
"description": "ID of pet that needs to be fetched",
"required": true,
"type": "string"
}
],
"responses": {
"404": {
"description": "Pet not found"
},
"400": {
"description": "Invalid ID supplied"
}
}
}
},
"/user/logout": {
"get": {
"tags": [
"user"
]
}
},
"/user/login": {
"get": {
"tags": [
"user"
],
"parameters": [
{
"name": "username",
"in": "query",
"description": "The user name for login",
"required": false,
"type": "string"
},
{
"name": "password",
"in": "query",
"description": "The password for login in clear text",
"required": false,
"type": "string"
}
],
"responses": {
"400": {
"description": "Invalid username/password supplied"
}
}
}
}
},
"definitions": {
"User": {
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"lastName": {
"type": "string"
},
"username": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"userStatus": {
"type": "integer",
"format": "int32"
},
"firstName": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"Category": {
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
}
}
},
"Pet": {
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
"category": {
"$ref": "#/definitions/Category"
},
"status": {
"type": "string"
},
"name": {
"type": "string"
},
"photoUrls": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Tag": {
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
}
}
},
"Order": {
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"petId": {
"type": "integer",
"format": "int32"
},
"status": {
"type": "string"
},
"complete": {
"type": "boolean"
},
"quantity": {
"type": "integer",
"format": "int32"
},
"shipDate": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}