POST /v1/messages with message_type: CONVERSATION. Only valid within an active 24-hour session opened by a user reply. To start a conversation, send a MESSAGE first — when the user replies, the platform fires a conversation.started webhook and the session window opens.
Session lifecycle
Send a MESSAGE outbound
Use
message_type: MESSAGE (text, rich card, or carousel). This is the correct way to start a conversation flow.Receive conversation.started webhook
When the user replies, Arowana fires
conversation.started to your registered endpoint. The payload includes the user’s reply, the agent_id, and the from number. A 24-hour session is now active for this agent + phone number pair.Reply with CONVERSATION
Use
message_type: CONVERSATION to send follow-ups. The first CONVERSATION send within the session places a hold at the Conversation rate. All subsequent CONVERSATION sends within the same 24-hour window carry no additional charge.Request
Bearer <api_key>UUID to prevent duplicate sends on retry.
Approved production agent ID.
Destination phone number in international format. Must have an active session open.
Must be
CONVERSATION.Supports the same content shapes as RCS text and RCS rich card: plain text, text with suggestions, standalone rich card, or carousel.
Regulatory classification. Must match the agent’s approved
use_case. Conversation sessions are typically TRANSACTION or SERVICEREQUEST.Response
- 200 — in active session (charged)
- 200 — subsequent in-session send (free)
- 422 No active session
- 402 Insufficient balance
- 404 Not capable
- 429 Rate limited
First CONVERSATION send after the user opened the session. A Conversation hold is placed — this is the billing event for the whole session.
true — an active session exists for this agent + phone pair.Balance held for the Conversation unit. Released or charged when the session resolves.
Related
- Receive replies — handle
conversation.startedwebhook and open a session - RCS text — use
MESSAGEto initiate the conversation flow - Billing (RCS) — Conversation vs Basic/Single pricing