Create & manage WhatsApp templates
Templates are the Meta-approved messages you can send to start a conversation. Each goes through Meta's automated review.
Endpoints
/internal/templatesDashboard Onlydashboard sessionList every template in your workspace with its approval status, body, and variable schema.
Requires an authenticated dashboard session — your wac_live_ API key cannot call this endpoint. Use it from inside the dashboard, or wrap it behind your own server.
/internal/templatesDashboard Onlyowner / admin / developerCreate and submit a new template to Meta for review. Returns once Meta acknowledges the submission.
Requires an authenticated dashboard session — your wac_live_ API key cannot call this endpoint. Use it from inside the dashboard, or wrap it behind your own server.
/internal/templates/:name/submit-draftDashboard Onlyowner / admin / developerRe-submit an edited draft (body, header, footer, examples, or buttons changed).
Requires an authenticated dashboard session — your wac_live_ API key cannot call this endpoint. Use it from inside the dashboard, or wrap it behind your own server.
Template body rules
- Body uses sequential
{{1}}, {{2}}, …placeholders. - A placeholder can't be the first or last character of the body.
- Two placeholders can't be adjacent — separate them with static text.
bodyExamplesmust contain one sample per placeholder, in order.- Header text is single-line, max 60 chars, at most one placeholder.
- Footer text is max 60 chars, no placeholders.
- Maximum 2 buttons. Type
URLorPHONE_NUMBER.
Create a template
POST /internal/templates
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "welcome_onboarding",
"category": "UTILITY",
"language": "en_US",
"body": "Hi {{1}}, welcome to {{2}}! Reply YES to start.",
"bodyExamples": ["Dominic", "SendyStack"],
"headerText": "Welcome",
"footer": "Reply STOP to opt out.",
"buttons": [
{ "type": "URL", "text": "Open app", "url": "https://app.sendystack.com" }
]
}Approval status
- PENDING — submitted, awaiting Meta's decision.
- APPROVED — ready to broadcast. Most submissions land here within minutes.
- REJECTED — Meta flagged a policy issue; the rejection reason is visible in the dashboard.
- PAUSED — quality dropped too low (too many user blocks); fix or refresh and resubmit.