---
title: "Rename an Asset"
method: PATCH
path: "/assets/{id}"
tags: ["Assets"]
---

# Rename an Asset

`PATCH /assets/{id}`

## Request

- Base URL: `https://api.adcrunch.dev`
- URL: `https://api.adcrunch.dev/assets/{id}`
- Auth: HTTP bearer

Renames an Asset. The name is what the console shows and what a provider receives at future registrations. AdCrunch trims the name, and a name that is empty after the trim clears it back to the original filename. A Registration already made keeps the name it was given. An Asset belonging to another organization is reported as missing, so the surface cannot be used to discover that an id is real.

## Path parameters

- `id` string, required: The Asset id.

## Request body

- object
  - `name` string, required: The name to show. AdCrunch trims it. Send an empty string to clear it back to the original filename.

## Response `200`

The Asset, with its new name. It carries no Registration — read the Asset for those.

- object
  - `contentHash` string, required: AdCrunch’s own hash of the stored bytes. A hint for de-duplication, never an identity, and never a provider’s hash. Empty when the store reports none.
  - `createdAt` number, required: Milliseconds since the Unix epoch, UTC.
  - `createdBy` string, required: The user who reserved the upload.
  - `deletedAt` number, nullable, required: Always `null` here. A deleted Asset is not answered.
  - `durationMs` number, nullable, required: How long the video runs, in milliseconds, read from the header of the file at finalize. `null` for an image. For a video, `null` when the file does not state it, or for an Asset uploaded before AdCrunch read it.
  - `filename` string, required: The name the file was uploaded under. Never a lookup key.
  - `height` number, nullable, required: The height in pixels as the file is displayed, with its rotation applied, read from the header of the file at finalize. `null` when the file does not state it, or for an Asset uploaded before AdCrunch read it.
  - `id` string, required: The id of the Asset, `ast_…`.
  - `key` string, required: Where the bytes are held. Read-only, and never sent by you.
  - `kind` 'image' | 'video', required: Follows from `mimeType`, so the stored bytes verify it at finalize. It selects how a provider takes the file.
  - `mimeType` string, required: The `Content-Type` the file was uploaded with, verified against the stored bytes at finalize.
  - `name` string, nullable, required: The name a person gave this Asset, and what a provider receives at a future registration. `null` until somebody renames it, and the filename is the fallback.
  - `organizationId` string, required: The organization that owns the Asset.
  - `sizeBytes` number, required: Read from the stored object at finalize.
  - `status` 'pending' | 'ready', required: `ready` once the bytes have been inspected. A `pending` Asset is a reservation whose bytes have not arrived, and no operation here answers one.
  - `updatedAt` number, nullable, required: When the Asset last changed, in milliseconds since the Unix epoch, UTC: at finalize, or at the last rename.
  - `width` number, nullable, required: The width in pixels as the file is displayed, with its rotation applied, read from the header of the file at finalize. `null` when the file does not state it, or for an Asset uploaded before AdCrunch read it.

## Other responses

- `400`: The request does not match the schema of this operation: a field is missing or has the wrong type, or the body is not valid JSON. `error` is `invalid_request`, and `issues` names each field. Nothing was changed.
- `401`: No API key, or one that does not resolve. See the security scheme. `error` is `unauthorized`.
- `402`: The organization has no active subscription. An owner subscribes at `paywallUrl`. `error` is `organization_unentitled`.
- `403`: The caller does not hold `asset:write`. `error` is `forbidden`.
- `404`: No stored Asset with that id in this organization. A reservation answers this too, until finalize promotes it to `ready`. `error` is `not_found`.

---

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