GET /v1/webhooks/{id}
GET
/v1/webhooks/{id}Para desarrolladores
Descripción
Devuelve un webhook con el estado de su última entrega. El secreto de firma no se incluye.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
webhooks:read. Formato:Bearer FD.<key_id>.<token>. X-Instance-Slugstringheaderobligatorio
Request
Path params:
idinteger- Identificador del webhook.
Response
200 OKDevuelve un objeto con los campos que siguen.
idintegerobligatorio- Identificador del webhook.
namestringobligatorio- —
urlstringobligatorio- Endpoint que recibe las entregas.
eventsstring[] | nullobligatorio- Tipos de evento que recibe.
nullrecibe todos. Ver Eventos *(pendiente de publicación)*. is_activebooleanobligatoriofalsesi el webhook está pausado.last_success_atstring (date-time) | nullobligatorio- Última entrega respondida con
2xx. last_failure_atstring (date-time) | nullobligatorio- Última entrega fallida.
last_status_codeinteger | nullobligatorio- Código HTTP de la última entrega.
nullsi no hubo respuesta, por timeout o error de conexión. consecutive_failuresintegerobligatorio- Entregas fallidas seguidas desde el último éxito.
auto_paused_atstring (date-time) | nullobligatorio- Momento en que el webhook se pausó por fallos persistentes.
nullsi no está pausado automáticamente. Ver Pausa automática *(pendiente de publicación)*. previous_secret_expires_atstring (date-time) | nullobligatorio- Hasta cuándo el secreto anterior a la última rotación firma junto al vigente.
nullsi no hay un secreto anterior vigente. Ver Rotar el secreto *(pendiente de publicación)*. created_atstring (date-time)obligatorio- —
updated_atstring (date-time)obligatorio- Última modificación de la configuración del webhook. Una entrega no la cambia.
Errores
| Código | Cuándo |
|---|---|
| 404 | El webhook no existe en la instancia (webhook_not_found). |
Detalle completo en Errores genéricos.
Notas
last_success_atylast_failure_atson independientes: los dos pueden tener valor, y el más reciente dice cómo terminó la última entrega.is_activeenfalseconauto_paused_atinformado es una pausa automática; conauto_paused_atennull, una pausa manual.
Request
curl -X GET "https://$API_HOST/v1/webhooks/3" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"id": 3,
"name": "CRM de ventas",
"url": "https://hooks.example.com/fidelizador",
"events": [
"mail.sent",
"mail.bounced"
],
"is_active": true,
"last_success_at": "2026-09-13T12:00:04Z",
"last_failure_at": "2026-09-12T08:15:40Z",
"last_status_code": 200,
"consecutive_failures": 0,
"auto_paused_at": null,
"previous_secret_expires_at": null,
"created_at": "2026-09-10T15:30:00Z",
"updated_at": "2026-09-10T15:30:00Z"
}