Enviar un evento de prueba a un endpoint de webhook
POST /v1/webhook-endpoints/{endpoint_id}:test · permiso webhook-endpoints:write · todos los planes
Envía un evento sintético firmado del tipo elegido (por defecto user.created) al endpoint y devuelve el resultado. El evento contiene data.test = true y se firma con el secreto actual del endpoint, igual que una entrega real, para que pueda comprobar la verificación de la firma. No se escribe ningún registro de entrega y no se devuelve el cuerpo de la respuesta del receptor. Cada endpoint permite 10 pruebas por minuto.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
endpoint_id |
path | sí | Identificador del endpoint de webhook (whe_…). |
event_type |
string | no | Tipo del catálogo de eventos a enviar; por defecto user.created. El cuerpo es opcional. |
Idempotency-Key |
header | no | Reproduce el resultado de una solicitud repetida con la misma clave. |
{
"event_type": "user.updated"
}
Respuesta
200 OK con el resultado. Una entrega fallida sigue devolviendo 200: succeeded es false y error_class indica el motivo (timeout, tls, dns, egress_blocked, http_status, connection).
{
"succeeded": true,
"http_status": 204,
"error_class": null,
"latency_ms": 87,
"event_id": "evt_01k8a3m7s9v1w3x5y7z9b2c4d6"
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 400 | unknown_field |
El cuerpo tiene un campo que no aparece en la lista anterior. |
| 404 | not_found |
No existe tal endpoint en este entorno. |
| 409 | conflict |
El endpoint no está enabled. |
| 422 | validation_failed |
/event_type unknown_event_type: no es un tipo del catálogo. |
| 429 | rate_limited |
Más de 10 pruebas por minuto para este endpoint; reintente después de Retry-After. |
| 401 | unauthenticated |
Falta la credencial, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La credencial no tiene el permiso webhook-endpoints:write. |
| 503 | service_unavailable |
La administración de webhooks no está disponible temporalmente; reintente después del periodo Retry-After. |
Ejemplo
curl -X POST https://api.eu.keenauth.com/v1/webhook-endpoints/whe_01k8a3m5q7t9v1w3x5y7z9b2c4:test \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"event_type":"user.updated"}'
CLI: keenauth webhook-endpoints test whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --event-type user.updated