Send a WhatsApp template message

Send a pre-approved WhatsApp template message to a contact. Use this endpoint to
initiate a conversation outside the 24-hour customer service window — for example,
notifications, marketing campaigns, or re-engagement messages. To reply within an
active 24-hour session, use sendSessionMessage instead.

Behavior:

  • The template_name must reference a template that has been approved by WhatsApp.
    Requests referencing pending or rejected templates return 400.
  • parameters are positional: the order in the array must match the placeholder
    order in the approved template body (e.g., {{1}}, {{2}}, …).
  • broadcast_name is used for grouping and analytics in WATI dashboards; it does
    not affect message delivery.
  • channel_number routes the message through a specific WhatsApp Business Account
    when the tenant has multiple WABAs connected.
  • A 200 response means the message was accepted by WATI, not delivered yet.
  • To detect delivery failures, listen to the Template Message Failed webhook.
  • To detect successful delivery, listen to the Delivered, Read, or Reply
    webhooks.
  • Marketing-category templates are subject to per-tenant daily limits; once the
    limit is reached, subsequent calls return 400 until the next window.
  • The endpoint returns 400 when the tenant is in offline mode or when the
    trial-plan broadcast quota is exhausted.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Your WATI workspace (tenant) ID. This required path segment identifies the WATI account for legacy v1 and v2 API requests.

Query Params
string

Recipient's WhatsApp number in international format without the leading +
(e.g., 85264318721 for +852 6431 8721). The number must be a valid WhatsApp user.
Optional when target is provided.

string

Polymorphic recipient identifier. Accepts a phone number, ContactId, or BSUID.
When provided, takes precedence over whatsappNumber. BSUID resolution requires
the wati_contact_bsuid_support Statsig gate to be enabled for the tenant.

Body Params

Template selection and parameter values. Specifies which approved template to send,
positional parameter values, optional broadcast grouping label, and optional channel
routing for multi-WABA tenants.

parameters
array of objects
required
parameters*
string
required
length ≥ 1
string
required
length ≥ 1
string
required
length ≥ 1
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json-patch+json

Generated from available request content types

Allowed:
Responses

400

Request was rejected. Common causes: template name not found or not approved, missing/extra parameters, daily marketing-broadcast limit reached, tenant in offline mode, or invalid WhatsApp number.

401

Missing or invalid bearer token.

403

Authenticated user lacks the required scope (messagetemplate:write or wati_integration:write).

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json