Send a template into a conversation
Authorizations
Your workspace API key. Create one in Settings → API Keys; the plaintext value is shown once and never again.
Keys are scoped. A key needs conversations:send to send, conversations:read to
read threads and messages, templates:read to list templates, and channels:read
to list channels. A key missing the scope for an endpoint gets 403.
The CRM endpoints use the same resource:action form: leads:read, leads:create,
leads:update, leads:delete, customers:read, customers:create,
customers:update, customers:delete, customers:manage.
Several resources have no scope of their own and borrow one:
Grant only what the integration needs — a key that only sends notifications should
hold conversations:send and nothing else.
Your workspace UUID. Required on every request in addition to x-api-key.
It does not select the workspace — data access is always scoped to the workspace that owns the API key, and a mismatched value cannot read anyone else's data.
Path Parameters
Body
An APPROVED template name from GET /v1/templates.
Language code the template was approved under, e.g. en, en_US, ar.
Values for the body placeholders {{1}}, {{2}}, … in order. The count must
match the template exactly or the send is rejected.
Response
Queued for delivery.
inbound, outbound Drives how text and media are interpreted.
text, image, video, audio, document, sticker, location, contact, poll, reaction, template The body for text; the caption for image/video/document; the emoji for a reaction; the place name for a location; null for audio and stickers.
Type-specific metadata. Null for plain text.
Delivery state. failed is terminal and error_reason explains it. Read
status only appears when the contact has read receipts enabled.
pending, sent, delivered, read, failed True when we sent it.
The platform's own id. Empty until the send is acknowledged.

