Docs
Templates
Message templates are pre-approved formats you can send at any time, including outside the 24-hour window.
GET
/v1/templates— List templates (?status&category&q)POST
/v1/templates— Create (and optionally submit to Meta)GET
/v1/templates/{id}PATCH
/v1/templates/{id}DELETE
/v1/templates/{id}POST
/v1/templates/sync— Pull the latest from MetaThe template object
json
{
"id": "3c7d…",
"name": "order_shipped",
"language": "en",
"category": "UTILITY",
"status": "APPROVED",
"rejected_reason": null,
"quality_score": "GREEN",
"parameter_format": "POSITIONAL",
"meta_template_id": "1234567890",
"components": [
{ "type": "HEADER", "format": "IMAGE", "example": { "header_handle": ["https://…"] } },
{ "type": "BODY", "text": "Hi {{1}}, your order {{2}} has shipped!",
"example": { "body_text": [["Ananya", "#48213"]] } },
{ "type": "FOOTER", "text": "Acme Store" },
{ "type": "BUTTONS", "buttons": [
{ "type": "URL", "text": "Track order", "url": "https://acme.in/t/{{1}}", "example": ["https://acme.in/t/48213"] }
] }
],
"updated_at": "2026-11-11T10:42:00Z"
}components uses Meta's template component schema, so anything you build in Engage maps 1:1 to WhatsApp Manager.
Creating a template
Parameters
namestringrequiredLowercase letters, numbers and underscores; up to 512 characters.languagestringrequiredLocale code such asen,en_US,hi.categoryenumrequiredMARKETING·UTILITY·AUTHENTICATIONparameter_formatenumrequiredPOSITIONAL({{1}}) orNAMED({{first_name}}).componentsarrayrequiredHeader, body, footer, buttons, carousel components with examples.submitbooleanrequiredSubmit to Meta for review now.falsesaves a draft.
Limits
Statuses
Subscribe to the
template.status webhook to be notified when Meta approves, rejects or pauses a template.