# Email log

The **email log**, the [**Emails**](https://bird.com/dashboard/w/email/emails) page in the Bird dashboard, is your workspace's record of every message it has sent: every send made through [`POST /v1/email/messages`](/docs/guides/email/sending-email) lands here, newest first. Use it to confirm a specific message went out, see where a recipient is in the delivery lifecycle, and read the exact content that was sent. It is the per-message companion to the aggregate [Metrics](/docs/guides/email/tracking-and-metrics) page: Metrics tells you the rates across everything you send, the email log lets you drill into a single message. For a tour of where this page sits in the dashboard, see the [dashboard tour](/docs/knowledge-base/getting-started/dashboard-tour). The page's **Receiving** tab is the same log for mail Bird receives; that side is covered in [Receiving email](/docs/guides/email/receiving-email).

![The Emails page in the Bird dashboard: a table of sent messages with status, sender, recipient, subject, category, and sent time, plus a recipient search and status, category, and date filters](/images/docs/dashboard-email-emails.png)

## The message list

Each row is one message. The columns are:

| Column       | What it shows                                                                                        |
| :----------- | :--------------------------------------------------------------------------------------------------- |
| **Status**   | The message's current delivery status (see [Statuses](#statuses)), shown as a color-coded indicator  |
| **From**     | The sender: display name and address, or the address alone                                           |
| **To**       | The primary recipient; sends with more than one recipient show a count you can hover to expand       |
| **Subject**  | The message subject (click it, or anywhere on the row, to open the message)                          |
| **Category** | The message [category](/docs/guides/email/categories): `TXN` for transactional, `MKTG` for marketing |
| **Sent**     | When the send was accepted, as a relative time (hover for the exact timestamp)                       |

Rows whose status needs attention are tinted: a warning tint for `Deferred`, `Bounced`, and `Partial failure`, and a stronger tint for `Complained` and `Rejected`. The list is paginated; use **Prev** and **Next** to move between pages.

## Searching and filtering

A message log fills up fast, so the page leads with one search box and three filters. They combine: a status filter plus a date range narrows to messages matching both.

**Search by recipient.** The search box matches an **exact recipient email address**: type the full address you sent to (e.g. `jane@example.com`) to find every message addressed to it, whether the address was in `to`, `cc`, or `bcc`. It is an exact match, not a substring search, so partial addresses or domains won't return results.

**Status.** Filter to a single delivery status. The options are the statuses listed in [Statuses](#statuses).

**Category.** Filter to `Transactional` or `Marketing` messages.

**Date.** Filter by when the message was sent: pick a preset (**Last 3 days**, **Last 7 days**, **Last 30 days**) or choose a custom range from the calendar.

When a filter combination matches nothing, the page shows a **No emails match your filters** state with a **Clear filters** action to reset back to the full list.

## Statuses

A message's status is the roll-up of where its recipients are in the [delivery lifecycle](/docs/guides/email/events). For a single-recipient message it mirrors that recipient's status directly; for a multi-recipient send it reflects the message as a whole, where **Partial failure** means some recipients succeeded and some did not.

| Status              | Meaning                                                                                                                   |
| :------------------ | :------------------------------------------------------------------------------------------------------------------------ |
| **Scheduled**       | The send has a future send time and has not started yet; see [scheduled sending](/docs/guides/email/scheduled-sending)    |
| **Accepted**        | Bird has the send and is preparing to deliver it                                                                          |
| **Processed**       | The message is built and queued for delivery                                                                              |
| **Delivered**       | The recipient's mail server accepted the message                                                                          |
| **Deferred**        | A temporary failure; Bird is retrying, and it resolves to delivered or bounced                                            |
| **Bounced**         | A permanent failure; the recipient's mail server refused the message                                                      |
| **Complained**      | The recipient reported the message as spam                                                                                |
| **Rejected**        | The send was rejected before delivery was attempted, most often a [suppressed](/docs/guides/email/suppressions) recipient |
| **Partial failure** | A multi-recipient send where outcomes differ across recipients                                                            |
| **Canceled**        | A scheduled send canceled before it went out                                                                              |

The indicator is color-coded: green for delivered, blue for in-flight (`Accepted`, `Processed`), a warning color for `Deferred`, `Bounced`, and `Partial failure`, and a destructive color for `Complained` and `Rejected`.

## Inspecting a message

Click any row to open the message in a side panel. It has four tabs (**Events**, **Details**, **HTML**, and **Text**) and arrows to step to the previous or next message in the list without closing it. A message that is still scheduled shows its send time and a cancel action; [scheduled sending](/docs/guides/email/scheduled-sending) covers that flow.

![The email detail side panel in the Bird dashboard, showing the per-recipient events timeline with accepted, processed, delivered, opened, and clicked events alongside their timestamps](/images/docs/dashboard-email-detail.png)

### Events

The default tab is a per-recipient timeline of everything that happened to the message, in order, each with its timestamp. This is the same event stream described in the [email events reference](/docs/guides/email/events), rendered for one message: `Accepted` → `Processed` → `Delivered`, then engagement events like `Opened` and `Clicked`, or failure events like `Bounced`, `Deferred`, `Complained`, and `Rejected`.

- For a send with several recipients, an **All recipients** selector lets you view the merged timeline or filter to one recipient's journey.
- Failure events carry their detail inline: a bounce shows its description, a rejection shows its reason.
- An `Opened` event auto-fetched by an inbox privacy proxy is flagged as not a real open, matching how [open tracking](/docs/guides/email/open-click-tracking#open-tracking) treats prefetches.
- When an event auto-adds the recipient to your [suppression list](/docs/guides/email/suppressions) (a hard bounce or a complaint), the timeline says so and links to the list.
- While a message is still in flight, the timeline refreshes itself every few seconds until every recipient reaches a final state.

If a delivered message has no opens or clicks, the timeline explains why: most commonly that [open and link tracking](/docs/guides/email/tracking-and-metrics) wasn't enabled for the domain or wasn't requested on the send.

### Details

The **Details** tab is the message's metadata: its **Message ID**, the **From**, **To**, and any **CC**, **BCC**, or **Reply-To** addresses, the sending **Domain**, the **Category**, whether **Open tracking** and **Link tracking** were enabled, and the **Sent** and **Delivered** timestamps. Any [tags and metadata](/docs/guides/email/sending-email) you set on the send are listed here too, and attachments appear with their size, type, and a download action. Most fields can be copied with one click.

### HTML and Text

The **HTML** tab renders the message exactly as it was sent: a **Preview** sub-tab shows the message in a sandboxed frame, and a **Source** sub-tab shows the raw HTML. The **Text** tab shows the plain-text body. Content is stored shortly after the send, so for a message sent moments ago these tabs may briefly show that the content is still being stored.

## The same log over the API

Everything on this page reads from [`GET /v1/email/messages`](/docs/api/reference/list-email-messages) and its sub-resources. The list takes the same filters the page exposes and more: `status`, `category`, `tag`, an exact `to` or `from` address (bare address, matched case-insensitively), and a `created_after`/`created_before` window. Per-message detail lives on the recipients, events, and content sub-resources; the [events reference](/docs/guides/email/events) covers reading a timeline programmatically.

## Next steps

- [Email metrics](/docs/guides/email/tracking-and-metrics): aggregate stats across everything you send, and how open and click tracking work
- [Email events](/docs/guides/email/events): the full per-recipient event vocabulary the timeline is built from
- [Suppressions](/docs/guides/email/suppressions): why a recipient was rejected and how to manage the suppression list
- [Sending email](/docs/guides/email/sending-email): the send payload, including tags, categories, and tracking toggles
- [API reference: messages](/docs/api/reference/list-email-messages): read messages, recipients, and events programmatically