Webhooks

email.failed

Fires when an email fails to send due to an error such as an invalid recipient, domain issue, or a reached quota.

The email.failed event fires when an email failed to send due to an error. Common causes include the mail transport rejecting the message, the from domain no longer being verified at send time, every recipient being suppressed or unsubscribed, or a scheduled send exhausting its retries against your daily sending quota.

The data.failed object carries a machine-readable reason you can branch on.

A request that is refused up front — a malformed address, an unverified from domain, or a quota that is already exhausted — is answered synchronously with an error from POST /emails and never creates an email, so no email.failed event fires for it. The event covers emails MailBlastr accepted and then could not send.
{
  "type": "email.failed",
  "created_at": "2026-06-22T23:41:12.126Z",
  "data": {
    "campaign_id": "8b146471-e88e-4322-86af-016cd36fd216",
    "created_at": "2026-06-22T23:41:11.894719+00:00",
    "email_id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794",
    "message_id": "<111-222-333@email.example.com>",
    "from": "Acme <onboarding@example.com>",
    "to": ["recipient@example.com"],
    "subject": "Sending this example",
    "template_id": "43f68331-0622-4e15-8202-246a0388854b",
    "failed": {
      "reason": "reached_daily_quota"
    }
  }
}
Payload
typestringoptional

The event type that triggered the webhook.

created_atstringoptional

ISO 8601 timestamp when the webhook event was created.

dataobjectoptional

Event-specific data. The fields below live inside this object.

data.campaign_idstringoptional

Identifier for the campaign, if applicable.

data.created_atstringoptional

ISO 8601 timestamp when the email was created.

data.email_idstringoptional

Unique identifier for this email.

data.message_idstringoptional

RFC Message-ID header value for the email.

data.fromstringoptional

Sender address; may include a display name.

data.tostring[]optional

Recipient email address(es).

data.subjectstringoptional

Email subject line.

data.template_idstringoptional

Identifier of the template used, if applicable.

data.failedobjectoptional

Failure details (see below).

data.failed.reasonstringoptional

Reason for the failure, e.g. reached_daily_quota.

This is one of several events MailBlastr can deliver. See the full list of webhook event types.