Skip to main content
POST
/
v3
/
inbox
/
threads
/
filter
Filter inbox threads
curl --request POST \
  --url https://api.reply.io/v3/inbox/threads/filter \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "channels": [
    "Email"
  ],
  "onlyWithMeetingIntent": true,
  "from": "2026-04-01T00:00:00Z",
  "to": "2026-04-30T23:59:59Z"
}
'
{
  "items": [
    {
      "id": 123,
      "channel": "Unknown",
      "isRead": true,
      "lastActivityDate": "2023-11-07T05:31:56Z",
      "isLastMessagePlanned": true,
      "contact": {
        "id": 123,
        "ownerId": 123,
        "fullName": "<string>",
        "email": "<string>",
        "linkedInProfileUrl": "<string>",
        "phone": "<string>",
        "companyName": "<string>",
        "title": "<string>",
        "isDeleted": true
      },
      "hasMeetingIntent": true,
      "status": {
        "state": "Ok"
      },
      "subject": "<string>",
      "bodyPreview": "<string>",
      "sequence": {
        "id": 123,
        "name": "<string>"
      },
      "category": {
        "id": 123,
        "name": "<string>"
      }
    }
  ],
  "hasMore": true,
  "totalCount": 123
}

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.

Query Parameters

top
integer
Required range: 1 <= x <= 1000
skip
integer
Required range: x >= 0

Body

application/json

Filter criteria for POST /v3/inbox/threads/filter. All fields are optional — omit a field to skip that filter.

search
string | null

Free-text search across subject, body preview, and contact identifiers.

sequenceIds
integer[] | null
Required range: x >= 1
emailAccountIds
integer<int64>[] | null
Required range: x >= 1
linkedInAccountIds
integer[] | null
Required range: x >= 1
contactIds
integer[] | null
Required range: x >= 1
channels
enum<string>[] | null

Restrict to threads on the given channels. Unknown is rejected by validation.

Available options:
Email,
LinkedIn
categoryIds
integer[] | null
Required range: x >= 1
onlyWithMeetingIntent
boolean | null
source
enum<string> | null

Predefined source bucket:

  • Inbox — all threads with at least one inbound message.
  • Sent — threads where the latest activity is outbound.
  • Unread — only unread threads.
  • AiDraft — threads with a pending AI-drafted reply.
Available options:
Inbox,
Sent,
Unread,
AiDraft
from
string<date-time> | null
to
string<date-time> | null

Upper bound on lastActivityDate. Must be strictly after from when both are supplied.

Response

Filtered threads page

items
Inbox Thread List Item · object[]
required
hasMore
boolean
required
totalCount
integer
required