# Assets

## Get the metadata for an asset

> Get the metadata for an asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/metadata":{"get":{"tags":["assets","metadata"],"summary":"Get the metadata for an asset","description":"Get the metadata for an asset","operationId":"get_metadata_assets__asset_id__metadata_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get the metadata for"},"description":"The asset to get the metadata for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_metadata_assets__asset_id__metadata_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Metadata Assets  Asset Id  Metadata Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_metadata_assets__asset_id__metadata_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_metadata_assets__asset_id__metadata_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Update an asset's metadata value

> Update an asset's metadata attribute value

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/metadata/{metadata_attribute_id}/value":{"put":{"tags":["assets","metadata"],"summary":"Update an asset's metadata value","description":"Update an asset's metadata attribute value","operationId":"update_asset_metadata_value_assets__asset_id__metadata__metadata_attribute_id__value_put","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to be updated"},"description":"The id of the asset to be updated"},{"name":"metadata_attribute_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Metadata Attribute ID","description":"The id of the metadata attribute to update"},"description":"The id of the metadata attribute to update"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_asset_metadata_value_assets__asset_id__metadata__metadata_attribute_id__value_put"}}}},"responses":{"200":{"description":"The updated asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_update_asset_metadata_value_assets__asset_id__metadata__metadata_attribute_id__value_put":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"metadata_attribute_value":{"anyOf":[{},{"type":"null"}],"title":"Metadata Attribute Value","description":"The new value for the metadata attribute. Not passing this will remove the value."},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id"],"title":"Body_update_asset_metadata_value_assets__asset_id__metadata__metadata_attribute_id__value_put"},"AssetDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"extension":{"type":"string","title":"Extension"},"updated":{"type":"string","format":"date-time","title":"Updated"},"created":{"type":"string","format":"date-time","title":"Created"},"type":{"$ref":"#/components/schemas/AssetType"},"size_bytes":{"type":"integer","title":"Size Bytes"},"stack_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Stack Id"},"stack_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stack Number"},"is_fs_draft_blob":{"type":"boolean","title":"Is Fs Draft Blob"},"is_fs_null_blob":{"type":"boolean","title":"Is Fs Null Blob"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"ai_indexed":{"type":"boolean","title":"Ai Indexed"},"system_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"System Metadata","default":{}},"custom_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Metadata","default":{}},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"palette":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Palette"},"ocr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocr"},"transcription_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Transcription Id"},"faces_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Faces Present"},"content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Content Length"},"preview_job_state":{"$ref":"#/components/schemas/JobState"},"metadata_job_state":{"$ref":"#/components/schemas/JobState"},"core_vision_job_state":{"$ref":"#/components/schemas/JobState"},"color_palette_job_state":{"$ref":"#/components/schemas/JobState"},"core_audio_job_state":{"$ref":"#/components/schemas/JobState"},"audio_job_state":{"$ref":"#/components/schemas/JobState"},"facial_recognition_job_state":{"$ref":"#/components/schemas/JobState"},"proxy_job_state":{"$ref":"#/components/schemas/JobState"},"audio_proxy_job_state":{"$ref":"#/components/schemas/JobState"},"transcription_job_state":{"$ref":"#/components/schemas/JobState"},"objects":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Objects"},"texture_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Texture Data"},"integration_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Integration Data"},"preview_images":{"items":{"$ref":"#/components/schemas/PreviewDTO"},"type":"array","title":"Preview Images"},"custom_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}]},"proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]},"audio_proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]}},"type":"object","required":["id","drive_id","path","name","extension","updated","created","type","size_bytes","is_fs_draft_blob","is_fs_null_blob","ai_indexed","palette","preview_job_state","metadata_job_state","core_vision_job_state","color_palette_job_state","core_audio_job_state","facial_recognition_job_state","proxy_job_state","audio_proxy_job_state","transcription_job_state","preview_images"],"title":"AssetDTO","description":"Full asset DTO with relationship fields that require eager loading."},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","DOCUMENT","HDR","HDRI","PHOTOSHOP","ILLUSTRATOR","EXR","OBJECT","VECTOR","OTHER","MAYA","MAX","BLENDER","HOUDINI","UNREAL","UNITY","AFTER_EFFECTS","MOGRT"],"title":"AssetType"},"JobState":{"type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETED","FAILED","INSUFFICIENT_CREDITS"],"title":"JobState","description":"Enum for asset job states"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"ProxyDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"ProxyDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Bulk update asset metadata attributes

> Either pass in asset\_ids/metadata\_attributes OR assets.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/metadata/values":{"put":{"tags":["assets","metadata"],"summary":"Bulk update asset metadata attributes","description":"Either pass in asset_ids/metadata_attributes OR assets.","operationId":"bulk_update_asset_metadata_attributes_assets_metadata_values_put","parameters":[{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_bulk_update_asset_metadata_attributes_assets_metadata_values_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdateResponseDTO"},"title":"Response Bulk Update Asset Metadata Attributes Assets Metadata Values Put"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_bulk_update_asset_metadata_attributes_assets_metadata_values_put":{"properties":{"asset_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"The asset id","description":"The id of the assets to be updated"},"metadata_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdate"},"type":"array"},{"type":"null"}],"title":"Metadata Attribute ID","description":"The id and values of the metadata attributes to update"},"asset_ids_with_metadata_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdatePerAsset"},"type":"array"},{"type":"null"}],"title":"Asset to be modified with the corresponding metadata","description":"The asset ids and their corresponding metadata attributes to update"},"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id"],"title":"Body_bulk_update_asset_metadata_attributes_assets_metadata_values_put"},"BulkMetadataAttributeUpdate":{"properties":{"id":{"type":"string","title":"Id"},"value":{"title":"Value"},"append":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Append","default":false}},"type":"object","required":["id","value"],"title":"BulkMetadataAttributeUpdate"},"BulkMetadataAttributeUpdatePerAsset":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"metadata_attributes":{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdate"},"type":"array","title":"Metadata Attributes"}},"type":"object","required":["asset_id","metadata_attributes"],"title":"BulkMetadataAttributeUpdatePerAsset"},"BulkMetadataAttributeUpdateResponseDTO":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"updated_metadata_attribute_ids":{"items":{"type":"string"},"type":"array","title":"Updated Metadata Attribute Ids"}},"type":"object","required":["asset_id","updated_metadata_attribute_ids"],"title":"BulkMetadataAttributeUpdateResponseDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get all comments for an asset

