---
title: "Update the user-defined metadata of an asset"
method: PATCH
path: "/assets/{asset_id}/user-metadata"
tags: ["assets"]
---

# Update the user-defined metadata of an asset

`PATCH /assets/{asset_id}/user-metadata`

This method updates the user-defined metadata of the specified asset. The platform merges your changes with the existing metadata:
- A key with a value creates or replaces that key.
- A key set to `null` deletes that key.
- A key set to an empty string (`""`) is ignored.
- A key you omit from the request keeps its current value.

To replace all metadata in a single call, use the [`PUT`](/v1.3/api-reference/upload-content/direct-uploads/replace-user-metadata) method of the `/assets/{asset_id}/user-metadata` endpoint instead.

## Path parameters

- `asset_id` string, required

## Headers

- `x-api-key` string, required

## Request body

- object
  - `user_metadata` UserMetadata, required — Metadata that helps you categorize your assets. The object contains user-defined keys and values, where keys are strings and values are one of `string`, `integer`, `float`, or `boolean`. **Example**: ```JSON "user_metadata": { "category": "recentlyAdded", "batchNumber": 5, "rating": 9.3, "needsReview": true } ``` <Note title="Note"> To store other types of data, such as objects or arrays, convert your data into string values before sending it. </Note>

## Response `200`

Successful response

## Other responses

- `400` — The request has failed.
- `404` — The specified resource does not exist.

---

[API](https://skmtc.net/twelvelabs/apis/twelvelabs-api.md) · [All operations](https://skmtc.net/twelvelabs/apis/twelvelabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/twelvelabs/twelvelabs-api/revisions/9c12cd88093a/schema)
