List messages
https://myagentmail.com/v1/inboxes/{id}/messagesLists messages in an inbox. Tracking fields (firstOpenedAt, openCount, firstClickedAt, clickCount, etc.) are returned on every row — no separate detail fetch needed for an engagement-aware view. Filters can be combined.
Path parameters
idrequired string | Inbox UUID |
Query parameters
limitinteger | |
offsetinteger | |
direction"inbound" | "outbound" | |
openedboolean | When true, return only messages with open_count > 0. |
clickedboolean | When true, return only messages with click_count > 0. Useful for cadence engines listing engaged leads who haven't yet replied. |
engagedSincestring | ISO-8601 timestamp. Returns only messages whose lastOpenedAt OR lastClickedAt is at or after this time. Use for incremental polling — pass the timestamp of your last successful sync. |
Responses
messagesobject[] | |
idstring | format: uuid |
direction"inbound" | "outbound" | enum: "inbound" | "outbound" |
fromstring | |
tostring | |
subjectstring | |
plainBodystring | |
htmlBodystring | |
isReadboolean | |
threadIdstring | format: uuid |
messageIdHeaderstring | |
inReplyTostring | |
receivedAtstring | format: date-time |
firstOpenedAtstring | Timestamp of the first recipient open event (outbound emails only). Populated by ZeptoMail tracking when track:true on send. NULL until the first open. Note: opens are noisy due to Apple Mail Privacy Protection — ~30-50% of opens are auto-fetches by Apple's image proxy, not real user opens. Gate business logic on click events instead when possible. format: date-time |
lastOpenedAtstring | Most recent open event. Updates on every open. format: date-time |
openCountinteger | Total opens. Subject to the same Apple-MPP noise as the timestamps. default: 0 |
firstClickedAtstring | Timestamp of the first recipient link-click. Reliable signal of engagement (unlike opens, click events are not Apple-MPP-poisoned). NULL until the first click. format: date-time |
lastClickedAtstring | format: date-time |
clickCountinteger | default: 0 |
attachmentsobject[] | |
idstring | format: uuid |
filenamestring | |
contentTypestring | |
sizeBytesinteger | |
paginationobject | |
totalinteger | |
limitinteger | |
offsetinteger |
Authentication
Send your API key in the X-API-Key header (or Authorization: Bearer <key>). Any prefix accepted by this endpoint — tk_, wk_, ak_, or sa_ — is documented in the key prefix table.