Skip to main content
GET
/
v3
/
inbox
/
threads
/
{id}
Get inbox thread
curl --request GET \
  --url https://api.reply.io/v3/inbox/threads/{id} \
  --header 'Authorization: Bearer <token>'
{
  "id": 58217,
  "channel": "Email",
  "contact": {
    "id": 9821,
    "ownerId": 42,
    "fullName": "Daria Kovalenko",
    "email": "daria.kovalenko@northwind.example",
    "linkedInProfileUrl": "https://www.linkedin.com/in/daria-kovalenko",
    "phone": "+380501234567",
    "companyName": "Northwind Logistics",
    "title": "VP of Operations",
    "isDeleted": false
  },
  "emailAccountId": 18044,
  "linkedInAccountId": null,
  "sequence": {
    "id": 314,
    "name": "Q3 Outbound — Logistics ICP"
  },
  "messages": [
    {
      "channel": "Email",
      "date": "2026-05-06T08:01:42Z",
      "body": "<p>Hi Daria — quick check-in on the Q3 rollout pricing we discussed last week. Are you free Tuesday at 10am for a 20-min call?</p>",
      "fromName": "Borys Boiko",
      "isOutbound": true,
      "subject": "Pricing for Q3 rollout",
      "fromAddress": "borys@reply.example",
      "to": [
        "daria.kovalenko@northwind.example"
      ],
      "cc": null,
      "bcc": null
    },
    {
      "channel": "Email",
      "date": "2026-05-07T14:32:11Z",
      "body": "<p>Thanks — does Tuesday at 10am work for a quick call?</p><p>Daria</p>",
      "fromName": "Daria Kovalenko",
      "isOutbound": false,
      "subject": "Re: Pricing for Q3 rollout",
      "fromAddress": "daria.kovalenko@northwind.example",
      "to": [
        "borys@reply.example"
      ],
      "cc": null,
      "bcc": null
    }
  ],
  "category": {
    "id": 7,
    "name": "Hot Leads"
  },
  "hasMeetingIntent": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.reply.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Authenticate every request with a Bearer token. Pass your Reply API key in the Authorization header:

Authorization: Bearer <your-api-key>

Get your API key from the Reply dashboard: Settings → API Key.

Path Parameters

id
integer
required
Required range: x >= 1

Response

Inbox thread

Full inbox thread with the contact, channel-specific account ids, sequence, category, meeting-intent flag, and the ordered list of messages.

id
integer
required
channel
enum<string>
required
Available options:
Unknown,
Email,
LinkedIn
contact
Inbox Thread Contact · object
required

Contact party on the other end of an inbox thread.

Two shapes are possible, distinguished by the isDeleted flag:

  • Live contact (isDeleted: false) — id and ownerId reference the live contact record; fullName, email, linkedInProfileUrl, phone, companyName, title come from the live record (any may still be null if the corresponding field is unset on the contact, e.g. email is null for a LinkedIn-only contact).
  • Deleted contact (isDeleted: true) — the underlying contact record has been removed, so id and ownerId are null. The remaining identifying fields (fullName, email, linkedInProfileUrl, phone, companyName, title) are populated from the snapshot stored on the thread when it was created — typically enough for the user to recognise who the thread was with even though the contact no longer exists in their workspace.
messages
(Inbox Email Message · object | Inbox LinkedIn Message · object)[]
required

Email message within an inbox thread.

emailAccountId
integer<int64> | null

Email account that owns this thread. null for non-email threads.

linkedInAccountId
integer | null

LinkedIn account that owns this thread. null for non-LinkedIn threads.

sequence
Inbox Thread Sequence · object

Minimal sequence reference attached to an inbox thread.

category
Inbox Thread Category Reference · object

Minimal category reference embedded in thread responses.

hasMeetingIntent
boolean

Whether the thread has been flagged as carrying meeting intent (manually or via AI detection).