Docs
Esc

Suggested

QuickstartGet started
Webhooks and signaturesMessaging
Create a messagemessages.create · POST /v1/accounts/{AC}/messages
RATE_LIMITED429 · Rate limit exceeded.
message.deliveredMessage resource
Contents

API reference

Conversations

API reference descriptions are provided in English to preserve the exact published contract.

List customer-controlled bot applications

GET/v1/accounts/{AC}/bot-applications

botApplications.listSDK operation getV1AccountsByAcBotApplications

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create a customer-controlled bot application

POST/v1/accounts/{AC}/bot-applications

botApplications.createSDK operation postV1AccountsByAcBotApplications

Request body

  • fallbackInboxSidstring (IB… SID)Required
  • namestring (max 128 chars)Required
  • principalRefstring (max 128 chars)Required
  • webhookEndpointSidstring (WH… SID)Required
  • timeoutSecondsinteger (5–3600)

Update a customer-controlled bot application

PATCH/v1/accounts/{AC}/bot-applications/{BA}

botApplications.updateSDK operation patchV1AccountsByAcBotApplicationsByBa

Parameters

  • BAstring (BA… SID)Required

Request body

  • fallbackInboxSidstring (IB… SID)
  • namestring (max 128 chars)
  • principalRefstring (max 128 chars)
  • timeoutSecondsinteger (5–3600)
  • webhookEndpointSidstring (WH… SID)

Disable a bot application when it has no active handoff

DELETE/v1/accounts/{AC}/bot-applications/{BA}

botApplications.deleteSDK operation deleteV1AccountsByAcBotApplicationsByBa

Parameters

  • BAstring (BA… SID)Required

List authorized conversations and collaboration state

GET/v1/accounts/{AC}/conversations

conversations.listSDK operation getV1AccountsByAcConversations

List conversations you may see, with their state, assignee and service-window expiry.

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read through actual readable inbox membership in this workspace. Collection results include only accessible inboxes or their conversations; this grants no account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • inboxSidstring (IB… SID)query
  • senderSidstring (WA… SID)query
  • contactSidstring (CT… SID)query
  • activityFromstring (date-time)query
  • activityTostring (date-time)query
  • activityPrincipalstring (max 128 chars)query
  • stateenumquery

    OPENIDLECLOSEDARCHIVED

  • assigneestring (max 128 chars)query
  • unassignedbooleanquery
  • openOnlybooleanquery

    Only active OPEN or IDLE conversations; unlike state=OPEN this includes conversations waiting on the customer.

  • unreadbooleanquery
  • priorityenumquery

    LOWNORMALHIGHURGENT

  • tagstring (pattern ^[a-z0-9][a-z0-9_-]{0,39}$)query
  • campaignSidstring (CP… SID)query
  • consentStateenumquery

    OPTED_INOPTED_OUTUNKNOWNREVOKEDEXPIRED

  • riskFlagbooleanquery
  • slaStateenumquery

    healthyat_riskbreached

  • snoozedbooleanquery
  • waitingbooleanquery

    Only open conversations where the customer's last message has not been answered.

  • sortenumquery

    recent (default): newest activity first. longest_waiting: the customer who has waited longest for a reply first; conversations nobody is waiting on come last.

    recentlongest_waiting

  • createdAfterstring (date-time)query
  • createdBeforestring (date-time)query
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Search authorized conversations by identifier, contact and metadata

GET/v1/accounts/{AC}/conversations/search

conversations.search.listSDK operation getV1AccountsByAcConversationsSearch

q matches the conversation sid, the contact sid and the contact display name. Message bodies are sealed at rest and are not searchable.

Parameters

  • qstring (max 200 chars)queryRequired
  • inboxSidstring (IB… SID)query
  • senderSidstring (WA… SID)query
  • contactSidstring (CT… SID)query
  • activityFromstring (date-time)query
  • activityTostring (date-time)query
  • activityPrincipalstring (max 128 chars)query
  • tagstring (max 40 chars)query
  • assigneestring (max 128 chars)query
  • fromstring (date-time)query
  • tostring (date-time)query
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Get a conversation

GET/v1/accounts/{AC}/conversations/{CO}

conversations.retrieveSDK operation getV1AccountsByAcConversationsByCo

Fetch one conversation with its assignment, tags and version.

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Assign a conversation

POST/v1/accounts/{AC}/conversations/{CO}/assign

conversations.assignSDK operation postV1AccountsByAcConversationsByCoAssign

Assign a conversation to an available teammate in its inbox, by their principal reference. Send the conversationVersion you last read; a stale version is refused so two people cannot overwrite each other.

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:assign on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • assigneePrincipalRefstring (max 128 chars)Required
  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required

