Creates a WhatsApp message template under a connected Business Account and submits it to Meta for review. Use it when outbound content must be sent outside the 24-hour customer service window. Approval typically takes from a few minutes to a few hours; poll the template until `template_status` becomes `approved`, then send it through [Send a message](/docs/apis/rest/messages/create-message).
#### Permissions
The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Numbers_.
[Learn more about API scopes](/docs/platform/your-signalwire-api-space).
Request
This endpoint expects an object.
whatsapp_business_idstringRequiredformat: "uuid"
The WhatsApp Business Account the template belongs to. List your accounts at GET /api/messaging/whatsapp/businesses.
namestringRequiredformat: "^[a-z0-9_]*$"<=512 characters
The template name. Maximum 512 characters; lowercase letters, numbers, and underscores only.
languagestringRequired
The template language code.
categoryenumRequired
The template category.
parameter_formatenumRequired
How the template's variable placeholders are referenced.
componentslist of objectsRequired
The template’s components. Must include a BODY component. Each component is an object whose fields depend on its type — see the request example.
Response
Response returned when a template is successfully created and submitted to Meta.
idstringformat: "uuid"
The SignalWire identifier of the template.
namestring
The template name. Lowercase letters, numbers, and underscores only.
categoryenum
The template category.
componentslist of objects
The template’s components (header, body, footer, buttons).
languagestring
The template language code.
parameter_formatenum
How the template's variable placeholders are referenced.
template_idstring
Meta's identifier for the template.
template_statusenum
The Meta approval status of the template.
whatsapp_business_idstringformat: "uuid"
The SignalWire identifier of the WhatsApp Business Account the template belongs to.
created_atstring
The date and time when the template was created.
updated_atstring
The date and time when the template was last updated.
discarded_atstringOptional
The date and time when the template was discarded, if applicable.