Threads

Threads group related messages into conversations. List threads for a mailbox, view messages in a thread, or reply to an existing thread.

Last updated

The thread object

{ "object": "thread", "id": "thr_abc123", "mailbox_id": "mbx_abc123", "subject": "Re: Pricing question", "message_count": 3, "latest_message": { "object": "message", "id": "msg_latest", "mailbox_id": "mbx_abc123", "thread_id": "thr_abc123", "subject": "Re: Pricing question", "from_address": "customer@example.com", "to_addresses": [{"address": "hello@example.com"}], "cc_addresses": null, "bcc_addresses": null, "attachments": null, "source": "inbound", "status": "delivered", "created_at": "2026-05-13T10:00:00.000Z", "updated_at": "2026-05-13T10:00:00.000Z" }, "created_at": "2026-05-12T10:00:00.000Z", "updated_at": "2026-05-13T10:00:00.000Z" }

List threads

GET /v1/threads?mailbox_id=mbx_abc123

Scope: threads:read. Rate limit tier: read.

The mailbox_id query parameter is required. Supports cursor and limit pagination parameters.

Returns a paginated list of thread summaries, ordered by the latest message in each thread.

Retrieve thread messages

GET /v1/threads/:id

Scope: threads:read. Returns a paginated list of messages in the thread. Supports cursor and limit parameters.

Reply to a thread

POST /v1/threads/:id/reply

Scope: messages:write. Rate limit tier: send. Sends a reply using the same mailbox as the latest message in the thread.

Request body

FieldTypeRequiredDescription
htmlstring*HTML body. Max 512 KB.
textstring*Plain text body. Max 256 KB.
torecipient[]YesTo recipients. At least one required.
ccrecipient[]NoCC recipients.

* At least one of html or text is required. Total recipients (to + cc) must not exceed 50.

Returns the message object with status 201.