Docs
API · threads

Retrieve a thread

The whole conversation in one call — every message, oldest to newest, inbound and outbound joined together.

GET/v1/threads/{id}

A thread bundles the inbound message and every outbound reply into one ordered conversation. Each entry in messages carries its direction, current status, and — for replies — the repliesToMessageId that links it to its parent.

01 Path parameters

idstringRequired
The thread id, for example thr_01HZ9D8S3M.

02 Request

curl https://api.drin.run/v1/threads/thr_01HZ9D8S3M \
  -H "Authorization: Bearer $DRIN_API_KEY"

03 Response

200 OK — the thread plus its messages, ordered oldest first.

JSON
{
  "id": "thr_01HZ9D8S3M",
  "senderId": "snd_01HZ0A1B2C",
  "inboxId": "inb_01HZ9C7R2K",
  "subject": "Re: Where's my order?",
  "threadKey": "support@acme.com|jordan@example.com",
  "lastMessageAt": "2026-06-02T10:41:00Z",
  "createdAt": "2026-06-02T09:58:00Z",
  "messages": [
    {
      "id": "msg_01HZ9D8S3M",
      "direction": "inbound",
      "status": "received",
      "from": "jordan@example.com",
      "to": ["support@acme.com"],
      "subject": "Where's my order?",
      "occurredAt": "2026-06-02T09:58:00Z",
      "testMode": false
    },
    {
      "id": "msg_01HZ9E1T4N",
      "direction": "outbound",
      "status": "delivered",
      "from": "support@acme.com",
      "to": ["jordan@example.com"],
      "subject": "Re: Where's my order?",
      "occurredAt": "2026-06-02T10:41:00Z",
      "repliesToMessageId": "msg_01HZ9D8S3M",
      "testMode": false
    }
  ]
}
Replying in-threadTo answer a message in the conversation, reply to its message id — From, To, subject, and threading headers are filled in for you. See Reply.