Replay events to a webhook endpoint
POST /v1/webhook-endpoints/{endpoint_id}:replay · permission webhook-endpoints:write · all plans
Queues again the events of [from, to) within the last 30 days, for example the events of a period in which the endpoint was disabled. Only the endpoint's event types are sent unless types narrows them. Each replayed delivery keeps the event's webhook-id, so a receiver that removes duplicates by webhook-id processes each event once; replay_no on the delivery grows by one.
Request
| Field | Type | Required | Description |
|---|---|---|---|
endpoint_id |
path | yes | Webhook endpoint ID (whe_…). |
from |
date-time | yes | Start of the range (inclusive), within the last 30 days. |
to |
date-time | yes | End of the range (exclusive), after from. |
types |
string[] | no | Event types to replay; empty or missing means the endpoint's types. |
Idempotency-Key |
header | no | Replays the response for a repeated request with the same key, without queueing again. |
{
"from": "2026-10-20T00:00:00Z",
"to": "2026-10-21T00:00:00Z",
"types": ["user.created"]
}
Response
200 OK with the number of queued deliveries.
{
"enqueued": 42
}
Errors
| HTTP | code | When |
|---|---|---|
| 400 | unknown_field |
The body has a field that is not listed above. |
| 404 | not_found |
No such endpoint in this environment. |
| 415 | unsupported_media_type |
The body is missing or not application/json. |
| 422 | validation_failed |
/from required, /to required, or a range rule: to not after from, or older than 30 days. |
| 401 | unauthenticated |
The credential is missing, invalid or revoked. |
| 403 | insufficient_permissions |
The credential lacks webhook-endpoints:write. |
| 503 | service_unavailable |
Replay is not available yet in this region, or webhook administration is temporarily unavailable; retry after Retry-After. |
Example
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 (the body comes from standard input or a file (--data @replay.json)):
echo '{"from":"2026-10-20T00:00:00Z","to":"2026-10-21T00:00:00Z"}' | keenauth webhook-endpoints replay whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --data -