---
title: "Update Asset"
method: PUT
path: "/assets/{asset_id}"
tags: ["Assets"]
---

# Update Asset

`PUT /assets/{asset_id}`

## Request

- Base URL: `https://api.aspect.inc`
- URL: `https://api.aspect.inc/assets/{asset_id}`
- Auth: API key in header `Authorization`

Update an asset by ID (rename)

## Path parameters

- `asset_id` string, uuid, required: The ID of the asset to update

## Request body

- AssetUpdateRequest: API request schema for updating an asset
  - `name` string, nullable: The name of the asset. Must include the extension.

## Response `200`

Successful Response

- AssetResponse: An asset.
  - `symlink` SymlinkInfo: Where a symlink points.
    - `target_id` string, uuid, nullable: ID of the asset or directory the symlink points to. Null when it can't be followed; `status` says why.
    - `status` 'resolved' | 'dangling' | 'permission_denied' | 'external', required
  - `id` string, uuid, required
  - `type` 'video' | 'image' | 'audio' | 'document' | 'vector' | 'other', required
  - `name` string, required
  - `size_bytes` integer, required
  - `media` AssetMedia: Intrinsic media properties extracted from the asset's content.
    - `width` integer, nullable: Pixel width for visual assets. Null when unknown.
    - `height` integer, nullable: Pixel height for visual assets. Null when unknown.
    - `duration` number, nullable: Duration in seconds for time-based assets. Null for assets without a duration.
    - `frame_rate` number, nullable: Frames per second for video assets. Null for non-video assets.
    - `timecode` string, nullable: SMPTE start timecode, such as `01:00:00:00` (`01:00:00;00` for drop-frame). Null when the file has none.
    - `page_count` integer, nullable: Number of pages for document assets. Null for non-document assets.
  - `mime_type` string, required
  - `is_uploaded` boolean, required
  - `is_generated` boolean: Whether this asset was produced by the AI generation pipeline
  - `workspace_id` string, uuid, required: ID of the workspace this asset belongs to
  - `project_id` string, uuid, required: ID of the project this asset belongs to
  - `parent_id` string, uuid, required: ID of the parent resource (directory or project)
  - `comment_count` integer, required: Total number of visible comments on this asset, including replies
  - `created_by_user_id` string, uuid, required: ID of the user that created the asset
  - `version_stack_id` string, uuid, nullable: Version stack ID. Null if the asset isn't in a stack.
  - `version_number` integer, nullable: Position in the version stack, starting at 1. Null if the asset isn't in a stack.
  - `is_top_version` boolean, nullable: True for the top version of a stack. Null if the asset isn't in a stack.
  - `manifest_id` string, uuid, nullable: ID of the asset's current file content. It changes whenever the content changes. Null when the asset has no content yet.
  - `created` string, date-time, required
  - `updated` string, date-time, required
  - `content_modified_at` string, date-time, required: When the asset's file content last changed. Renames and metadata edits don't change it.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/aspect/apis/aspect-api.md) - [All operations](https://skmtc.dev/aspect/apis/aspect-api/llms.txt) - [OpenAPI document](https://skmtc.dev/aspect/apis/aspect-api/revisions/28ea5f1adb54?raw)