> Get all comments for an asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments":{"get":{"tags":["assets","comments"],"summary":"Get all comments for an asset","description":"Get all comments for an asset","operationId":"get_asset_comments_assets__asset_id__comments_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_comments_assets__asset_id__comments_get"}}}},"responses":{"200":{"description":"A list of all comments for the asset","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CommentDTO"},"title":"Response Get Asset Comments Assets  Asset Id  Comments Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_comments_assets__asset_id__comments_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_comments_assets__asset_id__comments_get"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Add a comment to an asset

> Add a comment to an asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments":{"post":{"tags":["assets","comments"],"summary":"Add a comment to an asset","description":"Add a comment to an asset","operationId":"add_asset_comment_assets__asset_id__comments_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_asset_comment_assets__asset_id__comments_post"}}}},"responses":{"200":{"description":"The comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_add_asset_comment_assets__asset_id__comments_post":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"comment":{"type":"string","title":"Comment","description":"The comment to add to the asset"},"mentions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Mention"},"type":"array"},{"type":"null"}],"title":"Mentions","description":"The mentions in the comment","default":[]},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp from start","description":"The timestamp of the comment from the start of the video"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration of the comment timestamp","description":"The duration of the comment timestamp in seconds (for range based comments)"},"is_public":{"type":"boolean","title":"Is Public Comment?","description":"Whether the comment is public or not","default":true},"url":{"type":"string","title":"Url of the comment","description":"The url of the comment"},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}],"title":"Anchor","description":"The anchor of the comment"},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"The annotation of the comment","description":"The annotation is a list of annotation paths"},"attachment_tokens":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attachment tokens","description":"JWT tokens for attachments to link to this comment"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["comment","url"],"title":"Body_add_asset_comment_assets__asset_id__comments_post"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Update a comment

> Update a comment

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/{comment_id}":{"put":{"tags":["assets","comments"],"summary":"Update a comment","description":"Update a comment","operationId":"update_comment_handler_assets__asset_id__comments__comment_id__put","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset that the comment is on"},"description":"The id of the asset that the comment is on"},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to update"},"description":"The id of the comment to update"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_comment_handler_assets__asset_id__comments__comment_id__put"}}}},"responses":{"200":{"description":"The comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_update_comment_handler_assets__asset_id__comments__comment_id__put":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this comment is in"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"The comment to add to the asset"},"mentions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Mention"},"type":"array"},{"type":"null"}],"title":"Mentions","description":"The mentions in the comment"},"is_public":{"type":"boolean","title":"Is Public Comment?","description":"Whether the comment is public or not"},"url":{"type":"string","title":"Url of the comment","description":"The url of the comment"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp from start","description":"The timestamp of the comment from the start of the video. delete with -1"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration of the comment timestamp","description":"The duration of the comment timestamp in seconds (for range based comments). delete with -1"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id","url"],"title":"Body_update_comment_handler_assets__asset_id__comments__comment_id__put"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Delete a comment

> Delete a comment

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/{comment_id}":{"delete":{"tags":["assets","comments"],"summary":"Delete a comment","description":"Delete a comment","operationId":"delete_comment_handler_assets__asset_id__comments__comment_id__delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset that the comment is on"},"description":"The id of the asset that the comment is on"},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to delete"},"description":"The id of the comment to delete"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this comment is in"},"description":"The id of the drive this comment is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_comment_handler_assets__asset_id__comments__comment_id__delete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_delete_comment_handler_assets__asset_id__comments__comment_id__delete":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_delete_comment_handler_assets__asset_id__comments__comment_id__delete"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Update a comment to be resolved or not

> Update a comment's resolve status

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/{comment_id}/resolve":{"put":{"tags":["assets","comments"],"summary":"Update a comment to be resolved or not","description":"Update a comment's resolve status","operationId":"resolve_comment_handler_assets__asset_id__comments__comment_id__resolve_put","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset that the comment is on"},"description":"The id of the asset that the comment is on"},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to update"},"description":"The id of the comment to update"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_resolve_comment_handler_assets__asset_id__comments__comment_id__resolve_put"}}}},"responses":{"200":{"description":"The comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_resolve_comment_handler_assets__asset_id__comments__comment_id__resolve_put":{"properties":{"drive_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"The drive id","description":"The id of the drive this comment is in"},"resolved":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Resolved","description":"Whether the comment is resolved"},"url":{"type":"string","title":"Url of the comment","description":"The url of the comment with REPLACE_COMMENT_ID_ON_SERVER placeholder"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["url"],"title":"Body_resolve_comment_handler_assets__asset_id__comments__comment_id__resolve_put"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Reply to a comment

> Reply to a comment

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/{comment_id}/reply":{"post":{"tags":["assets","comments"],"summary":"Reply to a comment","description":"Reply to a comment","operationId":"reply_comment_handler_assets__asset_id__comments__comment_id__reply_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset that the comment is on"},"description":"The id of the asset that the comment is on"},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to reply to"},"description":"The id of the comment to reply to"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_reply_comment_handler_assets__asset_id__comments__comment_id__reply_post"}}}},"responses":{"200":{"description":"The comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_reply_comment_handler_assets__asset_id__comments__comment_id__reply_post":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this comment is in"},"content":{"type":"string","title":"Comment content","description":"The content of the comment to add to the asset"},"mentions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Mention"},"type":"array"},{"type":"null"}],"title":"Mentions","description":"The mentions in the comment","default":[]},"url":{"type":"string","title":"Url of the comment","description":"The url of the comment"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id","content","url"],"title":"Body_reply_comment_handler_assets__asset_id__comments__comment_id__reply_post"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## React to a comment

> React to a comment

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/{comment_id}/react":{"put":{"tags":["assets","comments"],"summary":"React to a comment","description":"React to a comment","operationId":"react_to_comment_handler_assets__asset_id__comments__comment_id__react_put","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset that the comment is on"},"description":"The id of the asset that the comment is on"},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to react to"},"description":"The id of the comment to react to"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_react_to_comment_handler_assets__asset_id__comments__comment_id__react_put"}}}},"responses":{"200":{"description":"The comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_react_to_comment_handler_assets__asset_id__comments__comment_id__react_put":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this comment is in"},"reaction_to_add":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reaction to add","description":"The reaction to add to the comment. Either pass this or reaction_to_remove"},"reaction_to_remove":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reaction id to remove","description":"The id of the reaction to remove. Either pass this or reaction_to_add"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id"],"title":"Body_react_to_comment_handler_assets__asset_id__comments__comment_id__react_put"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Start the upload process for a comment attachment

