cherami.
Guides

Read a conversation

Retrieve received mail and sending attempts together without assuming a fixed history.

Read as Markdown ↗

Cherami automatically groups related messages within each inbox. Threads provide conversation context, not AI summaries, sender verification, or proof of delivery.

Find the conversation

Use thread_id from a ready received message or a sent resource, or list GET /v1/inboxes/INBOX_ID/threads. The list is ordered by most recent activity and contains subjects and counts, not bodies.

message_count includes unsuccessful or uncertain sending attempts. Inspect received_count, accepted_count, rejected_count, and unknown_count separately.

Read recent context first

Fetch GET /v1/threads/THREAD_ID?limit=20. The first page contains the newest messages, arranged chronologically within that page. Follow next_cursor on the same URL to retrieve older pages. If assembling the whole conversation, place each older page before the newer context you already have.

Entries have direction: "received" or "sent", a service timestamp, and the corresponding message fields. Bodies and attachment metadata are included; attachment bytes are not. Check each sent entry's status before describing it as sent successfully.

Refresh when the conversation changes

Conversations can update as mail becomes available. Pagination is not a snapshot, and previously returned thread IDs remain usable while their conversation exists. Refetch recent context rather than treating a cached page as complete.

Pending, processing, and failed received messages have thread_id: null. Use ordinary message listing to find them. Deleted messages disappear from conversations; surviving messages remain grouped. An empty conversation returns 404.

Grouping follows email reply headers rather than subject similarity. Missing or malformed headers can leave separate conversations, and other mail clients can group the same messages differently. There is no manual merge, thread-wide deletion, search, labels, or quoted-text stripping.

To reply, choose a message resource from the conversation and follow sending replies. A thread ID is not a reply target.

Thread response fields and pagination

On this page