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
The ID of the API channel configured in your workspace.
Request body parameters
The message type. One of:
TEXT, IMAGE, AUDIO, VIDEO, DOCUMENT.A unique identifier for the contact. Used to create or look up the contact across requests. We recommend using the contact’s email address.
Display name for the contact. Used when creating a new contact record.
The message payload. The shape of this object depends on the
type field — see the message type examples below.Message types
Text
Image
Audio
Video
Document
Response fields
Indicates whether the operation succeeded.
The unique ID of the contact that was created or matched by
contactIdentifier.The unique ID of the conversation.
The unique ID of the message that was sent.
Details about the conversation and its assignment.
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.
Credit consumption information.
HTTP status codes
| Code | Description |
|---|---|
200 | Success — message processed |
400 | Invalid request data or channel not found |
401 | Missing or invalid API key |
404 | Channel not found |
500 | Internal server error |
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-Keyto avoid duplicate messages on retried requests.