谁会收到通知
工作区所有者和发起该操作的人会收到邮件。已连接 Telegram 时也会通过 Telegram 通知。同一请求会出现在控制台的审批页面。API 调用会看到什么
流式和非流式调用都会在第一轮审批时停止。 非流式响应包含status、run_id 和 thread_id。status 为 completed 或 awaiting_approval。仅在运行等待审批时才包含 pending_tool_approvals。仅当策略拒绝了某次调用时才包含 denied_tool_calls,其 reason 为 policy_deny。响应文本包含 [Waiting for approval: …]。
流式调用会先发送 tool_approval 事件,然后在最终 usage 事件上带上相同字段。
review_url 在登录后打开 https://app.fetchhive.com/{workspace_id}/approvals?approval={approval_id}。邮件令牌不会出现在 API 响应中。看起来像密钥的参数值会替换为 [redacted]。
如果响应同时包含 pending_delegations,请先处理工具审批。
关闭工具审批时,status 为 completed,并且不会返回审批数组。
如何答复
打开控制台链接、使用邮件链接,或用 API 密钥决定:POST /v1/public/workspaces/{workspace_id}/tool_action_approvals/{id}/decide
decision 为 allow_once 或 deny。always_allow 返回 422 always_allow_requires_dashboard。再次决定返回 409。已过期的审批返回 410。
如何继续
使用相同的智能体和thread_id 再次调用,并带上 decided_tool_approvals: [{ "approval_id": "…" }]。message 可以是空字符串或一条新消息。只会读取 approval_id。
如果省略 decided_tool_approvals 并复用该线程,Fetch Hive 会加载该线程上已结束且尚未恢复的审批。可以发送 id 时请显式发送。
Webhook 触发或带有 async.callback_url 的调用会在决定之后自行继续。回调会先收到 agent.awaiting_approval,然后收到带有 resumed_from_run_id 的 agent.completed。
过期与轮次上限
审批在创建 24 小时后过期,除非设置了TOOL_APPROVAL_TTL_HOURS。一次运行链在五轮审批后停止,并附加 [Approval limit reached]。

