Endpoints
POST /webhooks/{id}/deliveries/{deliveryId}/replay
Manually re-enqueue a past delivery for immediate retry.
POST
/api/v1/webhooks/{id}/deliveries/{deliveryId}/replaysecret keyRe-enqueue a past delivery. We reset its status to `pending` and `nextAttemptAt = NOW()` so the dispatcher cron picks it up on the next tick (≤5s). The same row is reused — the attempts counter keeps incrementing so you can see this is a manual retry. Useful for `dead_letter` rows (after your handler is fixed) and for force-retrying a `failed` row before the next scheduled attempt.
Request
curl -X POST https://sandbox.key2pays.com/api/v1/webhooks/wh_3f6c7b1…/deliveries/wd_a749dc7…/replay \ -H "Authorization: Bearer sk_test_51N8mP...exampleK3Y"
Response
{
"ok": true,
"deliveryId": "wd_a749dc7…",
"previousStatus": "dead_letter",
"newStatus": "pending",
"nextAttemptAt": "2026-05-12T18:00:00.000Z",
"note": "The dispatcher cron will pick this up on its next tick (≤5s). Poll GET /webhooks/{id}/deliveries to see the result."
}