All endpoints

Get a thread with all messages

GEThttps://myagentmail.com/v1/inboxes/{id}/threads/{threadId}

Path parameters

id
required
string

Inbox UUID

threadId
required
string

Responses

200application/jsonOK
threadId
string

format: uuid

messageCount
integer
messages
object[]
id
string

format: uuid

direction
"inbound" | "outbound"

enum: "inbound" | "outbound"

from
string
to
string
subject
string
plainBody
string
htmlBody
string
isRead
boolean
threadId
string

format: uuid

messageIdHeader
string
inReplyTo
string
receivedAt
string

format: date-time

firstOpenedAt
string

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

lastOpenedAt
string

Most recent open event. Updates on every open.

format: date-time

openCount
integer

Total opens. Subject to the same Apple-MPP noise as the timestamps.

default: 0

firstClickedAt
string

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

lastClickedAt
string

format: date-time

clickCount
integer

default: 0

attachments
object[]
id
string

format: uuid

filename
string
contentType
string
sizeBytes
integer

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.