> Start the upload process for a comment attachment

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/attachments":{"post":{"tags":["assets","comments"],"summary":"Start the upload process for a comment attachment","description":"Start the upload process for a comment attachment","operationId":"start_comment_attachment_upload_assets__asset_id__comments_attachments_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to create the attachment for"},"description":"The id of the asset to create the attachment for"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_start_comment_attachment_upload_assets__asset_id__comments_attachments_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentToUploadDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_start_comment_attachment_upload_assets__asset_id__comments_attachments_post":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to create the attachment for"},"name":{"type":"string","title":"The name of the attachment","description":"The name of the attachment to be created"},"mime_type":{"type":"string","title":"The mime type of the attachment","description":"The mime type of the attachment to be created"},"size":{"type":"integer","title":"The size of the attachment","description":"The size of the attachment to be created"},"comment_id":{"type":"string","format":"uuid","title":"The comment id","description":"The id of the comment to attach to"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id","name","mime_type","size","comment_id"],"title":"Body_start_comment_attachment_upload_assets__asset_id__comments_attachments_post"},"AttachmentToUploadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"upload_url":{"type":"string","title":"Upload Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","upload_url"],"title":"AttachmentToUploadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Mark the upload of a comment attachment as complete

> Mark the upload of a comment attachment as complete

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/attachments/{attachment_id}":{"post":{"tags":["assets","comments"],"summary":"Mark the upload of a comment attachment as complete","description":"Mark the upload of a comment attachment as complete","operationId":"mark_comment_attachment_uploaded_assets__asset_id__comments_attachments__attachment_id__post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to mark the attachment uploaded for"},"description":"The id of the asset to mark the attachment uploaded for"},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The attachment id","description":"The id of the attachment to mark as uploaded"},"description":"The id of the attachment to mark as uploaded"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_mark_comment_attachment_uploaded_assets__asset_id__comments_attachments__attachment_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_mark_comment_attachment_uploaded_assets__asset_id__comments_attachments__attachment_id__post":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to mark the attachment uploaded for"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id"],"title":"Body_mark_comment_attachment_uploaded_assets__asset_id__comments_attachments__attachment_id__post"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Paste comments from another asset

> Paste all comments from source asset to target asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/paste":{"post":{"tags":["assets","comments"],"summary":"Paste comments from another asset","description":"Paste all comments from source asset to target asset","operationId":"paste_asset_comments_assets__asset_id__comments_paste_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The target asset id","description":"The id of the asset to paste comments to"},"description":"The id of the asset to paste comments to"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_paste_asset_comments_assets__asset_id__comments_paste_post"}}}},"responses":{"200":{"description":"List of newly created comments","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CommentDTO"},"title":"Response Paste Asset Comments Assets  Asset Id  Comments Paste Post"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_paste_asset_comments_assets__asset_id__comments_paste_post":{"properties":{"source_asset_id":{"type":"string","format":"uuid","title":"The source asset id","description":"The id of the asset to copy comments from"},"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["source_asset_id","drive_id"],"title":"Body_paste_asset_comments_assets__asset_id__comments_paste_post"},"CommentDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"asset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Asset Id"},"content":{"type":"string","title":"Content"},"author":{"$ref":"#/components/schemas/UserDTOBase"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"resolved":{"type":"boolean","title":"Resolved"},"is_public":{"type":"boolean","title":"Is Public"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"},"replies":{"items":{"$ref":"#/components/schemas/CommentDTO"},"type":"array","title":"Replies","default":[]},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions","default":[]},"reactions":{"items":{"$ref":"#/components/schemas/ReactionDTO"},"type":"array","title":"Reactions","default":[]},"anchor":{"anyOf":[{"$ref":"#/components/schemas/CommentAnchor"},{"type":"null"}]},"annotation":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommentAnnotationPath"},"type":"array"},{"type":"null"}],"title":"Annotation"},"is_copied":{"type":"boolean","title":"Is Copied","default":false},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentToDownloadDTO"},"type":"array","title":"Attachments","default":[]}},"type":"object","required":["id","asset_id","content","author","created","updated","resolved","is_public","parent_id","timestamp","duration","anchor"],"title":"CommentDTO"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"Mention":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name","default":""}},"type":"object","required":["user_id","text","start_index","end_index"],"title":"Mention"},"ReactionDTO":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserDTOWithCommentId"},"type":"array","title":"Users"},"content":{"type":"string","title":"Content"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["users","content","count"],"title":"ReactionDTO"},"UserDTOWithCommentId":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"}},"type":"object","required":["id","name","email","avatar_url","user_type","comment_id"],"title":"UserDTOWithCommentId"},"CommentAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"CommentAnchor"},"CommentAnnotationPath":{"properties":{"tool":{"type":"string","title":"Tool"},"color":{"type":"string","title":"Color"},"size":{"type":"number","title":"Size"},"xs":{"items":{"type":"number"},"type":"array","title":"Xs"},"ys":{"items":{"type":"number"},"type":"array","title":"Ys"}},"type":"object","required":["tool","color","size","xs","ys"],"title":"CommentAnnotationPath","description":"A path in a comment annotation"},"AttachmentToDownloadDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"uploader_id":{"type":"string","format":"uuid","title":"Uploader Id"},"uploaded":{"type":"boolean","title":"Uploaded"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"}},"type":"object","required":["id","drive_id","uploader_id","uploaded","name","mime_type","size","download_url"],"title":"AttachmentToDownloadDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Export comments in various formats

