POST /v1/agent/invoke puede terminar con status: "awaiting_approval".
run_id es el id público de la solicitud. thread_id es el valor que enviaste, o null. pending_tool_approvals solo aparece mientras la ejecución espera. Cada elemento incluye approval_id, tool_name, summary, arguments, expires_at y review_url. review_url abre la aprobación en el panel. No es un token de correo. denied_tool_calls solo aparece cuando una herramienta fue denegada, con reason: "policy_deny". El texto de la respuesta también incluye [Waiting for approval: …].
Una invocación en streaming pone los mismos campos en el evento final usage.
Continuar la ejecución
Envía el mismothread_id con decided_tool_approvals:
decided_tool_approvals y reutilizas el hilo, Fetch Hive carga las aprobaciones de ese hilo.
Decidir con una clave de API
decision es allow_once o deny. always_allow devuelve 422 con always_allow_requires_dashboard. Una segunda decisión devuelve 409. Una aprobación expirada devuelve 410. Una aprobación fuera del espacio de la clave devuelve 404.
Lista las aprobaciones pendientes:
status es pending por defecto. Puedes filtrar con agent_id, run_id y request_id. Las páginas usan cursor y devuelven como máximo 50 filas.
Webhooks
Una ejecución iniciada por webhook envíaagent.awaiting_approval cuando se pausa. El payload incluye pending_tool_approvals. Cuando la ejecución continúa, agent.completed incluye resumed_from_run_id.
