# pet_api
All URIs are relative to *http://petstore.swagger.io/v2*
**addPet**](pet_api.md#addPet) | **POST** /pet | Add a new pet to the store
**deletePet**](pet_api.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet
**findPetsByStatus**](pet_api.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status
**findPetsByTags**](pet_api.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags
**getPetById**](pet_api.md#getPetById) | **GET** /pet/{petId} | Find pet by ID
**updatePet**](pet_api.md#updatePet) | **PUT** /pet | Update an existing pet
**updatePetWithForm**](pet_api.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data
**uploadFile**](pet_api.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image
# **addPet**
> models::Pet addPet(ctx, pet)
Add a new pet to the store
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
### Return type
[**models::Pet**](Pet.md)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **deletePet**
> deletePet(ctx, pet_id, optional)
Deletes a pet
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet_id** | **i64**| Pet id to delete |
**optional** | **map[string]interface{}** | optional parameters | nil if no parameters
### Optional Parameters
Optional parameters are passed through a map[string]interface{}.
**pet_id** | **i64**| Pet id to delete |
**api_key** | **String**| |
### Return type
(empty response body)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **findPetsByStatus**
> Vec<models::Pet> findPetsByStatus(ctx, status)
Finds Pets by status
Multiple status values can be provided with comma separated strings
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**status** | [**String**](String.md)| Status values that need to be considered for filter |
### Return type
[**Vec<models::Pet>**](Pet.md)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **findPetsByTags**
> Vec<models::Pet> findPetsByTags(ctx, tags)
Finds Pets by tags
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**tags** | [**String**](String.md)| Tags to filter by |
### Return type
[**Vec<models::Pet>**](Pet.md)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **getPetById**
> models::Pet getPetById(ctx, pet_id)
Find pet by ID
Returns a single pet
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet_id** | **i64**| ID of pet to return |
### Return type
[**models::Pet**](Pet.md)
### Authorization
[api_key](../README.md#api_key)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **updatePet**
> models::Pet updatePet(ctx, pet)
Update an existing pet
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
### Return type
[**models::Pet**](Pet.md)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **updatePetWithForm**
> updatePetWithForm(ctx, pet_id, optional)
Updates a pet in the store with form data
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet_id** | **i64**| ID of pet that needs to be updated |
**optional** | **map[string]interface{}** | optional parameters | nil if no parameters
### Optional Parameters
Optional parameters are passed through a map[string]interface{}.
**pet_id** | **i64**| ID of pet that needs to be updated |
**name** | **String**| Updated name of the pet |
**status** | **String**| Updated status of the pet |
### Return type
(empty response body)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: application/x-www-form-urlencoded
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **uploadFile**
> models::ApiResponse uploadFile(ctx, pet_id, optional)
uploads an image
### Required Parameters
**ctx** | **context.Context** | context containing the authentication | nil if no authentication
**pet_id** | **i64**| ID of pet to update |
**optional** | **map[string]interface{}** | optional parameters | nil if no parameters
### Optional Parameters
Optional parameters are passed through a map[string]interface{}.
**pet_id** | **i64**| ID of pet to update |
**additional_metadata** | **String**| Additional data to pass to server |
**file** | **swagger::ByteArray**| file to upload |
### Return type
[**models::ApiResponse**](ApiResponse.md)
### Authorization
[petstore_auth](../README.md#petstore_auth)
### HTTP request headers
- **Content-Type**: multipart/form-data
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)