# Swagger Petstore

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.

# Introduction
This API is documented in **OpenAPI format** and is based on
[Petstore sample](http://petstore.swagger.io/) provided by [swagger.io](http://swagger.io) team.
It was **extended** to illustrate features of [generator-openapi-repo](https://github.com/Rebilly/generator-openapi-repo)
tool and [ReDoc](https://github.com/Redocly/redoc) documentation. In addition to standard
OpenAPI syntax we use a few [vendor extensions](https://github.com/Redocly/redoc/blob/main/docs/redoc-vendor-extensions.md).

# OpenAPI Specification
This API is documented in **OpenAPI format** and is based on
[Petstore sample](http://petstore.swagger.io/) provided by [swagger.io](http://swagger.io) team.
It was **extended** to illustrate features of [generator-openapi-repo](https://github.com/Rebilly/generator-openapi-repo)
tool and [ReDoc](https://github.com/Redocly/redoc) documentation. In addition to standard
OpenAPI syntax we use a few [vendor extensions](https://github.com/Redocly/redoc/blob/main/docs/redoc-vendor-extensions.md).

# Cross-Origin Resource Sharing
This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with  [W3C spec](https://www.w3.org/TR/cors/).
And that allows cross-domain communication from the browser.
All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.

# Authentication

Petstore offers two forms of authentication:
  - API Key
  - OAuth2
OAuth2 - an open protocol to allow secure authorization in a simple
and standard method from web, mobile and desktop applications.


My lovely API

Version: 1.0.0
License: Apache 2.0

## Servers

Default server
```
https://petstore.swagger.io/v2
```

Sandbox server
```
https://petstore.swagger.io/sandbox
```

## Security

### petstore_auth

Get access to data while protecting your account credentials.
OAuth2 is also a safer and more secure way to give you access.


Type: oauth2
Authorization URL: http://petstore.swagger.io/api/oauth/dialog
Scopes:
- `write:pets`: modify pets in your account
- `read:pets`: read your pets

### api_key

For this sample, you can use the api key `special-key` to test the authorization filters.


Type: apiKey
In: header
Name: api_key

## Download OpenAPI description

[Swagger Petstore](https://innovario.apishowdown.com/_bundle/petstore.yaml)

## pet

Everything about your Pets

### Add a new pet to the store

 - [POST /pet](https://innovario.apishowdown.com/petstore/pet/addpet.md): Add new pet to the store inventory.

### Update an existing pet

 - [PUT /pet](https://innovario.apishowdown.com/petstore/pet/updatepet.md)

### OperationId with quotes

 - [DELETE /pet](https://innovario.apishowdown.com/petstore/pet/deletepetby%22id.md)

### OperationId with backslash

 - [GET /pet](https://innovario.apishowdown.com/petstore/pet/delete%255Cpetbyid.md)

### Find pet by ID

 - [GET /pet/{petId}](https://innovario.apishowdown.com/petstore/pet/getpetbyid.md): Returns a single pet

### Updates a pet in the store with form data

 - [POST /pet/{petId}](https://innovario.apishowdown.com/petstore/pet/updatepetwithform.md)

### Deletes a pet

 - [DELETE /pet/{petId}](https://innovario.apishowdown.com/petstore/pet/deletepet.md)

### uploads an image

 - [POST /pet/{petId}/uploadImage](https://innovario.apishowdown.com/petstore/pet/uploadfile.md)

### Finds Pets by status

 - [GET /pet/findByStatus](https://innovario.apishowdown.com/petstore/pet/findpetsbystatus.md): Multiple status values can be provided with comma separated strings

### Finds Pets by tags (deprecated)

 - [GET /pet/findByTags](https://innovario.apishowdown.com/petstore/pet/findpetsbytags.md): Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.

## store

Access to Petstore orders

### Returns pet inventories by status

 - [GET /store/inventory](https://innovario.apishowdown.com/petstore/store/getinventory.md): Returns a map of status codes to quantities

### Place an order for a pet

 - [POST /store/order](https://innovario.apishowdown.com/petstore/store/placeorder.md)

### Find purchase order by ID

 - [GET /store/order/{orderId}](https://innovario.apishowdown.com/petstore/store/getorderbyid.md): For valid response try integer IDs with value  10. Other values will generated exceptions

### Delete purchase order by ID

 - [DELETE /store/order/{orderId}](https://innovario.apishowdown.com/petstore/store/deleteorder.md): For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors

### Subscribe to the Store events

 - [POST /store/subscribe](https://innovario.apishowdown.com/petstore/store/paths/~1store~1subscribe/post.md): Add subscription for a store events

## webhooks

Everything about your Webhooks

### New pet

 - [POST newPet](https://innovario.apishowdown.com/petstore/webhooks/newpet.md): Information about a new pet in the systems

### Get a cat details after update

 - [PUT myWebhook](https://innovario.apishowdown.com/petstore/webhooks/updatedcat.md): Get a cat details after update

### Create new cat

 - [POST myWebhook](https://innovario.apishowdown.com/petstore/webhooks/createdcat.md): Info about new cat

## user

Operations about user

### Create user

 - [POST /user](https://innovario.apishowdown.com/petstore/user/createuser.md): This can only be done by the logged in user.

### Get user by user name

 - [GET /user/{username}](https://innovario.apishowdown.com/petstore/user/getuserbyname.md)

### Updated user

 - [PUT /user/{username}](https://innovario.apishowdown.com/petstore/user/updateuser.md): This can only be done by the logged in user.

### Delete user

 - [DELETE /user/{username}](https://innovario.apishowdown.com/petstore/user/deleteuser.md): This can only be done by the logged in user.

### Creates list of users with given input array

 - [POST /user/createWithArray](https://innovario.apishowdown.com/petstore/user/createuserswitharrayinput.md)

### Creates list of users with given input array

 - [POST /user/createWithList](https://innovario.apishowdown.com/petstore/user/createuserswithlistinput.md)

### Logs user into the system

 - [GET /user/login](https://innovario.apishowdown.com/petstore/user/loginuser.md)

### Logs out current logged in user session

 - [GET /user/logout](https://innovario.apishowdown.com/petstore/user/logoutuser.md)

