API Reference
Conversations API
Read conversation state, messages, and AI signals. Retrieve AI drafts programmatically.
6 min read Updated July 2026
Conversations and Tickets are closely related. A Ticket is the top-level support request; a Conversation is the same object with additional message and AI metadata. Both share the same ID prefix (
tkt_) and most endpoints are interchangeable.Endpoints
GET
/v1/conversationsList conversationsGET
/v1/conversations/:idRetrieve a conversationGET
/v1/conversations/:id/messagesList messagesPOST
/v1/conversations/:id/messagesSend a reply or noteGET
/v1/conversations/:id/ai-draftGet the current AI draftPOST
/v1/conversations/:id/ai-draft/approveApprove and send AI draftPATCH
/v1/conversations/:idUpdate status, assignee, priorityList conversations
GET /v1/conversations
Query parameters
| Parameter | Type | Description |
|---|---|---|
| status | string | open | resolved | pending | all (default: all) |
| assignee | string | User ID or 'unassigned' |
| group | string | Group ID |
| channel | string | email | chat | widget | api |
| priority | string | urgent | high | normal | low |
| tag | string | Filter by tag |
| contact | string | Contact ID — all conversations for a contact |
| ai_intent | string | Filter by AI-detected intent |
| limit | integer | Results per page (max 100, default 25) |
| cursor | string | Pagination cursor |
Conversation object
Retrieving AI drafts
You can retrieve the current AI draft for a conversation programmatically. This is useful for building custom agent interfaces or reviewing drafts in external systems.
GET /v1/conversations/:id/ai-draft
Approving an AI draft via API
Use the approve endpoint to programmatically send an AI draft without agent review. Requires the tickets:write scope. Typically used in fully automated workflows (e.g. auto-reply pipelines).
Auto-approving AI drafts via the API bypasses human review. Use with caution and only after validating draft quality for the specific intent. See Confidence thresholds for guidance.