Webhooks

Retries and replays

How MailBlastr retries failed webhook deliveries on an exponential-backoff schedule, and how to manually replay a webhook message that failed or already succeeded.

When MailBlastr POSTs an event to your endpoint, it expects a 2xx response within a few seconds. If your endpoint returns a non-2xx status, times out, or is unreachable, the delivery is marked failed and queued for retry.

Delivery is never lost on a single transient error — each message is retried on a fixed schedule before it is given up on, and you can always replay a message by hand from the dashboard.

Automatic retries

MailBlastr attempts to deliver each webhook message on a schedule with exponential backoff. Each delay is measured from the failure of the preceding attempt, not from the original event time.

  • Immediately
  • 5 seconds
  • 5 minutes
  • 30 minutes
  • 2 hours
  • 5 hours
  • 10 hours
  • 10 hours (a final attempt, in addition to the previous one)

For example, a message that fails its first three attempts before eventually succeeding is delivered roughly 35 minutes and 5 seconds after the first attempt (immediate + 5s + 5m + 30m).

If an endpoint is removed or disabled, all pending delivery attempts to that endpoint are cancelled as well. Re-enable the endpoint and replay the message to retry it.

Inspecting the next attempt

To see when a message will be retried next, open the Webhooks page in the dashboard, select the endpoint, and open the message. Each message lists every attempt with its HTTP status, response body, and the timestamp of the next scheduled retry (if any attempts remain).

Each delivery carries the same svix-id header across every attempt, so your handler can treat retries idempotently — see How to store webhooks data for the dedup pattern.

Manual replays

If a webhook message fails (or you simply want to re-process one), you can manually replay it. You can replay both `failed` and `succeeded` messages — a replay re-sends the original payload to the current endpoint URL with a fresh signature.

  1. 1
    Open the Webhooks page

    Go to the Webhooks section of the MailBlastr dashboard.

  2. 2
    Select the endpoint

    Navigate to the webhook endpoint you are using.

  3. 3
    Find the message

    Open the specific webhook message you want to replay.

  4. 4
    Replay it

    Click the "Replay" button. A new delivery attempt is made immediately and recorded as a separate attempt on the message.

A replayed message reuses the original event payload (including its id and created_at). Because the svix-id is unchanged on a replay, an idempotent handler will recognize it as a duplicate — replay is for re-delivering to your endpoint, not for generating a new event.