Email log
The email log — the 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 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 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.

The message list
Each row is one message. The columns are:
| Column | What it shows |
|---|---|
| Status | The message's current delivery status (see Statuses below), shown as a color-coded indicator |
| From | The sender — display name and address, or just the address |
| 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 — TXN for transactional |
| 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. 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 same statuses listed below: Accepted, Processed, Deferred, Delivered, Partial failure, Bounced, Complained, and Rejected.
Category. Filter by message category. Transactional is available today; Marketing is coming soon.
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. For a single-recipient message it mirrors that recipient's status directly; for a multi-recipient send it reflects the message as a whole — Partial failure means some recipients succeeded and some did not.
| Status | Meaning |
|---|---|
| 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 — 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 recipient |
| Partial failure | A multi-recipient send where outcomes differ across recipients |
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.

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, 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 treats prefetches.
- When an event auto-adds the recipient to your suppression list — a hard bounce or a complaint — the timeline says so and links to the list.
- The timeline refreshes on its own while a message is still in flight, so opens and clicks appear as they happen.
If a delivered message has no opens or clicks, the timeline explains why — most commonly that open and link tracking 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 you set on the send are listed here too. 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 just-sent message these tabs may briefly show that the content is still being stored.
Next steps
- Tracking & metrics — aggregate stats across everything you send, and how open and click tracking work
- Email events reference — the full per-recipient event vocabulary the timeline is built from
- Suppressions — why a recipient was rejected and how to manage the suppression list
- Sending email — the send payload, including tags, categories, and tracking toggles
- API reference — read messages and their events programmatically with GET /v1/email/messages