> Export all comments for an asset in the specified format

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/comments/export":{"get":{"tags":["assets","comments"],"summary":"Export comments in various formats","description":"Export all comments for an asset in the specified format","operationId":"export_comments_assets__asset_id__comments_export_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to export comments for"},"description":"The id of the asset to export comments for"},{"name":"type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ExportType","title":"Export type","description":"The type of export to generate"},"description":"The type of export to generate"},{"name":"drive_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The authorization token","description":"The authorization token to use to fetch the export"},"description":"The authorization token to use to fetch the export"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_export_comments_assets__asset_id__comments_export_get"}}}},"responses":{"200":{"description":"Exported comments file","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ExportType":{"type":"string","enum":["csv","txt"],"title":"ExportType"},"Body_export_comments_assets__asset_id__comments_export_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_export_comments_assets__asset_id__comments_export_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get the transcription utterances for an asset if it exists

> Get the transcription utterances for an asset if it exists

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription/utterances":{"get":{"tags":["assets","transcription"],"summary":"Get the transcription utterances for an asset if it exists","description":"Get the transcription utterances for an asset if it exists","operationId":"get_transcription_utterances_assets__asset_id__transcription_utterances_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get the transcription for"},"description":"The asset to get the transcription for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_transcription_utterances_assets__asset_id__transcription_utterances_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TranscriptionUtteranceDTO"}},{"type":"null"}],"title":"Response Get Transcription Utterances Assets  Asset Id  Transcription Utterances Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_transcription_utterances_assets__asset_id__transcription_utterances_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_transcription_utterances_assets__asset_id__transcription_utterances_get"},"TranscriptionUtteranceDTO":{"properties":{"speaker":{"type":"string","title":"Speaker"},"start":{"type":"number","title":"Start"},"end":{"type":"number","title":"End"},"text":{"type":"string","title":"Text"},"words":{"items":{"$ref":"#/components/schemas/TranscriptionSegmentDTO"},"type":"array","title":"Words"}},"type":"object","required":["speaker","start","end","text","words"],"title":"TranscriptionUtteranceDTO"},"TranscriptionSegmentDTO":{"properties":{"start":{"type":"number","title":"Start"},"end":{"type":"number","title":"End"},"text":{"type":"string","title":"Text"}},"type":"object","required":["start","end","text"],"title":"TranscriptionSegmentDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get the transcription segments for an asset if it exists

> Get the transcription segments for an asset if it exists

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription/segments":{"get":{"tags":["assets","transcription"],"summary":"Get the transcription segments for an asset if it exists","description":"Get the transcription segments for an asset if it exists","operationId":"get_transcription_segments_assets__asset_id__transcription_segments_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get the transcription for"},"description":"The asset to get the transcription for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_transcription_segments_assets__asset_id__transcription_segments_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TranscriptionSegmentDTO"}},{"type":"null"}],"title":"Response Get Transcription Segments Assets  Asset Id  Transcription Segments Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_transcription_segments_assets__asset_id__transcription_segments_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_transcription_segments_assets__asset_id__transcription_segments_get"},"TranscriptionSegmentDTO":{"properties":{"start":{"type":"number","title":"Start"},"end":{"type":"number","title":"End"},"text":{"type":"string","title":"Text"}},"type":"object","required":["start","end","text"],"title":"TranscriptionSegmentDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /assets/{asset\_id}/transcription/file

> Export the transcription as a file for an asset if it exists

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription/file":{"get":{"tags":["assets","transcription"],"summary":"Export the transcription as a file for an asset if it exists","operationId":"get_transcription_assets__asset_id__transcription_file_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get the transcription for"},"description":"The asset to get the transcription for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TranscriptionOutput","title":"Type","description":"The type of transcription to get","default":"vtt"},"description":"The type of transcription to get"},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The authorization token","description":"The authorization token to use to fetch the preview"},"description":"The authorization token to use to fetch the preview"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_transcription_assets__asset_id__transcription_file_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Transcription Assets  Asset Id  Transcription File Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TranscriptionOutput":{"type":"string","enum":["srt","scriptsync","vtt","txt"],"title":"TranscriptionOutput"},"Body_get_transcription_assets__asset_id__transcription_file_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_transcription_assets__asset_id__transcription_file_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get AI-generated conversation starters for the transcript

> Generate 3 pertinent conversation starters based on the transcript content using LeMuR AI.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription/suggestions":{"get":{"tags":["assets","transcription"],"summary":"Get AI-generated conversation starters for the transcript","description":"Generate 3 pertinent conversation starters based on the transcript content using LeMuR AI.","operationId":"get_conversation_suggestions_assets__asset_id__transcription_suggestions_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get suggestions for"},"description":"The asset to get suggestions for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_conversation_suggestions_assets__asset_id__transcription_suggestions_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionSuggestionsResponse"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_conversation_suggestions_assets__asset_id__transcription_suggestions_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_conversation_suggestions_assets__asset_id__transcription_suggestions_get"},"TranscriptionSuggestionsResponse":{"properties":{"suggestions":{"items":{"type":"string"},"type":"array","title":"Suggestions"}},"type":"object","required":["suggestions"],"title":"TranscriptionSuggestionsResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Chat with the transcript using LeMuR AI

> Chat with the transcript using AssemblyAI's LeMuR (powered by Claude 3.5 Sonnet).\
> The AI will provide timestamps in \[MM:SS] or \[HH:MM:SS] format that can be clicked in the UI.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription/chat":{"post":{"tags":["assets","transcription"],"summary":"Chat with the transcript using LeMuR AI","description":"Chat with the transcript using AssemblyAI's LeMuR (powered by Claude 3.5 Sonnet).\nThe AI will provide timestamps in [MM:SS] or [HH:MM:SS] format that can be clicked in the UI.","operationId":"chat_with_transcription_assets__asset_id__transcription_chat_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to chat with the transcription for"},"description":"The asset to chat with the transcription for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_chat_with_transcription_assets__asset_id__transcription_chat_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionChatResponse"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_chat_with_transcription_assets__asset_id__transcription_chat_post":{"properties":{"request":{"$ref":"#/components/schemas/TranscriptionChatRequest"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["request"],"title":"Body_chat_with_transcription_assets__asset_id__transcription_chat_post"},"TranscriptionChatRequest":{"properties":{"message":{"type":"string","title":"Message"},"conversation_history":{"anyOf":[{"items":{"$ref":"#/components/schemas/TranscriptionChatMessage"},"type":"array"},{"type":"null"}],"title":"Conversation History"}},"type":"object","required":["message"],"title":"TranscriptionChatRequest"},"TranscriptionChatMessage":{"properties":{"role":{"type":"string","enum":["user","assistant"],"title":"Role"},"content":{"type":"string","title":"Content"}},"type":"object","required":["role","content"],"title":"TranscriptionChatMessage"},"TranscriptionChatResponse":{"properties":{"response":{"type":"string","title":"Response"}},"type":"object","required":["response"],"title":"TranscriptionChatResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get all preview images for an asset with signed urls

> Get all preview images for an asset, including signed URLs for each preview image.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/previews":{"get":{"tags":["assets"],"summary":"Get all preview images for an asset with signed urls","description":"Get all preview images for an asset, including signed URLs for each preview image.","operationId":"get_asset_previews_assets__asset_id__previews_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_previews_assets__asset_id__previews_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreviewDTO"},"title":"Response Get Asset Previews Assets  Asset Id  Previews Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_previews_assets__asset_id__previews_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_previews_assets__asset_id__previews_get"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /assets/usage

> Get the usage of a drive's assets for analytics

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/usage":{"get":{"tags":["assets"],"summary":"Get the usage of a drive's assets for analytics","operationId":"get_asset_usage_assets_usage_get","parameters":[{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive we get asset usage for"},"description":"The id of the drive we get asset usage for"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_usage_assets_usage_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUsageDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_usage_assets_usage_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_usage_assets_usage_get"},"AssetUsageDTO":{"properties":{"num_assets":{"type":"integer","title":"Num Assets"},"num_ai_assets":{"type":"integer","title":"Num Ai Assets"},"bytes":{"type":"integer","title":"Bytes"},"types":{"additionalProperties":{"type":"integer"},"propertyNames":{"$ref":"#/components/schemas/AssetType"},"type":"object","title":"Types"},"collections":{"type":"integer","title":"Collections"}},"type":"object","required":["num_assets","num_ai_assets","bytes","types","collections"],"title":"AssetUsageDTO"},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","DOCUMENT","HDR","HDRI","PHOTOSHOP","ILLUSTRATOR","EXR","OBJECT","VECTOR","OTHER","MAYA","MAX","BLENDER","HOUDINI","UNREAL","UNITY","AFTER_EFFECTS","MOGRT"],"title":"AssetType"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get all the faces for an asset

> Get all the faces an asset contains

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/faces":{"get":{"tags":["assets"],"summary":"Get all the faces for an asset","description":"Get all the faces an asset contains","operationId":"get_asset_faces_assets__asset_id__faces_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The asset to get the faces for"},"description":"The asset to get the faces for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_faces_assets__asset_id__faces_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FaceDTO"},"title":"Response Get Asset Faces Assets  Asset Id  Faces Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_faces_assets__asset_id__faces_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_faces_assets__asset_id__faces_get"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get all mentionable users on comments for an asset

> Get all mentionable users on comments for an asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/mentionable-users":{"get":{"tags":["assets"],"summary":"Get all mentionable users on comments for an asset","description":"Get all mentionable users on comments for an asset","operationId":"get_asset_mentionable_users_assets__asset_id__mentionable_users_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_mentionable_users_assets__asset_id__mentionable_users_get"}}}},"responses":{"200":{"description":"A list of mentionable users on comments for the asset","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserDTOBase"},"title":"Response Get Asset Mentionable Users Assets  Asset Id  Mentionable Users Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_mentionable_users_assets__asset_id__mentionable_users_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_mentionable_users_assets__asset_id__mentionable_users_get"},"UserDTOBase":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"type":"string","title":"Avatar Url"},"user_type":{"$ref":"#/components/schemas/UserType"}},"type":"object","required":["id","name","email","avatar_url","user_type"],"title":"UserDTOBase"},"UserType":{"type":"string","enum":["regular","group"],"title":"UserType"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /assets/{asset\_id}/clip

> Clip a video between two timestamps (hybrid head re-encode + tail copy)

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/clip":{"get":{"tags":["assets"],"summary":"Clip a video between two timestamps (hybrid head re-encode + tail copy)","operationId":"get_clips_for_a_video_assets__asset_id__clip_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"start_time","in":"query","required":true,"schema":{"type":"number","title":"Start time in seconds","description":"The start time of the clip in seconds"},"description":"The start time of the clip in seconds"},{"name":"end_time","in":"query","required":true,"schema":{"type":"number","title":"End time in seconds","description":"The end time of the clip in seconds"},"description":"The end time of the clip in seconds"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_clips_for_a_video_assets__asset_id__clip_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Clips For A Video Assets  Asset Id  Clip Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_clips_for_a_video_assets__asset_id__clip_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_clips_for_a_video_assets__asset_id__clip_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get a signed download URL for an asset's data

> Get a signed download URL for an asset's data based on the origin type

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/download":{"get":{"tags":["assets"],"summary":"Get a signed download URL for an asset's data","description":"Get a signed download URL for an asset's data based on the origin type","operationId":"get_asset_download_url_assets__asset_id__download_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"origin_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OriginType","title":"The origin type","description":"The origin of the asset's data to fetch"},"description":"The origin of the asset's data to fetch"},{"name":"name","in":"query","required":false,"schema":{"type":"string","title":"The name of the file to download as","description":"The name of the file to download as"},"description":"The name of the file to download as"},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","title":"Indicator for downloading vs viewing the file","description":"Whether to download the file or view it inline","default":true},"description":"Whether to download the file or view it inline"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_download_url_assets__asset_id__download_get"}}}},"responses":{"200":{"description":"A signed download URL","content":{"application/json":{"schema":{"type":"string","title":"Response Get Asset Download Url Assets  Asset Id  Download Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"OriginType":{"type":"string","enum":["SOURCE","PROXY"],"title":"OriginType","description":"Enum for asset data origin types"},"Body_get_asset_download_url_assets__asset_id__download_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_download_url_assets__asset_id__download_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /assets/{asset\_id}/source

> Get an asset source by redirecting to the signed url

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/source":{"get":{"tags":["assets"],"summary":"Get an asset source by redirecting to the signed url","operationId":"get_asset_source_assets__asset_id__source_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"name","in":"query","required":false,"schema":{"type":"string","title":"The name of the file to download as","description":"The name of the file to download as"},"description":"The name of the file to download as"},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The authorization token","description":"The authorization token to use to fetch the preview"},"description":"The authorization token to use to fetch the preview"},{"name":"shade-collection-id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Collection ID","description":"The collection id to authorize against, if not provided will use the default collection for the user."},"description":"The collection id to authorize against, if not provided will use the default collection for the user."},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_source_assets__asset_id__source_get"}}}},"responses":{"200":{"description":"A signed download URL","content":{"application/json":{"schema":{"title":"Response Get Asset Source Assets  Asset Id  Source Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_source_assets__asset_id__source_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_source_assets__asset_id__source_get"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get an asset from its path

> Get an asset from its path

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/path":{"get":{"tags":["assets"],"summary":"Get an asset from its path","description":"Get an asset from its path","operationId":"get_asset_from_path_route_assets_path_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"The path","description":"The path of the asset to retrieve"},"description":"The path of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_from_path_route_assets_path_get"}}}},"responses":{"200":{"description":"The asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_from_path_route_assets_path_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_from_path_route_assets_path_get"},"AssetDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"extension":{"type":"string","title":"Extension"},"updated":{"type":"string","format":"date-time","title":"Updated"},"created":{"type":"string","format":"date-time","title":"Created"},"type":{"$ref":"#/components/schemas/AssetType"},"size_bytes":{"type":"integer","title":"Size Bytes"},"stack_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Stack Id"},"stack_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stack Number"},"is_fs_draft_blob":{"type":"boolean","title":"Is Fs Draft Blob"},"is_fs_null_blob":{"type":"boolean","title":"Is Fs Null Blob"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"ai_indexed":{"type":"boolean","title":"Ai Indexed"},"system_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"System Metadata","default":{}},"custom_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Metadata","default":{}},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"palette":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Palette"},"ocr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocr"},"transcription_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Transcription Id"},"faces_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Faces Present"},"content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Content Length"},"preview_job_state":{"$ref":"#/components/schemas/JobState"},"metadata_job_state":{"$ref":"#/components/schemas/JobState"},"core_vision_job_state":{"$ref":"#/components/schemas/JobState"},"color_palette_job_state":{"$ref":"#/components/schemas/JobState"},"core_audio_job_state":{"$ref":"#/components/schemas/JobState"},"audio_job_state":{"$ref":"#/components/schemas/JobState"},"facial_recognition_job_state":{"$ref":"#/components/schemas/JobState"},"proxy_job_state":{"$ref":"#/components/schemas/JobState"},"audio_proxy_job_state":{"$ref":"#/components/schemas/JobState"},"transcription_job_state":{"$ref":"#/components/schemas/JobState"},"objects":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Objects"},"texture_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Texture Data"},"integration_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Integration Data"},"preview_images":{"items":{"$ref":"#/components/schemas/PreviewDTO"},"type":"array","title":"Preview Images"},"custom_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}]},"proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]},"audio_proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]}},"type":"object","required":["id","drive_id","path","name","extension","updated","created","type","size_bytes","is_fs_draft_blob","is_fs_null_blob","ai_indexed","palette","preview_job_state","metadata_job_state","core_vision_job_state","color_palette_job_state","core_audio_job_state","facial_recognition_job_state","proxy_job_state","audio_proxy_job_state","transcription_job_state","preview_images"],"title":"AssetDTO","description":"Full asset DTO with relationship fields that require eager loading."},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","DOCUMENT","HDR","HDRI","PHOTOSHOP","ILLUSTRATOR","EXR","OBJECT","VECTOR","OTHER","MAYA","MAX","BLENDER","HOUDINI","UNREAL","UNITY","AFTER_EFFECTS","MOGRT"],"title":"AssetType"},"JobState":{"type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETED","FAILED","INSUFFICIENT_CREDITS"],"title":"JobState","description":"Enum for asset job states"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"ProxyDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"ProxyDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Bulk update asset metadata attributes

> Either pass in asset\_ids/metadata\_attributes OR assets.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/bulk/metadata/values":{"put":{"tags":["assets"],"summary":"Bulk update asset metadata attributes","description":"Either pass in asset_ids/metadata_attributes OR assets.","operationId":"bulk_update_asset_metadata_attributes_assets_bulk_metadata_values_put","parameters":[{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_bulk_update_asset_metadata_attributes_assets_bulk_metadata_values_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdateResponseDTO"},"title":"Response Bulk Update Asset Metadata Attributes Assets Bulk Metadata Values Put"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_bulk_update_asset_metadata_attributes_assets_bulk_metadata_values_put":{"properties":{"asset_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"The asset id","description":"The id of the assets to be updated"},"metadata_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdate"},"type":"array"},{"type":"null"}],"title":"Metadata Attribute ID","description":"The id and values of the metadata attributes to update"},"asset_ids_with_metadata_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdatePerAsset"},"type":"array"},{"type":"null"}],"title":"Asset to be modified with the corresponding metadata","description":"The asset ids and their corresponding metadata attributes to update"},"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["drive_id"],"title":"Body_bulk_update_asset_metadata_attributes_assets_bulk_metadata_values_put"},"BulkMetadataAttributeUpdate":{"properties":{"id":{"type":"string","title":"Id"},"value":{"title":"Value"},"append":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Append","default":false}},"type":"object","required":["id","value"],"title":"BulkMetadataAttributeUpdate"},"BulkMetadataAttributeUpdatePerAsset":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"metadata_attributes":{"items":{"$ref":"#/components/schemas/BulkMetadataAttributeUpdate"},"type":"array","title":"Metadata Attributes"}},"type":"object","required":["asset_id","metadata_attributes"],"title":"BulkMetadataAttributeUpdatePerAsset"},"BulkMetadataAttributeUpdateResponseDTO":{"properties":{"asset_id":{"type":"string","format":"uuid","title":"Asset Id"},"updated_metadata_attribute_ids":{"items":{"type":"string"},"type":"array","title":"Updated Metadata Attribute Ids"}},"type":"object","required":["asset_id","updated_metadata_attribute_ids"],"title":"BulkMetadataAttributeUpdateResponseDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /assets/stack/{stack\_id}

> Get all assets for a stack

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/stack/{stack_id}":{"get":{"tags":["assets"],"summary":"Get all assets for a stack","operationId":"get_asset_stack_route_assets_stack__stack_id__get","parameters":[{"name":"stack_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The stack id","description":"The id of the stack to retrieve assets for"},"description":"The id of the stack to retrieve assets for"},{"name":"directory_path","in":"query","required":true,"schema":{"type":"string","title":"The directory path","description":"The directory path that the stack is located under"},"description":"The directory path that the stack is located under"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this stack is in"},"description":"The id of the drive this stack is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_stack_route_assets_stack__stack_id__get"}}}},"responses":{"200":{"description":"A list of assets for the stack","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetDTO"},"title":"Response Get Asset Stack Route Assets Stack  Stack Id  Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_stack_route_assets_stack__stack_id__get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_stack_route_assets_stack__stack_id__get"},"AssetDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"extension":{"type":"string","title":"Extension"},"updated":{"type":"string","format":"date-time","title":"Updated"},"created":{"type":"string","format":"date-time","title":"Created"},"type":{"$ref":"#/components/schemas/AssetType"},"size_bytes":{"type":"integer","title":"Size Bytes"},"stack_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Stack Id"},"stack_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stack Number"},"is_fs_draft_blob":{"type":"boolean","title":"Is Fs Draft Blob"},"is_fs_null_blob":{"type":"boolean","title":"Is Fs Null Blob"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"ai_indexed":{"type":"boolean","title":"Ai Indexed"},"system_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"System Metadata","default":{}},"custom_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Metadata","default":{}},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"palette":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Palette"},"ocr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocr"},"transcription_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Transcription Id"},"faces_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Faces Present"},"content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Content Length"},"preview_job_state":{"$ref":"#/components/schemas/JobState"},"metadata_job_state":{"$ref":"#/components/schemas/JobState"},"core_vision_job_state":{"$ref":"#/components/schemas/JobState"},"color_palette_job_state":{"$ref":"#/components/schemas/JobState"},"core_audio_job_state":{"$ref":"#/components/schemas/JobState"},"audio_job_state":{"$ref":"#/components/schemas/JobState"},"facial_recognition_job_state":{"$ref":"#/components/schemas/JobState"},"proxy_job_state":{"$ref":"#/components/schemas/JobState"},"audio_proxy_job_state":{"$ref":"#/components/schemas/JobState"},"transcription_job_state":{"$ref":"#/components/schemas/JobState"},"objects":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Objects"},"texture_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Texture Data"},"integration_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Integration Data"},"preview_images":{"items":{"$ref":"#/components/schemas/PreviewDTO"},"type":"array","title":"Preview Images"},"custom_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}]},"proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]},"audio_proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]}},"type":"object","required":["id","drive_id","path","name","extension","updated","created","type","size_bytes","is_fs_draft_blob","is_fs_null_blob","ai_indexed","palette","preview_job_state","metadata_job_state","core_vision_job_state","color_palette_job_state","core_audio_job_state","facial_recognition_job_state","proxy_job_state","audio_proxy_job_state","transcription_job_state","preview_images"],"title":"AssetDTO","description":"Full asset DTO with relationship fields that require eager loading."},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","DOCUMENT","HDR","HDRI","PHOTOSHOP","ILLUSTRATOR","EXR","OBJECT","VECTOR","OTHER","MAYA","MAX","BLENDER","HOUDINI","UNREAL","UNITY","AFTER_EFFECTS","MOGRT"],"title":"AssetType"},"JobState":{"type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETED","FAILED","INSUFFICIENT_CREDITS"],"title":"JobState","description":"Enum for asset job states"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"ProxyDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"ProxyDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Create a new stack from a list of assets

