Forward Credential API 复用的响应与鉴权对象结构。
Vault credential 对象
创建、修改、查询、列表、归档接口都会返回该结构。凭证密文(如 token、access_token、refresh_token、client_secret、secret_value)只在创建或修改请求中接收,永远不会在响应中返回。
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | Credential ID,前缀为 vcred_ |
type | string | 固定值 "vault_credential" |
vault_id | string | 所属 Vault ID |
auth | Credential auth object | 脱敏后的鉴权信息;不会返回密文 |
display_name | string | 兼容字段;当前固定为空字符串,不持久化 |
metadata | object | 与 credential 一起存储的自定义元数据对象;省略时为 {} |
archived_at | string | null | 归档时间,RFC 3339 格式;active 时为 null |
created_at | string | 创建时间,RFC 3339 格式 |
updated_at | string | 最后更新时间,RFC 3339 格式 |
Identity 归属
一个账户(或 Workspace)下可以创建多个 Identity,每个 Identity 表示该账户(或 Workspace)接入产品中的一个终端用户。
Credential 不单独记录归属,它的归属完全继承所在 Vault。因此:
- 访问 Credential 前会先按当前归属校验所在 Vault。有效 Identity Scope 下,Vault 不属于当前 Identity 时返回
404;未传identity_id的 PAT 和 Admin SAT 保持存量 Owner mismatch403。校验失败时请求不会继续处理 Credential。 - 归属于某个 Identity 的 Vault,其下所有 Credential 同样只对该 Identity 可见。
- 创建、列出、查询、更新、归档、删除 Credential 均支持
identity_id查询参数,语义与 Vault 一致,详见 Vault 的 Identity 归属。
identity_id 仅在操作 Identity 归属资源时使用,非必填;PAT 场景可显式传入,未传时为管理员视角;SAT 场景请签发 Identity 维度凭证且不要显式携带该参数,否则返回 HTTP 400。
创建 credential 请求
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
auth | Credential auth object | 是 | 凭证鉴权信息 |
metadata | object | 否 | 与 credential 一起存储的自定义元数据对象;省略时为 {} |
更新 credential 请求
仅接受 auth 和 metadata,至少提供一个字段。其他字段返回 400 invalid_request_error。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
auth | object | 否 | 部分更新鉴权信息;必须包含与当前 Credential 类型一致的 type |
metadata | object | null | 否 | merge patch;对象中的 null 删除对应键,顶层 null 清空全部 metadata |
Credential auth object
auth 通过 type 区分鉴权类型。响应中不会回填任何密文字段。
static_bearer
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "static_bearer" |
mcp_server_url | string | 是 | MCP server URL,最长 2048 字符 |
token | string | 是(请求) | 静态 Bearer token;仅创建请求接收,响应中不返回 |
mcp_oauth
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "mcp_oauth" |
mcp_server_url | string | 是 | MCP server URL,最长 2048 字符 |
client_id | string | 是 | OAuth 客户端 ID |
client_secret | string | 是(请求) | OAuth 客户端 secret;仅创建请求接收,响应中不返回 |
access_token | string | 否(请求) | 已完成 OAuth 换取的 access token;仅创建请求接收,响应中不返回 |
refresh_token | string | 否(请求) | OAuth refresh token;仅创建请求接收,响应中不返回 |
environment_variable
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "environment_variable" |
secret_name | string | 是(创建请求) | 环境变量名,必须匹配 [A-Za-z_][A-Za-z0-9_]*;创建后不可修改 |
secret_value | string | 是(创建请求) | 环境变量值;创建或修改请求接收,响应中不返回 |
injection_location | object | 否 | 注入位置配置,可包含 body、header 布尔字段 |
networking | object | 否 | 网络访问约束,支持 unrestricted 或带 allowed_hosts 的 limited |
具体鉴权类型的可用集合以 Forward Credential API 的创建接口为准;未列出的类型将在创建时返回 400 invalid_request_error。
列表分页字段
| 字段 | 类型 | 说明 |
|---|---|---|
data | Vault credential 对象 数组 | 当前页记录 |
has_more | boolean | 是否还有下一页 |
next_page | string | null | 下一页向后游标(推荐使用);has_more=true 时等于当前页 last_id,否则为 null |
first_id | string | null | 当前页第一条记录 ID |
last_id | string | null | 当前页最后一条记录 ID |
page / after_id / before_id 互斥,同时提供多个返回 400;推荐使用 page,语义等价于 after_id。
