CarlyEmail docs

A thread groups a conversation. You never create one — threading happens on receipt and on send.

A message joins an existing thread when its In-Reply-To or References headers point at a message already in one. Failing that, a matching subject and overlapping participants within a time window will do it, which is what catches clients that reply without setting the headers properly.

curl "https://api.carlyemail.com/v0/threads/$THREAD_ID" \
  -H "Authorization: Bearer $CARLYEMAIL_API_KEY"

Fetching a thread returns its messages with full bodies, in order.

Replying

Use reply_to_message — or POST /v0/messages/{id}/reply — rather than composing a new send. It sets In-Reply-To and References for you, so the reply lands in the same conversation in the recipient's client too. A reply composed with send starts a new thread, in their mailbox as well as yours.

reply_all includes the original recipients.