Rejouer des événements vers un point de terminaison webhook

POST /v1/webhook-endpoints/{endpoint_id}:replay · autorisation webhook-endpoints:write · tous les forfaits

Remet en file d'attente les événements de [from, to) des 30 derniers jours, par exemple les événements d'une période pendant laquelle le point de terminaison était désactivé. Seuls les types d'événements du point de terminaison sont envoyés, sauf si types les restreint. Chaque livraison rejouée conserve le webhook-id de l'événement, de sorte qu'un récepteur qui supprime les doublons par webhook-id ne traite chaque événement qu'une fois ; replay_no sur la livraison augmente de un.

Requête

Champ Type Obligatoire Description
endpoint_id path oui ID du point de terminaison webhook (whe_…).
from date-time oui Début de la plage (inclus), dans les 30 derniers jours.
to date-time oui Fin de la plage (exclue), après from.
types string[] non Types d'événements à rejouer ; vide ou absent signifie les types du point de terminaison.
Idempotency-Key header non Rejoue la réponse pour une requête répétée avec la même clé, sans remettre en file d'attente.
{
  "from": "2026-10-20T00:00:00Z",
  "to": "2026-10-21T00:00:00Z",
  "types": ["user.created"]
}

Réponse

200 OK avec le nombre de livraisons mises en file d'attente.

{
  "enqueued": 42
}

Erreurs

HTTP code Quand
400 unknown_field Le corps contient un champ qui n'est pas listé ci-dessus.
404 not_found Aucun point de terminaison de ce type dans cet environnement.
415 unsupported_media_type Le corps est absent ou n'est pas application/json.
422 validation_failed /from required, /to required, ou une règle de plage : to n'est pas après from, ou date de plus de 30 jours.
401 unauthenticated L'identifiant est absent, invalide ou révoqué.
403 insufficient_permissions L'identifiant ne dispose pas de webhook-endpoints:write.
503 service_unavailable Le rejeu n'est pas encore disponible dans cette région, ou l'administration des webhooks est temporairement indisponible ; réessayez après Retry-After.

Exemple

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 (le corps provient de l'entrée standard ou d'un fichier (--data @replay.json)) :

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