# Read a conversation

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

Source: https://cherami.to/docs/guides/conversations



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

## Find the conversation [#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 [#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 [#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](https://cherami.to/docs/guides/sending#reply-to-a-message). A thread ID is not a reply target.

[Thread response fields and pagination](https://cherami.to/docs/api/threads)
