Riproduci eventi verso un endpoint webhook
POST /v1/webhook-endpoints/{endpoint_id}:replay · autorizzazione webhook-endpoints:write · tutti i piani
Mette di nuovo in coda gli eventi di [from, to) degli ultimi 30 giorni, per esempio gli eventi di un periodo in cui l'endpoint era disabilitato. Vengono inviati solo i tipi di evento dell'endpoint, a meno che types non li restringa. Ogni consegna riprodotta mantiene il webhook-id dell'evento, quindi un destinatario che elimina i duplicati tramite webhook-id elabora ogni evento una sola volta; replay_no della consegna aumenta di uno.
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
endpoint_id |
path | sì | ID dell'endpoint webhook (whe_…). |
from |
date-time | sì | Inizio dell'intervallo (incluso), entro gli ultimi 30 giorni. |
to |
date-time | sì | Fine dell'intervallo (esclusa), successiva a from. |
types |
string[] | no | Tipi di evento da riprodurre; vuoto o assente significa i tipi dell'endpoint. |
Idempotency-Key |
header | no | Restituisce la risposta per una richiesta ripetuta con la stessa chiave, senza mettere di nuovo in coda. |
{
"from": "2026-10-20T00:00:00Z",
"to": "2026-10-21T00:00:00Z",
"types": ["user.created"]
}
Risposta
200 OK con il numero di consegne messe in coda.
{
"enqueued": 42
}
Errori
| HTTP | code | Quando |
|---|---|---|
| 400 | unknown_field |
Il corpo contiene un campo non elencato sopra. |
| 404 | not_found |
Nessun endpoint con questo ID in questo ambiente. |
| 415 | unsupported_media_type |
Il corpo manca oppure non è application/json. |
| 422 | validation_failed |
/from required, /to required, oppure una regola sull'intervallo: to non successivo a from, oppure più vecchio di 30 giorni. |
| 401 | unauthenticated |
La credenziale è mancante, non valida o revocata. |
| 403 | insufficient_permissions |
La credenziale non ha webhook-endpoints:write. |
| 503 | service_unavailable |
Il replay non è ancora disponibile in questa regione, oppure la gestione dei webhook è temporaneamente non disponibile; riprova dopo Retry-After. |
Esempio
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 (il corpo viene letto dallo standard input oppure da un file (--data @replay.json)):
echo '{"from":"2026-10-20T00:00:00Z","to":"2026-10-21T00:00:00Z"}' | keenauth webhook-endpoints replay whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --data -