创建一个新的 Forward Memory Store。
创建一个 Memory Store(记忆库容器)。可以只创建 Store,也可以通过可选的
直接挂载与单独调用挂载 Memory Store的规则相同:Store 必须是用户创建的 active Store,挂载权限固定为
如果只需要创建 Store,省略
HTTP 200 OK
传入
返回 Memory Store 对象。
mount 字段在创建后直接挂载到一个 (identity, template)。
路径
POST /api/v1/forward/memory_stores
请求头
| 头部 | 必选 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <PAT 或 admin SAT> |
Idempotency-Key | 是 | 创建请求幂等键。相同 key 只能用于相同请求体;不传返回 400。 |
Content-Type | 是 | application/json |
请求体
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
name | string | 是 | Store 展示名,非空。不允许非打印控制字符(U+0000–U+001F、U+007F),换行 \n、回车 \r、制表 \t 除外。 |
description | string | 否 | 自由文本描述。不允许非打印控制字符。 |
metadata | object | 否 | 键值元数据,值必须为字符串。最多 15 个键;键 1..64 字符;值 ≤512 字符。created_by 是 Forward 保留键,服务端自动写入 "forward";调用方传入 created_by 会返回 400 invalid_request_error。详见 Store metadata 约束。 |
mount | object | 否 | 创建后要直接建立的挂载关系。传入时必须同时提供 identity_id 和 template_id。 |
mount.identity_id | string | 条件必选 | Identity ID(idn_...)。传入 mount 时必选。 |
mount.template_id | string | 条件必选 | Template ID(tmpl_...)。传入 mount 时必选。 |
read_only,同一 (identity, template) 最多挂载 10 个显式 Store。创建出的 Store 仍为 system_managed=false,不会变成系统默认 Memory Store。
示例请求
mount 即可。
示例响应
HTTP 200 OK
mount 时,接口会在返回前完成挂载,因此响应中的 binding_info.identity_template_count 已包含新建的挂载关系。使用相同 Idempotency-Key 和相同请求体重试时,服务会继续完成同一个 Store 的挂载,不会重复创建 Store 或挂载关系。
响应字段解释
返回 Memory Store 对象。
错误码
| HTTP | type | 触发条件 |
|---|---|---|
| 400 | invalid_request_error | 请求体非法(name 缺失、含控制字符,metadata 超过 15 键或含 created_by,缺少 Idempotency-Key,mount 缺少任一 ID,或显式挂载数已达上限 10)。 |
| 401 | authentication_error | 缺少或无效的认证令牌。 |
| 403 | permission_error | 当前调用方无权创建资源。 |
| 404 | not_found_error | mount 指定的 Identity 或 Template 不存在或不可见。 |
| 409 | conflict_error | 相同 Idempotency-Key 携带了不同请求体,或 create 恢复需要人工介入。 |
| 500/502/503 | api_error | Forward 或依赖服务失败。 |

