assignment_status reflects the current connection: "active" means the recipient is connected right now, and "released" means they disconnected. Group conversations instead return null assignment_id, assignment_status, and remote_number, plus is_group: true, a best-known participants list, and group_creation_status.
List conversations
Query parameters
Identity-scoped API keys never see blocked rows in conversation summaries. With
is_blocked=false, previews, ordering, unread counts, and totals are computed from non-blocked rows only.
start_datetime, end_datetime, and tz filter on the conversation’s created_at — when the conversation was created, not its latest-message time. This list is ordered by most recent message, but the date filter is on creation time. Previews, unread counts, totals, and ordering still describe the full conversation — they are not sliced to the window. Both bounds are optional and non-breaking — omit them for unchanged behavior. See Filtering by date.
Response (200)
JSON
Error responses
Get conversation
GET /messages?conversation_id=....
Path parameters
Query parameters
Response (200)
JSON
group_creation_status is "creating" while the first send is establishing the group, "not_created" before creation or after a definitive creation failure, and "ready" after the group is established. A failed creation attempt remains in the same conversation’s message history; send another message using its conversation_id to retry. See Group creation lifecycle.
Error responses
List connections
assignment_status on conversation reads to detect a disconnect after the fact.
Query parameters
Response (200)
JSON
Error responses
Release connection
assignment_status set to released.
The recipient is not notified. They can reconnect at any time by texting the router again, which starts a new connection with a new id.
Path parameters
Response (204)
No content.Error responses
Mark conversation read
Request body
Request example
JSON
Response (200)
JSON
updated_count: 0 means no inbound messages needed updating; the read receipt is still sent.
Error responses
Send typing indicator
Request body
Response (200)
JSON
Error responses
Conversation object
Conversation summary object
Returned by List conversations; adds latest-message preview fields:
Group summaries use the same nullable assignment/remote fields and
participants, is_group, and group_creation_status fields as the conversation object. Groups appear only when include_groups=true.

