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
retentionDaysso your code doesn’t have to hard-code it. - The subject isn’t recorded. Store it on your side against the
jobIdif 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
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.cursor set to meta.nextCursor until hasMore is false.
Errors
Related
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.