Send a message
POST/conversations/:conversation_id/messages
Send a message, an internal note, or a WhatsApp template. type selects the
shape of the request:
type | What it sends | Required |
|---|---|---|
text (default) | A plain text message | content |
media | A file by URL | content (an https URL), content_type |
note | An internal note, never delivered to the customer | content |
template | An approved WhatsApp template | template.name |
The WhatsApp 24-hour window
WhatsApp only accepts free-form messages within 24 hours of the customer's last
message. Outside it, this endpoint answers 409 with
code: whatsapp_window_closed before contacting the provider, and the error
carries details.last_customer_message_at so you can show the operator why.
Send a template instead — that is what templates are for.
Other channel rules
- TikTok — 48-hour window plus a per-window message cap; text and image only.
- Voice — private notes only.
- SMS — costs credits per segment. Insufficient credits answers
402. - Templates — cost credits by category (
utility,marketing,authentication). Pass the right one: it decides the price.
Request
Responses
- 201
- 400
- 401
- 402
- 403
- 404
- 409
Message created and queued for delivery.
Response Headers
Correlation id for this request. Quote it when reporting a problem.
The request was malformed, or a parameter was rejected.
Response Headers
Correlation id for this request. Quote it when reporting a problem.
No token, an expired token, or a credential that has been revoked.
Response Headers
Correlation id for this request. Quote it when reporting a problem.
A plan ceiling or a locked feature stopped an otherwise valid request.
Response Headers
Correlation id for this request. Quote it when reporting a problem.
Refused. Either the credential does not hold the scope this endpoint needs (code: insufficient_scope), or the account's IP allow-list does not include the calling address (code: ip_not_allowed).
Response Headers
Correlation id for this request. Quote it when reporting a problem.
No such resource in this account.
Response Headers
Correlation id for this request. Quote it when reporting a problem.
The request was valid but conflicts with the current state.
Response Headers
Correlation id for this request. Quote it when reporting a problem.