Skip to main content
POST
Send template

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
integer
required

Body

multipart/form-data
to
string
required

Recipient phone in international format — digits or +E.164 (e.g. 919812345678). Required.

Maximum string length: 32
device_id
string | null

Optional sender selector: baileys:<device_id>, waba:<config_id>, or twilio:<config_id>. Blank uses the workspace default.

Maximum string length: 64
header_text
string | null

Value for a {{1}} in a TEXT header. Only for text-header templates.

Maximum string length: 1024
header_media_url
string<uri> | null

Public https URL for an IMAGE / VIDEO / DOCUMENT header. Only for media-header templates.

Maximum string length: 2048
header_media
file | null

OR attach the header file (PDF / image / video) directly in ONE multipart/form-data request — field name header_media, up to 16 MB. We host it and use it as the header, so you don't need a separate upload call. Takes precedence over header_media_url.

Maximum string length: 16384
header_filename
string | null

Display filename the recipient sees for a DOCUMENT header (e.g. "Invoice-2045.pdf"). Optional — when you attach header_media we default it to the uploaded file's own name.

Maximum string length: 255
body
(string | null)[] | null

BODY variables, positional -> {{1}}, {{2}}, ... Send a list ["John","12345"] or a 1-indexed map {"1":"John","2":"12345"}. Omit if the body has no variables.

Maximum string length: 1024
buttons
object[] | null

Dynamic button parameters, one object per variable button, e.g. [{"index":0,"sub_type":"url","value":"ORDER123"}].

Response

Resource created successfully.

data
object
required
meta
string
required