跳转到主要内容
启用工具审批后,POST /v1/agent/invoke 可以以 status: "awaiting_approval" 结束。 run_id 是公开的请求 id。thread_id 是你传入的值,未传入时为 null。pending_tool_approvals 仅在运行等待审批时出现。每一项包含 approval_id、tool_name、summary、arguments、expires_at 和 review_url。review_url 在控制台打开该审批,不是邮件令牌。denied_tool_calls 仅在工具被拒绝时出现,reason 为 policy_deny。响应文本也会包含 [Waiting for approval: …]。 流式调用把同样的字段放在最后的 usage 事件上。

继续运行

API 密钥调用会在决定之后由服务器自动继续。请轮询该运行或使用 webhook。不要再次调用该线程。 第一方流式客户端使用同一个 thread_id 并带上 decided_tool_approvals:
如果省略 decided_tool_approvals 并复用该线程,Fetch Hive 会加载该线程上的审批。

用 API 密钥决定

decision 为 allow_once 或 deny。always_allow 返回 422,错误码为 always_allow_requires_dashboard。再次决定返回 409。已过期的审批返回 410。不属于该 API 密钥工作区的审批返回 404。 列出待审批项:
status 默认为 pending。可用 agent_id、run_id 和 request_id 筛选。分页使用 cursor,每页最多 50 条。

为受信任的服务器跳过批准

tool_approval 见调用代理。只有工作区所有者或管理员在“设置 → API 密钥”中允许该密钥之后,API 密钥才能发送 auto_approve。该权限不是一条策略。破坏性操作仍然会询问,拒绝规则仍然会阻止,子代理会继承该字段,代理启动的工作流不会继承。

Webhook

由 webhook 发起的运行在暂停时发送 agent.awaiting_approval。载荷包含 pending_tool_approvals。运行继续后,agent.completed 包含 resumed_from_run_id;如果 webhook 请求发送了 response_format,还会包含 data.output_json。