Skip to main content
Memory Stores

创建 Memory Store

创建一个新的 Forward Memory Store。

创建一个 Memory Store(记忆库容器)。可以只创建 Store,也可以通过可选的 mount 字段在创建后直接挂载到一个 (identity, template)。

路径

POST /api/v1/forward/memory_stores

请求头

头部必选说明
Authorization是Bearer <PAT 或 admin SAT>
Idempotency-Key是创建请求幂等键。相同 key 只能用于相同请求体;不传返回 400。
Content-Type是application/json

请求体

字段类型必选说明
namestring是Store 展示名,非空。不允许非打印控制字符(U+0000–U+001F、U+007F),换行 \n、回车 \r、制表 \t 除外。
descriptionstring否自由文本描述。不允许非打印控制字符。
metadataobject否键值元数据,值必须为字符串。最多 15 个键;键 1..64 字符;值 ≤512 字符。created_by 是 Forward 保留键,服务端自动写入 "forward";调用方传入 created_by 会返回 400 invalid_request_error。详见 Store metadata 约束。
mountobject否创建后要直接建立的挂载关系。传入时必须同时提供 identity_id 和 template_id。
mount.identity_idstring条件必选Identity ID(idn_...)。传入 mount 时必选。
mount.template_idstring条件必选Template ID(tmpl_...)。传入 mount 时必选。
直接挂载与单独调用挂载 Memory Store的规则相同:Store 必须是用户创建的 active Store,挂载权限固定为 read_only,同一 (identity, template) 最多挂载 10 个显式 Store。创建出的 Store 仍为 system_managed=false,不会变成系统默认 Memory Store。

示例请求

curl -X POST "https://api.qoder.com/api/v1/forward/memory_stores" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-alpha-store-v1" \
  -d '{
    "name": "project-alpha-memory",
    "description": "Alpha 项目的 Agent 知识库",
    "metadata": {"team": "backend"},
    "mount": {
      "identity_id": "idn_63ee28747a35cff93771c491",
      "template_id": "tmpl_eb3377fb74ad413e17b3d755"
    }
  }'
如果只需要创建 Store,省略 mount 即可。

示例响应

HTTP 200 OK
{
  "id": "memstore_00mc7mukn7lkxr454tjd",
  "type": "memory_store",
  "name": "project-alpha-memory",
  "description": "Alpha 项目的 Agent 知识库",
  "status": "active",
  "entry_count": 0,
  "total_size": 0,
  "metadata": {
    "team": "backend",
    "created_by": "forward"
  },
  "system_managed": false,
  "identity_id": null,
  "created_at": "2026-08-14T10:00:00Z",
  "updated_at": "2026-08-14T10:00:00Z",
  "archived_at": null,
  "binding_info": {
    "identity_template_count": 1
  }
}
传入 mount 时,接口会在返回前完成挂载,因此响应中的 binding_info.identity_template_count 已包含新建的挂载关系。使用相同 Idempotency-Key 和相同请求体重试时,服务会继续完成同一个 Store 的挂载,不会重复创建 Store 或挂载关系。

响应字段解释

返回 Memory Store 对象。

错误码

HTTPtype触发条件
400invalid_request_error请求体非法(name 缺失、含控制字符,metadata 超过 15 键或含 created_by,缺少 Idempotency-Key,mount 缺少任一 ID,或显式挂载数已达上限 10)。
401authentication_error缺少或无效的认证令牌。
403permission_error当前调用方无权创建资源。
404not_found_errormount 指定的 Identity 或 Template 不存在或不可见。
409conflict_error相同 Idempotency-Key 携带了不同请求体,或 create 恢复需要人工介入。
500/502/503api_errorForward 或依赖服务失败。