# Pets ## Create **post** `/pet` Add a new pet to the store ### Returns - `Pet = object { name, photoUrls, id, 3 more }` - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string` ## Retrieve **get** `/pet/{petId}` Returns a single pet ### Returns - `Pet = object { name, photoUrls, id, 3 more }` - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string` ## Update **put** `/pet` Update an existing pet by Id ### Returns - `Pet = object { name, photoUrls, id, 3 more }` - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string` ## Delete **delete** `/pet/{petId}` delete a pet ## Find By Status **get** `/pet/findByStatus` Multiple status values can be provided with comma separated strings ### Returns - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string` ## Find By Tags **get** `/pet/findByTags` Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. ### Returns - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string` ## Update By ID **post** `/pet/{petId}` Updates a pet in the store with form data ## Upload Image **post** `/pet/{petId}/uploadImage` uploads an image ### Returns - `code: optional number` - `message: optional string` - `type: optional string` ## Domain Types ### Category - `Category = object { id, name }` - `id: optional number` - `name: optional string` ### Pet - `Pet = object { name, photoUrls, id, 3 more }` - `name: string` - `photoUrls: array of string` - `id: optional number` - `category: optional Category` - `id: optional number` - `name: optional string` - `status: optional "available" or "pending" or "sold"` pet status in the store - `"available"` - `"pending"` - `"sold"` - `tags: optional array of object { id, name }` - `id: optional number` - `name: optional string`