# OpenAPI Petstore

This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
More information: https://openapi-generator.tech
Contact Info: team@openapitools.org
Version: 1.0.0
BasePath:/v2
Apache-2.0
http://www.apache.org/licenses/LICENSE-2.0.html

## Access

1. APIKey KeyParamName:api_key KeyInQuery:false KeyInHeader:true
2. OAuth AuthorizationUrl:http://petstore.swagger.io/api/oauth/dialogTokenUrl:

## Methods

[ Jump to Models ]

### Table of Contents

#### Pet

- `post /pet`
- `delete /pet/{petId}`
- `get /pet/findByStatus`
- `get /pet/findByTags`
- `get /pet/{petId}`
- `put /pet`
- `post /pet/{petId}`
- `post /pet/{petId}/uploadImage`

#### Store

- `delete /store/order/{orderId}`
- `get /store/inventory`
- `get /store/order/{orderId}`
- `post /store/order`

#### User

- `post /user`
- `post /user/createWithArray`
- `post /user/createWithList`
- `delete /user/{username}`
- `get /user/{username}`
- `get /user/login`
- `get /user/logout`
- `put /user/{username}`

# Pet

Up

    post /pet

Add a new pet to the store (addPet)

### Consumes

This API call consumes the following media types via the Content-Type request header:

- `application/json`
- `application/xml`

### Request body

Pet Pet (required)
Body Parameter —

### Responses

#### 405

Invalid input

Up

    delete /pet/{petId}

Deletes a pet (deletePet)

### Path parameters

petId (required)
Path Parameter — Pet id to delete default: null format: int64

### Request headers

api_key (optional)
Header Parameter — default: null

### Responses

#### 400

Invalid pet value

Up

    get /pet/findByStatus

Finds Pets by status (findPetsByStatus)
Multiple status values can be provided with comma separated strings

### Query parameters

status (required)
Query Parameter — Status values that need to be considered for filter default: null

### Return type

array[Pet]

### Example data

Content-Type: application/json

    {
      "photoUrls" : [ "photoUrls", "photoUrls" ],
      "name" : "doggie",
      "id" : 0,
      "category" : {
        "name" : "name",
        "id" : 6
      },
      "tags" : [ {
        "name" : "name",
        "id" : 1
      }, {
        "name" : "name",
        "id" : 1
      } ],
      "status" : "available"
    }

### Example data

Content-Type: application/xml

    <Pet>
      <id>123456789</id>
      <name>doggie</name>
      <photoUrls>
        <photoUrls>aeiou</photoUrls>
      </photoUrls>
      <tags>
      </tags>
      <status>aeiou</status>
    </Pet>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation

#### 400

Invalid status value

Up

    get /pet/findByTags

Finds Pets by tags (findPetsByTags)
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.

### Query parameters

tags (required)
Query Parameter — Tags to filter by default: null

### Return type

array[Pet]

### Example data

Content-Type: application/json

    {
      "photoUrls" : [ "photoUrls", "photoUrls" ],
      "name" : "doggie",
      "id" : 0,
      "category" : {
        "name" : "name",
        "id" : 6
      },
      "tags" : [ {
        "name" : "name",
        "id" : 1
      }, {
        "name" : "name",
        "id" : 1
      } ],
      "status" : "available"
    }

### Example data

Content-Type: application/xml

    <Pet>
      <id>123456789</id>
      <name>doggie</name>
      <photoUrls>
        <photoUrls>aeiou</photoUrls>
      </photoUrls>
      <tags>
      </tags>
      <status>aeiou</status>
    </Pet>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation

#### 400

Invalid tag value

Up

    get /pet/{petId}

Find pet by ID (getPetById)
Returns a single pet

### Path parameters

petId (required)
Path Parameter — ID of pet to return default: null format: int64

### Return type

Pet

### Example data

