---
title: "email.failed"
sidebarTitle: "email.failed"
description: "Webhook event triggered when an email fails to send."
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


<SideBySide>
  <Side>

    The `email.failed` event is triggered when an email fails permanently before delivery (provider error at send time) or expires in the queue.

    ## Event Details
    All webhook payloads follow a consistent top-level structure with event-specific data nested within the `data` object.

    ### type `string`
    The event type that triggered the webhook (`email.failed`).

    ### created_at `string`
    ISO 8601 timestamp when the webhook event was created.

    ### data `object`
    Includes standard email fields plus `error`.

    ## Handling this event
    When your endpoint receives an `email.failed` event, you might want to:
    - Notify the user about the failure.
    - Check the error details for troubleshooting.
    - Update the status in your internal database.
  </Side>

  <Side>

    ```json
    {
      "id": "whev_01h…",
      "type": "email.failed",
      "created_at": "2026-07-22T12:00:00.000Z",
      "data": {
        "email_id": "em_123456789",
        "from": "sender@example.com",
        "to": ["recipient@example.com"],
        "subject": "Hello World",
        "status": "failed",
        "error": {
          "message": "Upstream provider rejected the message"
        }
      }
    }
    ```
  </Side>
</SideBySide>

## Learn More

- [Webhooks Introduction](/docs/webhooks)
- [All Event Types](/docs/webhooks/event-types)
