Docs

供应凭证 API

通过脚本或 Agent 批量添加和管理厂商 API Key、Bedrock Role 与 Vertex Service Account JSON。

本页目录
  1. 创建 Supplier Token
  2. 批量添加凭证
  3. 厂商 API Key
  4. Vertex Service Account JSON
  5. Bedrock 委托 Role
  6. 管理凭证
  7. Agent 调用方式
  8. 安全与路由状态

供应凭证 API 是面向供应商的一套精简自动化接口。同一套账号级 API 支持厂商官方 API Key、委托的 AWS Bedrock IAM Role 和 Google Vertex Service Account JSON。

Supplier Token 只能访问这套控制接口。它与 AnyPath Gateway API Key 完全分离,不能调用模型,也不会获得 Admin 或 Operator 权限。

创建 Supplier Token

打开 控制台 → 路由 → 供应凭证,创建 Supplier Token 并立即复制。明文只显示一次,AnyPath 只保存哈希。

export ANYPATH_CONTROL_URL="https://anypath.dev"
export ANYPATH_SUPPLIER_TOKEN="ap_supply_..."

机器请求统一使用:

Authorization: Bearer ap_supply_...
Content-Type: application/json

不要在这里使用 Gateway API Key(sk-...),也不要用 Supplier Token 调用模型接口。

批量添加凭证

POST /api/gateway/p2p/supply-credentials 每次最多接收 100 项。除非显式设置 "validate": false,新建和恢复的凭证都会自动验证。每一项独立返回结果。

厂商 API Key

curl "$ANYPATH_CONTROL_URL/api/gateway/p2p/supply-credentials" \
  -H "Authorization: Bearer $ANYPATH_SUPPLIER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"kind":"api_key","preset":"anthropic-console","value":"provider-key-1"},
      {"kind":"api_key","preset":"openai-api-key","value":"provider-key-2"}
    ]
  }'

AWS Claude Platform 同样使用 api_key,但 preset 为 aws-claude-platform,并需同时提供 awsRegion 和 workspaceId。

Vertex Service Account JSON

Gemini 使用 gemini-vertex,Vertex 上的 Claude 使用 anthropic-vertex:

{
  "items": [
    {
      "kind": "vertex_json",
      "preset": "gemini-vertex",
      "location": "us-central1",
      "serviceAccountJson": {
        "type": "service_account",
        "project_id": "example-project",
        "client_email": "supplier@example-project.iam.gserviceaccount.com",
        "private_key": "<service-account-private-key>",
        "token_uri": "https://oauth2.googleapis.com/token"
      }
    }
  ]
}

私钥在接收时即加密,之后不会再次返回。批量上传时,每个 Service Account 对应一个 vertex_json 条目。

Bedrock 委托 Role

Bedrock Role 在添加前需要两步信任配置:

  1. 获取精确的信任策略和权限策略:
curl "$ANYPATH_CONTROL_URL/api/gateway/p2p/aws/assume-role" \
  -H "Authorization: Bearer $ANYPATH_SUPPLIER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"preview","roleArn":"arn:aws:iam::123456789012:role/AnyPathBedrock"}'
  1. 在 AWS 中应用返回的两份策略,再以 "action":"verify" 重复请求。STS 边界检查通过后会返回短时有效的 proof。
  2. 添加 Role:
{
  "items": [
    {
      "kind": "bedrock_role",
      "preset": "anthropic-bedrock",
      "roleArn": "arn:aws:iam::123456789012:role/AnyPathBedrock",
      "region": "us-east-1",
      "proof": "v1..."
    }
  ]
}

AnyPath 只保存 Role ARN 和账号级信任元数据,不保存长期 IAM Key 或临时 STS 凭证。

管理凭证

操作接口
查看脱敏凭证GET /api/gateway/p2p/supply-credentials
添加或批量添加POST /api/gateway/p2p/supply-credentials
启用或停用PATCH /api/gateway/p2p/supply-credentials/{id},请求体为 {"enabled":true} 或 false
重新验证POST /api/gateway/p2p/supply-credentials/{id}/validate
删除DELETE /api/gateway/p2p/supply-credentials/{id}

列表只返回脱敏提示、供应商、凭证类型、模型、状态和验证证据,不会返回厂商密钥或 Vertex JSON。

Agent 调用方式

这套流程不需要单独搭建 MCP Server。给 Agent 提供控制面 URL、通过密钥环境注入 Supplier Token,并提供这份 HTTP 契约即可。安全循环是:先查询当前凭证,批量添加缺失项,检查每一项结果,再只对接口返回且属于当前账号的 ID 执行停用或删除。

同一账号、preset 和凭证的重复写入具有幂等性。已删除凭证可以重新添加,并通过相同的默认关闭验证路径恢复。

安全与路由状态

  • 凭证在保存前加密,所有响应都会脱敏。
  • 新建、恢复或重新启用的凭证,在验证和现有价格、结算门禁通过前不会参与路由。
  • 上游验证失败时凭证保持 failed,不会静默开放路由。
  • 撤销 Supplier Token 后,使用该 Token 的后续请求会立即被拒绝。
  • Supplier Token 不能管理其他用户的凭证、创建 Gateway API Key、调用模型或访问 Admin API。

底层供应商和模型协议见资源提供方指南。