> Create a new stack from a list of assets

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/stack":{"post":{"tags":["assets"],"summary":"Create a new stack from a list of assets","description":"Create a new stack from a list of assets","operationId":"create_asset_stack_route_assets_stack_post","parameters":[{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_asset_stack_route_assets_stack_post"}}}},"responses":{"200":{"description":"The ID of the created stack","content":{"application/json":{"schema":{"type":"string","format":"uuid","title":"Response Create Asset Stack Route Assets Stack Post"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_create_asset_stack_route_assets_stack_post":{"properties":{"asset_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Asset IDs","description":"List of asset IDs to create a stack from"},"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive these assets are in"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["asset_ids","drive_id"],"title":"Body_create_asset_stack_route_assets_stack_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Add an asset to a stack

> Add an asset to a stack

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/stack":{"post":{"tags":["assets"],"summary":"Add an asset to a stack","description":"Add an asset to a stack","operationId":"add_asset_to_stack_route_assets__asset_id__stack_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to add to the stack"},"description":"The id of the asset to add to the stack"},{"name":"target_asset_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The target asset id","description":"The id of an asset in the stack to add the asset to"},"description":"The id of an asset in the stack to add the asset to"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_asset_to_stack_route_assets__asset_id__stack_post"}}}},"responses":{"200":{"description":"The stack number of the added asset","content":{"application/json":{"schema":{"type":"integer","title":"Response Add Asset To Stack Route Assets  Asset Id  Stack Post"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_add_asset_to_stack_route_assets__asset_id__stack_post":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_add_asset_to_stack_route_assets__asset_id__stack_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Remove an asset from its stack

> Remove an asset from its stack

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/stack":{"delete":{"tags":["assets"],"summary":"Remove an asset from its stack","description":"Remove an asset from its stack","operationId":"remove_asset_from_stack_route_assets__asset_id__stack_delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to remove from its stack"},"description":"The id of the asset to remove from its stack"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_remove_asset_from_stack_route_assets__asset_id__stack_delete"}}}},"responses":{"200":{"description":"Whether the asset was removed from the stack","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_remove_asset_from_stack_route_assets__asset_id__stack_delete":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_remove_asset_from_stack_route_assets__asset_id__stack_delete"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Move an asset to a new position within its stack

> Move an asset to a new position within its stack

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/stack/move":{"put":{"tags":["assets"],"summary":"Move an asset to a new position within its stack","description":"Move an asset to a new position within its stack","operationId":"move_asset_in_stack_route_assets__asset_id__stack_move_put","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to move within the stack"},"description":"The id of the asset to move within the stack"},{"name":"new_stack_number","in":"query","required":true,"schema":{"type":"integer","title":"New stack number","description":"The new stack number position for the asset"},"description":"The new stack number position for the asset"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_move_asset_in_stack_route_assets__asset_id__stack_move_put"}}}},"responses":{"200":{"description":"Whether the asset was successfully moved","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_move_asset_in_stack_route_assets__asset_id__stack_move_put":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_move_asset_in_stack_route_assets__asset_id__stack_move_put"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Rerun transcription for an asset

> Rerun transcription for an asset. If the asset was previously completed with no dialogue, it will skip the dialogue classifier.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/transcription-override":{"post":{"tags":["assets"],"summary":"Rerun transcription for an asset","description":"Rerun transcription for an asset. If the asset was previously completed with no dialogue, it will skip the dialogue classifier.","operationId":"transcription_override_route_assets__asset_id__transcription_override_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to rerun transcription for"},"description":"The id of the asset to rerun transcription for"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_transcription_override_route_assets__asset_id__transcription_override_post"}}}},"responses":{"200":{"description":"Success status","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Transcription Override Route Assets  Asset Id  Transcription Override Post"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_transcription_override_route_assets__asset_id__transcription_override_post":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_transcription_override_route_assets__asset_id__transcription_override_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get an asset

> Get an asset

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}":{"get":{"tags":["assets"],"summary":"Get an asset","description":"Get an asset","operationId":"get_asset_assets__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"description":"The id of the drive this asset is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_get_asset_assets__asset_id__get"}}}},"responses":{"200":{"description":"The asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_asset_assets__asset_id__get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_asset_assets__asset_id__get"},"AssetDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"drive_id":{"type":"string","format":"uuid","title":"Drive Id"},"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"extension":{"type":"string","title":"Extension"},"updated":{"type":"string","format":"date-time","title":"Updated"},"created":{"type":"string","format":"date-time","title":"Created"},"type":{"$ref":"#/components/schemas/AssetType"},"size_bytes":{"type":"integer","title":"Size Bytes"},"stack_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Stack Id"},"stack_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stack Number"},"is_fs_draft_blob":{"type":"boolean","title":"Is Fs Draft Blob"},"is_fs_null_blob":{"type":"boolean","title":"Is Fs Null Blob"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"ai_indexed":{"type":"boolean","title":"Ai Indexed"},"system_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"System Metadata","default":{}},"custom_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Metadata","default":{}},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"palette":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Palette"},"ocr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocr"},"transcription_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Transcription Id"},"faces_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Faces Present"},"content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Content Length"},"preview_job_state":{"$ref":"#/components/schemas/JobState"},"metadata_job_state":{"$ref":"#/components/schemas/JobState"},"core_vision_job_state":{"$ref":"#/components/schemas/JobState"},"color_palette_job_state":{"$ref":"#/components/schemas/JobState"},"core_audio_job_state":{"$ref":"#/components/schemas/JobState"},"audio_job_state":{"$ref":"#/components/schemas/JobState"},"facial_recognition_job_state":{"$ref":"#/components/schemas/JobState"},"proxy_job_state":{"$ref":"#/components/schemas/JobState"},"audio_proxy_job_state":{"$ref":"#/components/schemas/JobState"},"transcription_job_state":{"$ref":"#/components/schemas/JobState"},"objects":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Objects"},"texture_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Texture Data"},"integration_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Integration Data"},"preview_images":{"items":{"$ref":"#/components/schemas/PreviewDTO"},"type":"array","title":"Preview Images"},"custom_thumbnail":{"anyOf":[{"type":"string"},{"type":"null"}]},"proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]},"audio_proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyDTO"},{"type":"null"}]}},"type":"object","required":["id","drive_id","path","name","extension","updated","created","type","size_bytes","is_fs_draft_blob","is_fs_null_blob","ai_indexed","palette","preview_job_state","metadata_job_state","core_vision_job_state","color_palette_job_state","core_audio_job_state","facial_recognition_job_state","proxy_job_state","audio_proxy_job_state","transcription_job_state","preview_images"],"title":"AssetDTO","description":"Full asset DTO with relationship fields that require eager loading."},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","DOCUMENT","HDR","HDRI","PHOTOSHOP","ILLUSTRATOR","EXR","OBJECT","VECTOR","OTHER","MAYA","MAX","BLENDER","HOUDINI","UNREAL","UNITY","AFTER_EFFECTS","MOGRT"],"title":"AssetType"},"JobState":{"type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETED","FAILED","INSUFFICIENT_CREDITS"],"title":"JobState","description":"Enum for asset job states"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"ProxyDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"ProxyDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /assets/{asset\_id}/custom-thumbnail

