Retry a webhook delivery
curl -X POST https://api.subscriby.net/v1/webhook-deliveries/$DELIVERY_ID/retry \
-H "Authorization: Bearer $SUBSCRIBY_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
Answers 200 with the row pending again: attempts back to 0, response_status, response_excerpt and dead_lettered_at cleared, and the worker queued. The delivery log then shows the replay's own outcome rather than the original failure's. A retry re-posts the original event to its endpoint; nothing new is raised about the replay itself.
Only failed and dead rows can be retried. Resetting a delivered row would post the event to your server a second time. The dashboard hides its retry button behind the same rule, but a row can be delivered between a render and a click, and the API has no button at all.
Request
- Base URL: https://api.subscriby.net
- URL: https://api.subscriby.net/v1/webhook-deliveries/{delivery}/retry
- Auth: HTTP bearer
Path parameters
The delivery, resolved by the route binder.
Headers
A key unique to this operation, such as a fresh UUID. The same key replays the original 2xx response for 24 hours (with Idempotent-Replay: true), so a retry after a timeout never repeats the write; the same key with a different body is refused with 409.
Response
The delivery, pending again.
Example response
{
"data": {
"id": "34f1d78e-05a2-4b69-8c3d-7e921ab06f45",
"endpoint_id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9",
"event": "subscription.created",
"event_id": "01HXZ3Q8M7Y2K4N6P9R1T3V5W7",
"status": "failed",
"attempts": 2,
"response_status": 500,
"response_excerpt": "upstream unavailable",
"next_attempt_at": "2026-09-06T10:15:00+00:00",
"created_at": "2026-09-06T10:05:00+00:00"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.