Webhook Deliveries

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.

post/v1/webhook-deliveries/{delivery}/retry

Request

  • Base URL: https://api.subscriby.net
  • URL: https://api.subscriby.net/v1/webhook-deliveries/{delivery}/retry
  • Auth: HTTP bearer

Path parameters

deliverystring uuid required

The delivery, resolved by the route binder.

Headers

Idempotency-Keystring uuid required

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.