> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchhive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Aprobaciones de herramientas

> Pausa la ejecución de un agente para aprobarla y continúa con la API pública

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

Envía el mismo `thread_id` con `decided_tool_approvals`:

```json theme={null}
{
  "agent": "YOUR_AGENT_ID",
  "thread_id": "ticket-42",
  "message": "",
  "decided_tool_approvals": [{ "approval_id": "APPROVAL_ID" }]
}
```

Si omites `decided_tool_approvals` y reutilizas el hilo, Fetch Hive carga las aprobaciones de ese hilo.

## Decidir con una clave de API

```bash theme={null}
curl 'https://api.fetchhive.com/v1/public/workspaces/WORKSPACE_ID/tool_action_approvals/APPROVAL_ID/decide' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw '{ "decision": "allow_once" }'
```

`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:

```bash theme={null}
curl 'https://api.fetchhive.com/v1/public/workspaces/WORKSPACE_ID/tool_action_approvals' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

`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í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`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.