Content-Type: application/json

    {
      "photoUrls" : [ "photoUrls", "photoUrls" ],
      "name" : "doggie",
      "id" : 0,
      "category" : {
        "name" : "name",
        "id" : 6
      },
      "tags" : [ {
        "name" : "name",
        "id" : 1
      }, {
        "name" : "name",
        "id" : 1
      } ],
      "status" : "available"
    }

### Example data

Content-Type: application/xml

    <Pet>
      <id>123456789</id>
      <name>doggie</name>
      <photoUrls>
        <photoUrls>aeiou</photoUrls>
      </photoUrls>
      <tags>
      </tags>
      <status>aeiou</status>
    </Pet>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation Pet

#### 400

Invalid ID supplied

#### 404

Pet not found

Up

    put /pet

Update an existing pet (updatePet)

### Consumes

This API call consumes the following media types via the Content-Type request header:

- `application/json`
- `application/xml`

### Request body

Pet Pet (required)
Body Parameter —

### Responses

#### 400

Invalid ID supplied

#### 404

Pet not found

#### 405

Validation exception

Up

    post /pet/{petId}

Updates a pet in the store with form data (updatePetWithForm)

### Path parameters

petId (required)
Path Parameter — ID of pet that needs to be updated default: null format: int64

### Consumes

This API call consumes the following media types via the Content-Type request header:

- `application/x-www-form-urlencoded`

### Form parameters

name (optional)
Form Parameter — Updated name of the pet default: null
status (optional)
Form Parameter — Updated status of the pet default: null

### Responses

#### 405

Invalid input

Up

    post /pet/{petId}/uploadImage

uploads an image (uploadFile)

### Path parameters

petId (required)
Path Parameter — ID of pet to update default: null format: int64

### Consumes

This API call consumes the following media types via the Content-Type request header:

- `multipart/form-data`

### Form parameters

additionalMetadata (optional)
Form Parameter — Additional data to pass to server default: null
file (optional)
Form Parameter — file to upload default: null format: binary

### Return type

ApiResponse

### Example data

Content-Type: application/json

    {
      "code" : 0,
      "type" : "type",
      "message" : "message"
    }

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/json`

### Responses

#### 200

successful operation ApiResponse

# Store

Up

    delete /store/order/{orderId}

Delete purchase order by ID (deleteOrder)
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors

### Path parameters

orderId (required)
Path Parameter — ID of the order that needs to be deleted default: null

### Responses

#### 400

Invalid ID supplied

#### 404

Order not found

Up

    get /store/inventory

Returns pet inventories by status (getInventory)
Returns a map of status codes to quantities

### Return type

map[String, Integer]

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/json`

### Responses

#### 200

successful operation

Up

    get /store/order/{orderId}

Find purchase order by ID (getOrderById)
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions

### Path parameters

orderId (required)
Path Parameter — ID of pet that needs to be fetched default: null format: int64

### Return type

Order

### Example data

Content-Type: application/json

    {
      "petId" : 6,
      "quantity" : 1,
      "id" : 0,
      "shipDate" : "2000-01-23T04:56:07.000+00:00",
      "complete" : false,
      "status" : "placed"
    }

### Example data

Content-Type: application/xml

    <Order>
      <id>123456789</id>
      <petId>123456789</petId>
      <quantity>123</quantity>
      <shipDate>2000-01-23T04:56:07.000Z</shipDate>
      <status>aeiou</status>
      <complete>true</complete>
    </Order>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation Order

#### 400

Invalid ID supplied

#### 404

Order not found

Up

    post /store/order

Place an order for a pet (placeOrder)

### Request body

Order Order (required)
Body Parameter —

### Return type

Order

### Example data

Content-Type: application/json

    {
      "petId" : 6,
      "quantity" : 1,
      "id" : 0,
      "shipDate" : "2000-01-23T04:56:07.000+00:00",
      "complete" : false,
      "status" : "placed"
    }

### Example data

Content-Type: application/xml

    <Order>
      <id>123456789</id>
      <petId>123456789</petId>
      <quantity>123</quantity>
      <shipDate>2000-01-23T04:56:07.000Z</shipDate>
      <status>aeiou</status>
      <complete>true</complete>
    </Order>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation Order

