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 -