# \AssetsApi
All URIs are relative to */api*
[**check_bulk_upload**](AssetsApi.md#check_bulk_upload) | **POST** /assets/bulk-upload-check | checkBulkUpload
[**check_existing_assets**](AssetsApi.md#check_existing_assets) | **POST** /assets/exist | checkExistingAssets
[**delete_assets**](AssetsApi.md#delete_assets) | **DELETE** /assets |
[**download_asset**](AssetsApi.md#download_asset) | **GET** /assets/{id}/original |
[**get_all_user_assets_by_device_id**](AssetsApi.md#get_all_user_assets_by_device_id) | **GET** /assets/device/{deviceId} | getAllUserAssetsByDeviceId
[**get_asset_info**](AssetsApi.md#get_asset_info) | **GET** /assets/{id} |
[**get_asset_statistics**](AssetsApi.md#get_asset_statistics) | **GET** /assets/statistics |
[**get_random**](AssetsApi.md#get_random) | **GET** /assets/random |
[**play_asset_video**](AssetsApi.md#play_asset_video) | **GET** /assets/{id}/video/playback |
[**replace_asset**](AssetsApi.md#replace_asset) | **PUT** /assets/{id}/original | replaceAsset
[**run_asset_jobs**](AssetsApi.md#run_asset_jobs) | **POST** /assets/jobs |
[**update_asset**](AssetsApi.md#update_asset) | **PUT** /assets/{id} |
[**update_assets**](AssetsApi.md#update_assets) | **PUT** /assets |
[**upload_asset**](AssetsApi.md#upload_asset) | **POST** /assets |
[**view_asset**](AssetsApi.md#view_asset) | **GET** /assets/{id}/thumbnail |
## check_bulk_upload
> models::AssetBulkUploadCheckResponseDto check_bulk_upload(asset_bulk_upload_check_dto)
checkBulkUpload
Checks if assets exist by checksums
### Parameters
**asset_bulk_upload_check_dto** | [**AssetBulkUploadCheckDto**](AssetBulkUploadCheckDto.md) | | [required] |
### Return type
[**models::AssetBulkUploadCheckResponseDto**](AssetBulkUploadCheckResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## check_existing_assets
> models::CheckExistingAssetsResponseDto check_existing_assets(check_existing_assets_dto)
checkExistingAssets
Checks if multiple assets exist on the server and returns all existing - used by background backup
### Parameters
**check_existing_assets_dto** | [**CheckExistingAssetsDto**](CheckExistingAssetsDto.md) | | [required] |
### Return type
[**models::CheckExistingAssetsResponseDto**](CheckExistingAssetsResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## delete_assets
> delete_assets(asset_bulk_delete_dto)
This endpoint requires the `asset.delete` permission.
### Parameters
**asset_bulk_delete_dto** | [**AssetBulkDeleteDto**](AssetBulkDeleteDto.md) | | [required] |
### Return type
(empty response body)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **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)
## download_asset
> std::path::PathBuf download_asset(id, key, slug)
This endpoint requires the `asset.download` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**key** | Option<**String**> | | |
**slug** | Option<**String**> | | |
### Return type
[**std::path::PathBuf**](std::path::PathBuf.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream
[[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)
## get_all_user_assets_by_device_id
> Vec<String> get_all_user_assets_by_device_id(device_id)
getAllUserAssetsByDeviceId
Get all asset of a device that are in the database, ID only.
### Parameters
**device_id** | **String** | | [required] |
### Return type
**Vec<String>**
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## get_asset_info
> models::AssetResponseDto get_asset_info(id, key, slug)
This endpoint requires the `asset.read` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**key** | Option<**String**> | | |
**slug** | Option<**String**> | | |
### Return type
[**models::AssetResponseDto**](AssetResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## get_asset_statistics
> models::AssetStatsResponseDto get_asset_statistics(is_favorite, is_trashed, visibility)
This endpoint requires the `asset.statistics` permission.
### Parameters
**is_favorite** | Option<**bool**> | | |
**is_trashed** | Option<**bool**> | | |
**visibility** | Option<[**AssetVisibility**](.md)> | | |
### Return type
[**models::AssetStatsResponseDto**](AssetStatsResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## get_random
> Vec<models::AssetResponseDto> get_random(count)
This property was deprecated in v1.116.0. This endpoint requires the `asset.read` permission.
### Parameters
**count** | Option<**f64**> | | |
### Return type
[**Vec<models::AssetResponseDto>**](AssetResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## play_asset_video
> std::path::PathBuf play_asset_video(id, key, slug)
This endpoint requires the `asset.view` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**key** | Option<**String**> | | |
**slug** | Option<**String**> | | |
### Return type
[**std::path::PathBuf**](std::path::PathBuf.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream
[[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)
## replace_asset
> models::AssetMediaResponseDto replace_asset(id, asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key, slug, duration, filename)
replaceAsset
Replace the asset with new file, without changing its id. This endpoint requires the `asset.replace` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**asset_data** | **std::path::PathBuf** | | [required] |
**device_asset_id** | **String** | | [required] |
**device_id** | **String** | | [required] |
**file_created_at** | **String** | | [required] |
**file_modified_at** | **String** | | [required] |
**key** | Option<**String**> | | |
**slug** | Option<**String**> | | |
**duration** | Option<**String**> | | |
**filename** | Option<**String**> | | |
### Return type
[**models::AssetMediaResponseDto**](AssetMediaResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## run_asset_jobs
> run_asset_jobs(asset_jobs_dto)
### Parameters
**asset_jobs_dto** | [**AssetJobsDto**](AssetJobsDto.md) | | [required] |
### Return type
(empty response body)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **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)
## update_asset
> models::AssetResponseDto update_asset(id, update_asset_dto)
This endpoint requires the `asset.update` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**update_asset_dto** | [**UpdateAssetDto**](UpdateAssetDto.md) | | [required] |
### Return type
[**models::AssetResponseDto**](AssetResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## update_assets
> update_assets(asset_bulk_update_dto)
This endpoint requires the `asset.update` permission.
### Parameters
**asset_bulk_update_dto** | [**AssetBulkUpdateDto**](AssetBulkUpdateDto.md) | | [required] |
### Return type
(empty response body)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **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)
## upload_asset
> models::AssetMediaResponseDto upload_asset(asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key, slug, x_immich_checksum, duration, filename, is_favorite, live_photo_video_id, sidecar_data, visibility)
This endpoint requires the `asset.upload` permission.
### Parameters
**asset_data** | **std::path::PathBuf** | | [required] |
**device_asset_id** | **String** | | [required] |
**device_id** | **String** | | [required] |
**file_created_at** | **String** | | [required] |
**file_modified_at** | **String** | | [required] |
**key** | Option<**String**> | | |
**slug** | Option<**String**> | | |
**x_immich_checksum** | Option<**String**> | sha1 checksum that can be used for duplicate detection before the file is uploaded | |
**duration** | Option<**String**> | | |
**filename** | Option<**String**> | | |
**is_favorite** | Option<**bool**> | | |
**live_photo_video_id** | Option<**uuid::Uuid**> | | |
**sidecar_data** | Option<**std::path::PathBuf**> | | |
**visibility** | Option<[**models::AssetVisibility**](AssetVisibility.md)> | | |
### Return type
[**models::AssetMediaResponseDto**](AssetMediaResponseDto.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### 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)
## view_asset
> std::path::PathBuf view_asset(id, key, size, slug)
This endpoint requires the `asset.view` permission.
### Parameters
**id** | **uuid::Uuid** | | [required] |
**key** | Option<**String**> | | |
**size** | Option<[**AssetMediaSize**](.md)> | | |
**slug** | Option<**String**> | | |
### Return type
[**std::path::PathBuf**](std::path::PathBuf.md)
### Authorization
[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream
[[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)