
[[_paths]]
== Paths

[[_findpetsbycategory]]
=== Finds Pets by category and status
....
GET /pet/findByCategory
....


==== Parameters

[options="header", cols=".^2a,.^3a,.^9a,.^4a"]
|===
|Type|Name|Description|Schema
|**Query**|**category** +
__required__|Category name that needs to be considered for filter|string
|**Query**|**optional** +
__optional__|Optional filter parameter|integer
|**Query**|**status** +
__required__|Status values that need to be considered for filter|< enum (available, pending, sold) > array(multi)
|===


==== Responses

[options="header", cols=".^2a,.^14a,.^4a"]
|===
|HTTP Code|Description|Schema
|**200**|successful operation|< <<_pet,Pet>> > array
|**400**|Invalid status value|No Content
|===


==== Produces

* `application/xml`
* `application/json`


==== Tags

* pet


==== Security

[options="header", cols=".^3a,.^4a,.^13a"]
|===
|Type|Name|Scopes
|**oauth2**|**<<_petstore_auth,petstore_auth>>**|write:pets,read:pets
|===


==== Example HTTP request

===== Request path
----
/pet/findByCategory?category=Herding&status=available
----


==== Example HTTP response

===== Response 200
[source,json]
----
[ {
  "id" : 0,
  "category" : {
    "id" : 0,
    "name" : "string"
  },
  "name" : "doggie",
  "photoUrls" : [ "string" ],
  "tags" : [ {
    "id" : 0,
    "name" : "string"
  } ],
  "status" : "available"
} ]
----


[[_findpetsbyfunnypath]]
=== Finds Pets with funny/illegal path
....
GET /pet/findByFunnyPath?always=1
....


==== Parameters

[options="header", cols=".^2a,.^3a,.^9a,.^4a"]
|===
|Type|Name|Description|Schema
|**Query**|**category** +
__required__|Category name that needs to be considered for filter|string
|**Query**|**optional** +
__optional__|Optional filter parameter|integer
|===


==== Responses

[options="header", cols=".^2a,.^14a,.^4a"]
|===
|HTTP Code|Description|Schema
|**200**|successful operation|< <<_pet,Pet>> > array
|**400**|Invalid status value|No Content
|===


==== Produces

* `application/xml`
* `application/json`


==== Tags

* pet


==== Security

[options="header", cols=".^3a,.^4a,.^13a"]
|===
|Type|Name|Scopes
|**oauth2**|**<<_petstore_auth,petstore_auth>>**|write:pets,read:pets
|===


==== Example HTTP request

===== Request path
----
/pet/findByFunnyPath?always=1&category=Herding
----


==== Example HTTP response

===== Response 200
[source,json]
----
[ {
  "id" : 0,
  "category" : {
    "id" : 0,
    "name" : "string"
  },
  "name" : "doggie",
  "photoUrls" : [ "string" ],
  "tags" : [ {
    "id" : 0,
    "name" : "string"
  } ],
  "status" : "available"
} ]
----


[[_findpetsbystatus]]
=== Finds Pets by status
....
GET /pet/findByStatus
....


==== Description
Multiple status values can be provided with comma separated strings


==== Parameters

[options="header", cols=".^2a,.^3a,.^9a,.^4a"]
|===
|Type|Name|Description|Schema
|**Query**|**status** +
__required__|Status values that need to be considered for filter|< enum (available, pending, sold) > array(multi)
|===


==== Responses

[options="header", cols=".^2a,.^14a,.^4a"]
|===
|HTTP Code|Description|Schema
|**200**|successful operation|< <<_pet,Pet>> > array
|**400**|Invalid status value|No Content
|===


==== Produces

* `application/xml`
* `application/json`


==== Tags

* pet


==== Security

[options="header", cols=".^3a,.^4a,.^13a"]
|===
|Type|Name|Scopes
|**oauth2**|**<<_petstore_auth,petstore_auth>>**|write:pets,read:pets
|===


==== Example HTTP request

===== Request path
----
/pet/findByStatus?status=available
----


==== Example HTTP response

===== Response 200
[source,json]
----
[ {
  "id" : 0,
  "category" : {
    "id" : 0,
    "name" : "string"
  },
  "name" : "doggie",
  "photoUrls" : [ "string" ],
  "tags" : [ {
    "id" : 0,
    "name" : "string"
  } ],
  "status" : "available"
} ]
----



