Skip to main content

Overview

The Inbox API manages DM conversations across messaging platforms. Understanding these core entities will help you build effective integrations.
Multi-Platform Future: The API currently supports X (Twitter) DMs. Instagram and LinkedIn are coming in Q2 2026. The data model is platform-agnostic — see Supported platforms.

Key entities

Threads

A thread represents a DM conversation between one of your account links and a prospect.
Key fields:

Messages

Messages are individual DMs sent or received in a thread.
Key fields:
There is no direction field on messages. Check authorId against your account link IDs to determine the sender. See Working with messages — Determining message direction for details.

Prospects

A prospect represents an external user on a messaging platform.
Key differences from what you might expect: Prospects are shared across all account links in your team. When retrieved as part of a thread or via the prospects endpoints, they include a context object with your team’s custom data.

Prospect context

When you retrieve a prospect (via threads or the prospects API), the response includes a context object:
Update context with PATCH /prospects/{prospectId}/context:
Tags are modified with addTags and removeTags — there is no tagIds field. See Tags & statuses for details.
An account link is an X account connected to your team.
Use account links to:
  • Send messages from specific accounts
  • Filter threads by account
  • Manage multi-account workflows

Tags

Tags are flexible labels you apply to prospects for organization.
A prospect can have multiple tags. Colors accept either a predefined name (e.g., "red", "blue", "green") or a hex code (e.g., "#ef4444"). Use GET /colors to see all predefined options.

Statuses

Statuses represent pipeline stages for a prospect.
A prospect can have only one status at a time. Use statuses for linear progression (e.g., New → Qualified → Won). Use tags for non-linear attributes.

Members

Members are users on your team.
Roles are "owner", "admin", or "user". Member IDs are used for assigning threads and filtering by assignee.

The dual ID system

Inbox uses two types of IDs for platform-related objects:

Inbox ID (id)

e.g. l44e15irdq4db30i77cgphhxThe internal Inbox ID (CUID2 format). Use this for all API operations.

Platform ID (platformId)

e.g. 1876543210987654321The original ID from X. Use this for lookups and constructing X URLs.

Helpful X URLs

You can use platform IDs to construct direct links to X:
The user-by-ID link (/i/user/{platformId}) is the most reliable since usernames can change. For tweet URLs, X ignores the username — only the tweet ID matters.

Thread status vs Inbox views

The thread status field ("active" or "idle") controls whether the thread is visible in the inbox. Active threads appear in inbox views; idle threads are hidden (e.g., threads created via Quick Peek that haven’t had a real conversation yet). This is separate from inbox views, which are filtered using the inbox query parameter: Filter by inbox view:

Response shapes

Different endpoints return data in different shapes. Here’s what to expect:

Pagination

List endpoints use cursor-based pagination:
Use the flat cursorId and cursorTimestamp parameters instead of bracket notation (cursor[id]). The bracket notation form is deprecated.

Entity relationships

  • A prospect can have multiple tags but only one status
  • A thread belongs to exactly one account link and one prospect
  • A prospect can have threads across multiple account links

Next steps

Managing threads

Thread operations and filtering

Working with messages

Send and receive messages

Working with prospects

Manage prospect data and context

Tags & statuses

Organize with tags and pipeline stages