Skip to main content
POST
Reply to Conversation

Authorizations

Authorization
string
header
required

Your API key (ta_live_…) from Settings → API keys, sent as Authorization: Bearer <key>. Keep it on a server: it can message every customer you have. A key is full, build or read-only; a request its level does not allow is refused with 403.

Headers

Idempotency-Key
string

Any unique string. A retry with the same key within 24 hours returns the first request's answer instead of acting twice.

Maximum string length: 255
Thinnest-Workspace
string

Developers only: the customer workspace this request acts in — its org_… id from POST /customers. Leave it out to act in your own workspace.

Example:

"org_3fKq9TzQ1mN8vB2xR7cLpA"

Path Parameters

id
string
required

The conversation's id (conv_…) — the conversationId in the message.received delivery.

Body

application/json

Exactly one of text, media, template or form. Two in one call are refused, so a customer never gets two messages when you meant one.

text
string
required

The reply, up to 4,096 characters after trimming. Only while the customer's 24-hour window is open.

Required string length: 1 - 4096
idempotencyKey
string

Same as the Idempotency-Key header, for clients that cannot set headers. The header wins when both are sent.

Response

Sent. A replay of an Idempotency-Key returns the first answer with an Idempotent-Replayed: true header.

ok
boolean
required

WhatsApp accepted it. Delivery and read are reported afterwards.

messageRef
string | null

WhatsApp's receipt for a template send. Absent for text, media and forms.