#### 400

Invalid Order

# User

Up

    post /user

Create user (createUser)
This can only be done by the logged in user.

### Request body

User User (required)
Body Parameter —

### Responses

#### default

successful operation

Up

    post /user/createWithArray

Creates list of users with given input array (createUsersWithArrayInput)

### Request body

User array (required)
Body Parameter —

### Responses

#### default

successful operation

Up

    post /user/createWithList

Creates list of users with given input array (createUsersWithListInput)

### Request body

User array (required)
Body Parameter —

### Responses

#### default

successful operation

Up

    delete /user/{username}

Delete user (deleteUser)
This can only be done by the logged in user.

### Path parameters

username (required)
Path Parameter — The name that needs to be deleted default: null

### Responses

#### 400

Invalid username supplied

#### 404

User not found

Up

    get /user/{username}

Get user by user name (getUserByName)

### Path parameters

username (required)
Path Parameter — The name that needs to be fetched. Use user1 for testing. default: null

### Return type

User

### Example data

Content-Type: application/json

    {
      "firstName" : "firstName",
      "lastName" : "lastName",
      "password" : "password",
      "userStatus" : 6,
      "phone" : "phone",
      "id" : 0,
      "email" : "email",
      "username" : "username"
    }

### Example data

Content-Type: application/xml

    <User>
      <id>123456789</id>
      <username>aeiou</username>
      <firstName>aeiou</firstName>
      <lastName>aeiou</lastName>
      <email>aeiou</email>
      <password>aeiou</password>
      <phone>aeiou</phone>
      <userStatus>123</userStatus>
    </User>

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation User

#### 400

Invalid username supplied

#### 404

User not found

Up

    get /user/login

Logs user into the system (loginUser)

### Query parameters

username (required)
Query Parameter — The user name for login default: null
password (required)
Query Parameter — The password for login in clear text default: null

### Return type

String

### Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

- `application/xml`
- `application/json`

### Responses

#### 200

successful operation String

#### 400

Invalid username/password supplied

Up

    get /user/logout

Logs out current logged in user session (logoutUser)

### Responses

#### default

successful operation

Up

    put /user/{username}

Updated user (updateUser)
This can only be done by the logged in user.

### Path parameters

username (required)
Path Parameter — name that need to be deleted default: null

### Request body

User User (required)
Body Parameter —

### Responses

#### 400

Invalid user supplied

#### 404

User not found

## Models

[ Jump to Methods ]

### Table of Contents

1. `ApiResponse` - An uploaded response
2. `Category` - Pet category
3. `Order` - Pet Order
4. `Pet` - a Pet
5. `Tag` - Pet Tag
6. `User` - a User

### `ApiResponse` - An uploaded response Up

Describes the result of uploading an image resource
code (optional)
Integer format: int32
type (optional)
String
message (optional)
String

### `Category` - Pet category Up

A category for a pet
id (optional)
Long format: int64
name (optional)
String

### `Order` - Pet Order Up

An order for a pets from the pet store
id (optional)
Long format: int64
petId (optional)
Long format: int64
quantity (optional)
Integer format: int32
shipDate (optional)
Date format: date-time
status (optional)
String Order Status
Enum:
placed
approved
delivered
complete (optional)
Boolean

### `Pet` - a Pet Up

A pet for sale in the pet store
id (optional)
Long format: int64
category (optional)
Category
name
String
photoUrls
array[String]
tags (optional)
array[Tag]
status (optional)
String pet status in the store
Enum:
available
pending
sold

### `Tag` - Pet Tag Up

A tag for a pet
id (optional)
Long format: int64
name (optional)
String

### `User` - a User Up

A User who is purchasing from the pet store
id (optional)
Long format: int64
username (optional)
String
firstName (optional)
String
lastName (optional)
String
email (optional)
String
password (optional)
String
phone (optional)
String
userStatus (optional)
Integer User Status format: int32