List audited assignment and handoff history

GET/v1/accounts/{AC}/conversations/{CO}/assignments

conversations.assignments.listSDK operation getV1AccountsByAcConversationsByCoAssignments

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Acknowledge, activate, complete, or reject a bot handoff

POST/v1/accounts/{AC}/conversations/{CO}/bot-handoffs/{BH}/respond

conversations.botHandoffs.respondSDK operation postV1AccountsByAcConversationsByCoBotHandoffsByBhRespond

Parameters

  • COstring (CO… SID)Required
  • BHstring (BH… SID)Required

Request body

  • outcomeenumRequired

    ACCEPTACTIVECOMPLETEFAIL

  • reasonstring (max 1000 chars)

Retry a failed or timed-out bot handoff

POST/v1/accounts/{AC}/conversations/{CO}/bot-handoffs/{BH}/retry

conversations.botHandoffs.retrySDK operation postV1AccountsByAcConversationsByCoBotHandoffsByBhRetry

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:assign on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • BHstring (BH… SID)Required

Request body

  • reasonstring (max 1000 chars)Required

Take an active bot handoff back to its human fallback inbox

POST/v1/accounts/{AC}/conversations/{CO}/bot-handoffs/{BH}/takeover

conversations.botHandoffs.takeoverSDK operation postV1AccountsByAcConversationsByCoBotHandoffsByBhTakeover

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:assign on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • BHstring (BH… SID)Required

Request body

  • reasonstring (max 1000 chars)Required

Acquire the exclusive composer claim

POST/v1/accounts/{AC}/conversations/{CO}/claim

conversations.claimSDK operation postV1AccountsByAcConversationsByCoClaim

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • leaseSecondsinteger (15–300)
  • overrideReasonstring (max 1000 chars)

Release the composer claim

POST/v1/accounts/{AC}/conversations/{CO}/claim/release

conversations.claim.releaseSDK operation postV1AccountsByAcConversationsByCoClaimRelease

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • leaseTokenstring (uuid)Required
  • leaseSecondsinteger (15–300)

Renew the composer claim

POST/v1/accounts/{AC}/conversations/{CO}/claim/renew

conversations.claim.renewSDK operation postV1AccountsByAcConversationsByCoClaimRenew

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • leaseTokenstring (uuid)Required
  • leaseSecondsinteger (15–300)

Close a conversation

POST/v1/accounts/{AC}/conversations/{CO}/close

conversations.closeSDK operation postV1AccountsByAcConversationsByCoClose

Close a conversation. Send the conversationVersion you last read.

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required

List conversation collaborators and followers

GET/v1/accounts/{AC}/conversations/{CO}/collaborators

conversations.collaborators.listSDK operation getV1AccountsByAcConversationsByCoCollaborators

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Add a conversation collaborator

PUT/v1/accounts/{AC}/conversations/{CO}/collaborators/{principalRef}

conversations.collaborators.updateSDK operation putV1AccountsByAcConversationsByCoCollaboratorsByPrincipalref

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • principalRefstring (max 128 chars)Required

Request body

  • roleenumRequired

    COLLABORATORFOLLOWER

Remove a conversation collaborator

DELETE/v1/accounts/{AC}/conversations/{CO}/collaborators/{principalRef}

conversations.collaborators.deleteSDK operation deleteV1AccountsByAcConversationsByCoCollaboratorsByPrincipalref

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • principalRefstring (max 128 chars)Required

List retained message history for an authorized conversation

GET/v1/accounts/{AC}/conversations/{CO}/messages

conversations.messages.listSDK operation getV1AccountsByAcConversationsByCoMessages

List the messages of a conversation, oldest first.

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

List encrypted internal notes

GET/v1/accounts/{AC}/conversations/{CO}/notes

conversations.notes.listSDK operation getV1AccountsByAcConversationsByCoNotes

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create an encrypted internal note

POST/v1/accounts/{AC}/conversations/{CO}/notes

conversations.notes.createSDK operation postV1AccountsByAcConversationsByCoNotes

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:note on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • bodystring (max 20000 chars)Required
  • mentionedPrincipalRefsstring (max 128 chars)[]

Edit an internal note

PATCH/v1/accounts/{AC}/conversations/{CO}/notes/{NT}

conversations.notes.updateSDK operation patchV1AccountsByAcConversationsByCoNotesByNt

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:note on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • NTstring (NT… SID)Required

Request body

  • bodystring (max 20000 chars)Required
  • mentionedPrincipalRefsstring (max 128 chars)[]

