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

# Consultar estado

> Consulta si la sesión del usuario está en ejecución, esperando input o idle

## Descripción

Devuelve el estado de la sesión asociada a un `referenceId` para un agente con canal personalizado.

Este endpoint es una consulta **controlada**: exige la misma firma HMAC que [enviar interacción](/api/canal-personalizado/enviar-interaccion). La autenticación `credentials.auth` del canal **no** se exige aquí (solo aplica a las llamadas salientes hacia tu webhook).

## Endpoint

```
POST https://chatbot.jelou.ai/v1/custom-channel/{botId}/status
```

## Parámetros de ruta

<ParamField path="botId" type="string" required>
  Identificador del agente.
</ParamField>

## Parámetros del cuerpo

<ParamField body="referenceId" type="string" required>
  Mismo identificador de usuario que usaste al [enviar la interacción](/api/canal-personalizado/enviar-interaccion).
</ParamField>

## Autenticación / firma

Incluye el header obligatorio:

```
X-Jelou-Signature: sha256=<HMAC_HEX>
```

La firma se calcula sobre el **raw body** exacto de la petición (HMAC-SHA256). Detalles en [Firma HMAC](/api/canal-personalizado/firma-hmac).

## Valores de `status`

| Valor           | Significado                                 |
| --------------- | ------------------------------------------- |
| `running`       | Hay una ejecución del flujo en curso.       |
| `pending_input` | El agente espera una respuesta del usuario. |
| `idle`          | No hay ejecución activa ni espera de input. |

## Ejemplo de solicitud

```bash cURL theme={null}
curl --request POST \
  --url https://chatbot.jelou.ai/v1/custom-channel/BOT_ID/status \
  --header 'Content-Type: application/json' \
  --header 'X-Jelou-Signature: sha256=HMAC_HEX' \
  --data '{
    "referenceId": "user-123"
  }'
```

## Respuestas

| Código | Estado                | Descripción                                             |
| ------ | --------------------- | ------------------------------------------------------- |
| 200    | OK                    | Estado devuelto.                                        |
| 400    | Bad Request           | Falta `referenceId`.                                    |
| 401    | Unauthorized          | Firma inválida, ausente o no se pudo resolver la clave. |
| 500    | Internal Server Error | No se pudo leer el estado.                              |

## Ejemplo de respuesta

```json theme={null}
{
  "status": "pending_input"
}
```
