Skip to main content
Use this endpoint to send an already-approved WhatsApp template to one or more recipients. Templates must first be created and approved via the Create Template API.

Endpoint

Headers

string
required
API key for the sending WhatsApp number’s TUC.
string
required
application/json

Request body

array
required
Wrapper array for one or more WhatsApp message objects (batch send).
string
required
Always "whatsapp".
string
required
Always "individual".
array
required
Recipient phone number(s), without country prefix (prefix supplied separately via the root-level prefix field).
string
required
Sender’s registered WhatsApp number. A pool ID can also be passed here.
string
required
Always "template".
string
required
Name of the approved WhatsApp template.
string
required
Template language code, e.g. en_US.
array
required
Defines all template components to fill in at send time (header, body, button parameters). Shape depends on template type — see the tabs below.
string
Optional custom reference field, echoed back in delivery callbacks. custref1–custref5 are all supported.
string
Country prefix applied to all recipients, e.g. +91.
string
Optional campaign label for reporting.
integer
Time-to-live in seconds for the message send. Default 600.
object
Optional URL-shortening configuration for links in the message body.

cURL

Response

The response is an array with one entry per recipient. Which fields appear depends on the fields enabled for your TUC.
string
Unique message ID assigned by the platform. Use with the Status Check API to track delivery.
integer
Status code. 200 on successful submission.
string
"success" on successful submission.
string
Recipient phone number (only present if enabled for your TUC).
string
Sender WhatsApp number (only present if enabled for your TUC).
string
Echoed custom reference field 1–5, if supplied on the request and enabled for your TUC.

Send payload variants

General-purpose template send with an image header, a body text variable, a quick-reply button, and a URL button.
Header image parameters accept either "link" (remote URL) or "id" (media ID from Media Upload). The header type can be text, image, video, document, or location. The button index is the zero-based position of that button within the template’s BUTTONS array — a quick_reply sub-type must match a QUICK_REPLY button at that index, and a url sub-type must match a URL button.