---
title: "update_item"
description: "Change a library item: the given fields only (null clears one); fileIds, when given, replaces the files and their order; metadata is merged. Needs the **library** permission. Also available as the MCP tool `update_item`."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.mixetape.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: mixetape API › library

`POST /api/v1/tools/update_item`

Change a library item: the given fields only (null clears one); fileIds, when given, replaces the files and their order; metadata is merged. Needs the **library** permission. Also available as the MCP tool `update_item`.

## Authentication

- `apiKey`, http, header `Authorization`

## Request body

_Required._

- `update_item.id` (string, required) — Content item id (list_items)
- `update_item.title` (string, optional) — Title where the platform has one (YouTube, Pinterest)
- `update_item.caption` (string, optional) — The post text; defaults for every platform
- `update_item.description` (string, optional) — Longer description where the platform has one
- `update_item.fileIds` (array<string>, optional) — Files from storage (list_files ids), in order — one video, or several images for a carousel. Each must be ready (finish_upload done).
- `update_item.metadata` (object, optional) — Fields every platform shares (tags, thumbnailUrl, firstComment, …) and platforms: { youtube: { … }, facebook: { … } } with each platform's overrides (same fields as create_post's metadata for that platform). On update it is merged; null clears a field or a platform.

## Example request

```json
{
  "id": "string",
  "title": "string",
  "caption": "string",
  "description": "string",
  "fileIds": [
    "string"
  ],
  "metadata": {}
}
```

## Code samples

### cURL

```curl
curl --request POST \
  --url https://mixetape.com/api/v1/tools/update_item \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "string",
  "title": "string",
  "caption": "string",
  "description": "string",
  "fileIds": [
    "string"
  ],
  "metadata": {}
}
'
```

### TypeScript

```typescript
const url = 'https://mixetape.com/api/v1/tools/update_item';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json', Authorization: 'Bearer <token>'},
  body: JSON.stringify({
    id: 'string',
    title: 'string',
    caption: 'string',
    description: 'string',
    fileIds: ['string'],
    metadata: {}
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://mixetape.com/api/v1/tools/update_item"

payload = {
    "id": "string",
    "title": "string",
    "caption": "string",
    "description": "string",
    "fileIds": ["string"],
    "metadata": {}
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <token>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

The tool's result.

#### Example

```json
{
  "result": null
}
```

- `update_item.response.200.result` (unknown, required) — What the tool returns

### 400

The request is invalid; `error` says why.

#### Example

```json
{
  "error": "string"
}
```

- `update_item.response.400.error` (string, required) — What went wrong, in plain words

### 401

No valid API key.

#### Example

```json
{
  "error": "string"
}
```

- `update_item.response.401.error` (string, required) — What went wrong, in plain words

### 403

The key lacks the permission this needs.

#### Example

```json
{
  "error": "string"
}
```

- `update_item.response.403.error` (string, required) — What went wrong, in plain words

### 404

Not found, or not yours.

#### Example

```json
{
  "error": "string"
}
```

- `update_item.response.404.error` (string, required) — What went wrong, in plain words


Source: https://docs.mixetape.com/api/library/update_item/index.md