> Set Custom Thumbnail

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/custom-thumbnail":{"post":{"tags":["assets"],"summary":"Set Custom Thumbnail","operationId":"set_custom_thumbnail_assets__asset_id__custom_thumbnail_post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_set_custom_thumbnail_assets__asset_id__custom_thumbnail_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_set_custom_thumbnail_assets__asset_id__custom_thumbnail_post":{"properties":{"drive_id":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this asset is in"},"attachment_token":{"type":"string","title":"Attachment tokens","description":"JWT tokens for attachments to link to this thumbnail"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_set_custom_thumbnail_assets__asset_id__custom_thumbnail_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## DELETE /assets/{asset\_id}/custom-thumbnail

> Reset Custom Thumbnail

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/assets/{asset_id}/custom-thumbnail":{"delete":{"tags":["assets"],"summary":"Reset Custom Thumbnail","operationId":"reset_custom_thumbnail_assets__asset_id__custom_thumbnail_delete","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The asset id","description":"The id of the asset to retrieve"},"description":"The id of the asset to retrieve"},{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive this attachment is in"},"description":"The id of the drive this attachment is in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_reset_custom_thumbnail_assets__asset_id__custom_thumbnail_delete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_reset_custom_thumbnail_assets__asset_id__custom_thumbnail_delete":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_reset_custom_thumbnail_assets__asset_id__custom_thumbnail_delete"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.shade.inc/developers/assets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
