Skip to main content
Memory Stores

更新 Memory

更新指定 Memory 的内容或元数据。

更新一条 memory 的内容或元数据。每次更新自动产生一个 operation=updated 的版本快照。 可携带 content_sha256乐观并发控制:若与服务端当前内容的哈希不一致,说明有并发写入,返回 409。省略该字段则跳过校验。

路径

POST /api/v1/forward/memory_stores/{memory_store_id}/memories/{memory_id}

请求头

头部必选说明
AuthorizationBearer <PAT 或 admin SAT>
Content-Typeapplication/json

路径参数

参数类型必选说明
memory_store_idstringMemory Store ID(memstore_...)。
memory_idstringMemory ID(mem_...)。

请求体

字段类型必选说明
contentstring新内容,UTF-8 明文;原始字节 ≤100 KiB。约束详见 content 约束
content_sha256string期望的当前内容 SHA-256,用于乐观并发控制。不一致时返回 409
metadataobject新元数据,整体替换当前 metadata(非合并)。未传入时保持原 metadata 不变。约束详见 Memory metadata 约束
path 不可修改。需要改路径时删除原 memory 后重新创建。

示例请求

curl -X POST "https://api.qoder.com/api/v1/forward/memory_stores/memstore_00mc7mukn7lkxr454tjd/memories/mem_00mc7mvag5u68kkfvxhy" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# 架构决策 v2\n\n改为 Modular Monolith。",
    "content_sha256": "1712de0d497a5aeef2beeccf4fbb7d5a16944975438d0c25447b9c1fba13099a"
  }'

示例响应

HTTP 200 OK
{
  "id": "mem_00mc7mvag5u68kkfvxhy",
  "type": "memory",
  "memory_store_id": "memstore_00mc7mukn7lkxr454tjd",
  "path": "decisions/arch-choice.md",
  "content": "# 架构决策 v2\n\n改为 Modular Monolith。",
  "content_size_bytes": 108,
  "content_sha256": "9a4f8d2c1b7e6543210fedcba9876543210fedcba9876543210fedcba987654",
  "metadata": {"owner": "backend-team"},
  "created_at": "2026-08-14T10:00:00Z",
  "updated_at": "2026-08-14T11:00:00Z"
}

响应字段解释

返回更新后的 Memory 对象,包含 content

注意事项

已归档的 Memory Store 不允许更新 memory,返回 409

错误码

HTTPtype触发条件
400invalid_request_errorcontent 缺失或非法,超过 100 KiB,含非打印控制字符,或 metadata 违规。
401authentication_error缺少或无效的认证令牌。
403permission_error当前调用方无权访问该资源。
404not_found_errorMemory Store 或 Memory 不存在,或跨用户不可见。
409conflict_errorcontent_sha256 与服务端当前内容不一致(并发写入),或 Store 已归档。
500/502/503api_errorForward 或依赖服务失败。