Skip to main content
The message log on the platform API records what happened to every email your organization sent: through the email send API, the SMTP relay and campaigns.
Before you start, you need an API key with Messages set to Read Message Log (messages:read).

How the log works

  • A message appears once a receiving server answers. A message you sent seconds ago, or one that never reached a mail server, isn’t in the log yet.
  • Records are kept for 90 days. Every response includes retentionDays so your code doesn’t have to hard-code it.
  • The subject isn’t recorded. Store it on your side against the jobId if you need it.

Statuses

Engagement events are recorded separately: Opens and clicks are only recorded when the sending domain has tracking turned on, on its Settings tab in Channels > Email. Tracking is off on a new domain, and it only works on a message’s HTML part.

Get one message

string
required
The jobId returned by the email send API.
object

List messages

The list has one row per recipient, showing that recipient’s latest outcome, newest first. It uses cursor pagination.
string
Start of the date range, as ISO 8601 in UTC. Defaults to 7 days ago. A date earlier than the retention window is moved forward to its start.
string
End of the date range, as ISO 8601 in UTC. Defaults to now.
string
delivered, bounced or deferred.
string
An exact email address.
string
Only messages from this campaign.
integer
Rows per page, from 1 to 100.
string
The nextCursor from the previous page.
Keep requesting with cursor set to meta.nextCursor until hasMore is false.

Errors

Polling works for occasional checks. To react to every delivery, bounce or complaint as it happens, subscribe to the email.* events with webhooks. Read that page first: Brudcast delivers only two event types today, and the email events aren’t among them.

Webhook events and payloads

Which events are delivered, and the API calls that replace the rest.

Bounces and suppression

What happens to an address after a bounce or complaint.

Email send API

Where the jobId you look up here comes from.

Response format

Cursor pagination, for reading the whole log.