Skip to main content
The Channels API lets you send messages to contacts through a configured API channel in your workspace. When you post a message, the platform creates or resolves the contact by contactIdentifier, routes the message to your AI agent, and returns the agent’s response synchronously in the same API call.
Conversations through an API channel are handled exclusively by AI agents. There is no interface for human agents to join these conversations, so transfer to a human is not supported.

Endpoint

Authentication

Include your Workspace API Key and, optionally, an idempotency key in the request headers.

Path parameters

string
required
The ID of the API channel configured in your workspace.

Request body parameters

string
required
The message type. One of: TEXT, IMAGE, AUDIO, VIDEO, DOCUMENT.
string
required
A unique identifier for the contact. Used to create or look up the contact across requests. We recommend using the contact’s email address.
string
Display name for the contact. Used when creating a new contact record.
object
required
The message payload. The shape of this object depends on the type field — see the message type examples below.
Always use the same contactIdentifier value for the same person. Using different identifiers for the same contact (for example, joao@example.com in one request and user@example.com in another) creates separate contact records and breaks conversation history.

Message types

Text

Image

Audio

Video

Document

Response fields

boolean
required
Indicates whether the operation succeeded.
string
required
The unique ID of the contact that was created or matched by contactIdentifier.
string
required
The unique ID of the conversation.
string
required
The unique ID of the message that was sent.
object
required
Details about the conversation and its assignment.
array
required
The AI agent’s response messages, ordered ascending (earliest first). This is an array because the AI may split its response across multiple sequential messages.
object
required
Credit consumption information.

HTTP status codes

Integration examples

Limitations

  • AI only: Conversations are exclusive to AI agents — human agent handoff is not available.
  • Consistent contactIdentifier: Always use the same value for the same contact. We recommend using the contact’s email address.
  • Public media URLs: Image, audio, video, and document URLs must be publicly accessible.
  • File size limit: Maximum 10 MB per file.
  • Download timeout: Media downloads time out after 30 seconds.
  • Idempotency: Use X-Idempotency-Key to avoid duplicate messages on retried requests.