/v1/public/agents/{agent_id}/conversations/{conversation_id}. These endpoints require the opaque X-Conversation-Token. Assistant messages retain their existing apps cards and add an actions collection containing review, verification, processing, and result state. Sensitive action input remains in the encrypted action record rather than being duplicated into message payloads.
Use a bearer token with engagements:read to read threads and messages. Add engagements:manage to send messages or change inbox state.
Resource model
- A Contact is the customer identity owned by one workspace.
- A Thread is the Contact-centric timeline shown in Taskbox. One thread can contain several channel conversations.
- A Conversation is the channel-specific binding within a thread, such as one web-chat session or email thread.
- A Message belongs to a Conversation and carries channel, direction, content, attachments, delivery state, and timestamps.
List threads
view, channel, or search. Follow meta.next_cursor to page without skipping records while new messages arrive.
Read messages
Read the recent timeline with the thread:Send a message
Choose one of the thread’s returned Conversations and use itsid and channel. Sending is asynchronous; inspect delivery_status and retry only failed outbound messages.
Compatibility
Existing/inbox-threads endpoints remain supported and return the same representations. New integrations should use /threads; the alias avoids forcing existing Taskbox and partner integrations to migrate.
This first productized slice is REST and polling friendly. Event webhooks, SDK helpers, participant membership, and delivery callbacks are natural follow-on layers, but are not part of this initial contract.