Saltar al contenido principal
Con las aprobaciones de herramientas activas, 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

Una llamada con clave de API se reanuda en el servidor después de la decisión. Consulta la ejecución o usa el webhook. No envíes otra invocación para ese hilo. Un cliente de streaming de primera parte envía el mismo thread_id con decided_tool_approvals:
Si omites 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.

Omitir aprobaciones para un servidor de confianza

Consulta Invocar un agente para tool_approval. Una clave de API puede enviar auto_approve solo después de que un propietario o administrador del workspace permita esa clave en Configuración → Claves de API. El permiso no es una política. Las acciones destructivas siguen pidiendo aprobación, las reglas de denegación siguen bloqueando, los subagentes heredan el campo y los flujos de trabajo que inicia el agente no lo heredan.

Webhooks

Una ejecución iniciada por webhook envía agent.awaiting_approval cuando se pausa. El payload incluye pending_tool_approvals. Cuando la ejecución continúa, agent.completed incluye resumed_from_run_id, y data.output_json cuando la solicitud del webhook envió response_format.