Reproducir eventos en un endpoint de webhook

POST /v1/webhook-endpoints/{endpoint_id}:replay · permiso webhook-endpoints:write · todos los planes

Vuelve a encolar los eventos del intervalo [from, to) de los últimos 30 días, por ejemplo los eventos de un periodo en el que el endpoint estuvo deshabilitado. Solo se envían los tipos de evento del endpoint, a menos que types los restrinja. Cada entrega reproducida conserva el webhook-id del evento, de modo que un receptor que elimina duplicados por webhook-id procesa cada evento una sola vez; replay_no de la entrega aumenta en uno.

Solicitud

Campo Tipo Obligatorio Descripción
endpoint_id path sí Identificador del endpoint de webhook (whe_…).
from date-time sí Inicio del intervalo (inclusive), dentro de los últimos 30 días.
to date-time sí Fin del intervalo (exclusivo), posterior a from.
types string[] no Tipos de evento a reproducir; vacío o ausente significa los tipos del endpoint.
Idempotency-Key header no Reproduce la respuesta de una solicitud repetida con la misma clave, sin volver a encolar.
{
  "from": "2026-10-20T00:00:00Z",
  "to": "2026-10-21T00:00:00Z",
  "types": ["user.created"]
}

Respuesta

200 OK con el número de entregas encoladas.

{
  "enqueued": 42
}

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.
415 unsupported_media_type El cuerpo falta o no es application/json.
422 validation_failed /from required, /to required, o una regla de intervalo: to no posterior a from, o anterior a 30 días.
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 reproducción aún no está disponible en esta región, o la administración de webhooks no está disponible temporalmente; reintente después de Retry-After.

Ejemplo

curl -X POST https://api.eu.keenauth.com/v1/webhook-endpoints/whe_01k8a3m5q7t9v1w3x5y7z9b2c4:replay \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7a1c3e5f-9b2d-4f6a-8c0e-2b4d6f8a0c2e" \
  -d '{"from":"2026-10-20T00:00:00Z","to":"2026-10-21T00:00:00Z"}'

CLI (el cuerpo se toma de la entrada estándar o de un archivo (--data @replay.json)):

echo '{"from":"2026-10-20T00:00:00Z","to":"2026-10-21T00:00:00Z"}' | keenauth webhook-endpoints replay whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --data -