Delete an internal note

DELETE/v1/accounts/{AC}/conversations/{CO}/notes/{NT}

conversations.notes.deleteSDK operation deleteV1AccountsByAcConversationsByCoNotesByNt

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:note on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • NTstring (NT… SID)Required
  • onlyIfUneditedbooleanquery

Read encrypted internal note revision history

GET/v1/accounts/{AC}/conversations/{CO}/notes/{NT}/revisions

conversations.notes.revisions.listSDK operation getV1AccountsByAcConversationsByCoNotesByNtRevisions

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:read on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • NTstring (NT… SID)Required
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Change conversation priority and recalculate its SLA clocks

POST/v1/accounts/{AC}/conversations/{CO}/priority

conversations.prioritySDK operation postV1AccountsByAcConversationsByCoPriority

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • priorityenumRequired

    LOWNORMALHIGHURGENT

  • reasonstring (max 1000 chars)Required

Advance this principal's read cursor

POST/v1/accounts/{AC}/conversations/{CO}/read

conversations.readSDK operation postV1AccountsByAcConversationsByCoRead

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • lastReadMessageSidstring (SM… SID)

Release a conversation assignment

POST/v1/accounts/{AC}/conversations/{CO}/release

conversations.releaseSDK operation postV1AccountsByAcConversationsByCoRelease

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:assign on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required

Reopen a conversation

POST/v1/accounts/{AC}/conversations/{CO}/reopen

conversations.reopenSDK operation postV1AccountsByAcConversationsByCoReopen

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required

Snooze a conversation until a durable follow-up time

POST/v1/accounts/{AC}/conversations/{CO}/snooze

conversations.snoozeSDK operation postV1AccountsByAcConversationsByCoSnooze

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required
  • untilstring (date-time)Required

Add a conversation tag

POST/v1/accounts/{AC}/conversations/{CO}/tags/{tag}

conversations.tags.updateSDK operation postV1AccountsByAcConversationsByCoTagsByTag

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • tagstring (pattern ^[a-z0-9][a-z0-9_-]{0,39}$)Required

Remove a conversation tag

DELETE/v1/accounts/{AC}/conversations/{CO}/tags/{tag}

conversations.tags.deleteSDK operation deleteV1AccountsByAcConversationsByCoTagsByTag

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required
  • tagstring (pattern ^[a-z0-9][a-z0-9_-]{0,39}$)Required
  • onlyIfAddedAtstring (date-time, max 64 chars)query

Return a snoozed conversation to its queue

POST/v1/accounts/{AC}/conversations/{CO}/unsnooze

conversations.unsnoozeSDK operation postV1AccountsByAcConversationsByCoUnsnooze

Inbox and dashboard sessions

Alternatively, a normal tenant USER session may use conversations:write on the exact inbox resolved from this resource. Actual inbox membership, tenant/subaccount visibility and per-operation checks still apply. This does not grant account-wide scopes, API-key permission, staff-delegation authority or platform access.

Parameters

  • COstring (CO… SID)Required

Request body

  • conversationVersioninteger (1–)Required
  • reasonstring (max 1000 chars)Required

List account saved replies

GET/v1/accounts/{AC}/saved-replies

savedReplies.listSDK operation getV1AccountsByAcSavedReplies

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create a saved reply

POST/v1/accounts/{AC}/saved-replies

savedReplies.createSDK operation postV1AccountsByAcSavedReplies

Request body

  • bodystring (max 20000 chars)Required
  • shortcutstring (pattern ^[a-z0-9][a-z0-9_-]{0,39}$)Required
  • titlestring (max 128 chars)Required

Update a saved reply

PATCH/v1/accounts/{AC}/saved-replies/{SR}

savedReplies.updateSDK operation patchV1AccountsByAcSavedRepliesBySr

Parameters

  • SRstring (SR… SID)Required

Request body

  • bodystring (max 20000 chars)Required
  • shortcutstring (pattern ^[a-z0-9][a-z0-9_-]{0,39}$)Required
  • titlestring (max 128 chars)Required

Delete a saved reply

DELETE/v1/accounts/{AC}/saved-replies/{SR}

savedReplies.deleteSDK operation deleteV1AccountsByAcSavedRepliesBySr

Parameters

  • SRstring (SR… SID)Required

List the immutable versions of a saved reply, newest first

GET/v1/accounts/{AC}/saved-replies/{SR}/versions

savedReplies.versions.listSDK operation getV1AccountsByAcSavedRepliesBySrVersions

Parameters

  • SRstring (SR… SID)Required
  • limitinteger (1–100)query