确认破坏性操作
处理 412 confirmation_required:签发确认令牌,并带上 X-Trustvice-Confirmation 重新调用。
这项任务
您的调用方需要执行 confirmationPolicy 为 "always" 的操作,即所有 destructive 和 billing_impacting 操作。在请求带有新的确认令牌之前,Trustvice 会拒绝执行这些操作:必须有人或明确的自主授权在最近为该操作表示同意。
开始之前的准备
- 所需的凭据
- 您还需要准备
- 与第一个示例相同的 OAuth 访问令牌
curl
代码从环境变量中读取密钥。请将其保存在 shell 或密钥存储中,切勿写入要提交的文件。操作调用还需要发送 X-Workspace-Id。
步骤
调用操作
照常调用受保护的操作。没有令牌时,它会返回
412和代码confirmation_required。文档以privacy.dsr.submit为例。curl -sS -X POST https://api.trustvice.com/api/v1/actions/privacy.dsr.submit \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "X-Workspace-Id: ws_…" \ -H "Content-Type: application/json" \ -d '{ … }'{ "ok": false, "error": { "code": "confirmation_required", "message": "This action requires an explicit confirmation." } }签发确认令牌
向
POST /api/v1/confirmations/mint请求该操作 ID 的令牌。令牌绑定到调用方和该操作的受众,只存活几秒,并在首次使用时被消耗。curlcurl -sS -X POST https://api.trustvice.com/api/v1/confirmations/mint \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "actionId": "privacy.dsr.submit" }'重新调用操作
将令牌的
jti放入X-Trustvice-Confirmation,再次发送同一调用。此时操作会执行并返回真实结果。curlcurl -sS -X POST https://api.trustvice.com/api/v1/actions/privacy.dsr.submit \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "X-Workspace-Id: ws_…" \ -H "X-Trustvice-Confirmation: cnf_…" \ -H "Content-Type: application/json" \ -d '{ … }'让智能体在限度内行动
需要在每次调用时无需人工点击就执行受保护操作的智能体,持有一项自主授权:有时限、有安全上限,并记录在工作区中。授予自主权本身需要一个针对
agents.autonomy.grant受众、由人签发的确认令牌。在有覆盖范围的授权生效期间,mint 会为范围内的操作返回autonomous: true的令牌。HTTPPOST /api/v1/autonomy/grant { "maxSafetyLevel": …, "ttlSeconds": … } POST /api/v1/autonomy/revoke GET /api/v1/autonomy/status
内容复制自: /docs/confirmations
返回的那些内容
mint 调用在 jti 中返回令牌,在 audience 中返回其绑定的操作,并返回过期时间。
{ "ok": true,
"jti": "cnf_…",
"audience": "privacy.dsr.submit",
"autonomous": false,
"expiresAt": "2026-09-14T13:20:37.675Z" }您可以依赖什么
可以依赖
- 确认令牌无法重放,也不能用于其他操作。
- 受保护的操作绝不会悄无声息地执行:每次调用都需要新的令牌或覆盖它的自主授权。
- 自主权永远无法以自主方式创建。
不要假定
- 第二次经过确认的调用是无害的:不安全的操作不是幂等的,第二次调用就是第二次生效。
- 令牌会一直有效:它只存活几秒。
以上每一条说明都来自本页链接的 Trustvice 文档。如果文档页面写得更详细,以文档为准。
后续步骤
相关的其他示例
调用 Agentic API 操作
签发 OAuth 访问令牌,在公开目录中找到操作,并通过 POST /api/v1/actions/<id> 调用它。
连接 MCP 客户端
将位于 https://mcp.trustvice.com/mcp 的 Trustvice MCP 服务器添加到 Claude Code、Cursor 或 VS Code。
在浏览器中验证回执
将 Trustvice 签名回执粘贴到 /verify,在您自己的浏览器中检查其 Ed25519 签名。
通过邮件接收新的示例
当我们向实用示例中添加新示例时,会发送一封简短的邮件。不会发送其他任何邮件,而且您可以从任意一封邮件中退订。
从 Agentic API 开始。
每个已注册的操作对应一个 POST 端点,通过 REST 和 MCP 调用时行为相同。文档列出了每个操作的输入和权限。
