# 更新会话元数据

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

替换本地会话的全部元数据。

```text
POST https://token.moi.matrixorigin.cn/v1/conversations/{conversation_id}
```

## 调用前准备

1. 准备具有 Genesis 权限的[个人访问令牌](../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)。
2. 使用[创建会话](create-conversation.md)时的凭据，选择尚未删除、尚未关联上游模型的本地会话。

## 请求示例

将示例中的 `$GENESIS_ACCESS_TOKEN` 和 `$CONVERSATION_ID` 分别替换为个人访问令牌和所选会话的 ID。

```bash
curl -X POST "https://token.moi.matrixorigin.cn/v1/conversations/$CONVERSATION_ID" \
  -H "Authorization: Bearer $GENESIS_ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "metadata": {
    "purpose": "support"
  }
}'
```

## 路径参数

::::{div} mo-api-parameter-table

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `conversation_id` | string | 是 | 创建会话响应中的 `id`。 |

::::

## 请求体

::::{div} mo-api-parameter-table

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `metadata` | object | 否 | 完整替换原有元数据。省略此字段或传入空对象时，清空元数据。 |
| `metadata.<key>` | any | 否 | 由调用方定义的键和值，例如 `purpose`。 |

::::

## 成功响应

成功时返回替换元数据后的会话。

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "id": "$CONVERSATION_ID",
  "object": "conversation",
  "metadata": {
    "purpose": "support"
  },
  "status": "active",
  "created_at": 1780000000,
  "updated_at": 1780000000
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `id` | string | 会话标识，用于查询、更新和删除会话。 |
| `object` | string | 固定为 `conversation`。 |
| `metadata` | object | 自定义会话元数据。 |
| `metadata.<key>` | any | 由调用方定义的键和值，例如 `purpose`。 |
| `status` | string | 会话状态，创建后为 `active`。 |
| `created_at` | integer | 创建时间，Unix 秒级时间戳。 |
| `updated_at` | integer | 最后更新时间，Unix 秒级时间戳。 |

:::::
::::::
:::::::

## 错误响应

资源不存在、已删除或当前凭据不可访问时，请求返回 `404`。

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "error": {
    "message": "conversation not found",
    "type": "conversation_not_found",
    "code": "conversation_not_found"
  }
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `error` | object | 错误信息。 |
| `error.message` | string | 错误原因。 |
| `error.type` | string | 错误类别。 |
| `error.code` | string | 错误代码。 |

:::::
::::::
:::::::

## 后续操作

使用会话 `id` [查询会话](get-conversation.md)，检查替换后的元数据。
