Create a message template

View as MarkdownOpen in Claude
Creates a message template and submits it to Meta for review. Approval typically takes from a few minutes to a few hours; poll the template's `template_status` until it becomes `approved`. #### 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).

Authentication

AuthorizationBasic
SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ```

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_atstring
The date and time when the template was discarded, if applicable.

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error
500
Internal Server Error