WhatsApp API Platform
Template Messages

Send Template with Named Variables

POST
/api/v1/messages/send#template-named-vars

Send a template created in the dashboard with named variables, for example Hello {{name}}, my name is {{vendor_name}}. Regards, {{vendor_name}}. Pass one named_variables object keyed by variable name, instead of ordered body_variables / header_variables. Each name fills every header, body and URL-button slot where it appears.

  • System variables (customer.name, customer.phone, customer.email, customer.attributes.<attribute>, business.name, date.today) resolve from the recipient and may be omitted.
  • A custom variable that is omitted uses its saved fallback value.
  • Values are resolved in this order: the value you pass, then the system value, then the fallback. Blank values count as missing.

Returns 400 when named_variables is sent together with body_variables / header_variables, when the template was not created with named variables, or when a variable is still missing (the error lists the names).

List your variables with GET /api/v1/named-variables and the built-in ones with GET /api/v1/named-variables/system.

Authorization

ApiKeyAuth
X-API-Key<token>

API key from your dashboard (Settings > API Keys)

In: header

Header Parameters

X-AGENT-ID?string

Optional. Attribute this send to a specific agent, overriding the agent bound to the API key. The agent must belong to your account and be active (role AGENT, parent = your account) — otherwise the request returns 400. Drives customer assignment, agent allotment limits, and the wallet ledger entry.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://loading/api/v1/messages/send#template-named-vars" \  -H "X-AGENT-ID: agt_abc123" \  -H "Content-Type: application/json" \  -d '{    "to": "919876543210",    "message": {      "message_type": "template",      "template_name": "vendor_intro",      "template_language": "en_US",      "named_variables": {        "name": "Manjeet",        "vendor_name": "Narayan"      }    }  }'
{
  "success": true,
  "data": {
    "id": "clx9abc123def456"
  }
}
{
  "success": false,
  "message": "to field is required"
}
{
  "success": false,
  "message": "user not authenticated"
}
{
  "success": false,
  "message": "insufficient balance to send message"
}
{
  "success": false,
  "message": "template not found"
}
{
  "success": false,
  "message": "internal server error"
}