Update a message template
Update a message template. This is a partial update: a field you omit keeps its stored value. Only a template still in draft can be updated, with one exception: on an approved template where WhatsApp rejected a language, you can fix the text of the rejected variants, with the same variables, and the variable_examples. The fix applies to every channel at once and is sent back to WhatsApp for review.
In order to get access to this endpoint, contact our support team.
channels, variants and countries are replaced as a whole when you send them.
Only a template still in draft can be updated. Once it is submitted, a change is refused with template_not_editable, because a template under review or already registered with providers cannot change underneath that process.
Fixing a language WhatsApp rejected
On an approved template whosechannels include whatsapp, WhatsApp reviews every language on its own, and can reject one. The whatsapp object of that variant then shows rejected with a rejection_reason.
You can fix it without creating a new template. Send all the variants, with a new text only for the rejected ones, and variable_examples if needed. The new text must use the same variables as before. The template stays approved:
- The new text applies at once, on every channel, SMS included.
- The rejected languages are sent back to WhatsApp for review. Their
whatsapp.statusmoves topending, then toapprovedorrejected.
template_not_editable. To change the wording of an approved language, create a new template and delete the old one.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The identifier of the template.
Body
A partial update. Every field is optional, and a field you omit keeps its stored value.
The name of the template.
"Acme Receipts"
What the template is used for.
transactional, marketing The channels the template should be delivered over. Replaces the stored channels.
sms, rcs, whatsapp, viber, zalo, telegram The wording of the message, one entry per locale. Replaces the stored variants.
The locale used when the recipient's own locale has no variant.
"en"
The countries the template should work in. Replaces the stored countries.
One sample value per {{variable}} of the variants. WhatsApp requires a sample for every variable to review the template, so set them on a template whose channels include whatsapp. Every key must be a variable used in the variants. Replaces the stored examples; when omitted, the examples of variables you removed are dropped.
Response
OK
The identifier of the template, to pass as template_id when sending a message.
"template_01k8ap1btqf5r9fq2c8ax5fhc9"
What the template is used for. Possible values are:
transactional- A message triggered by an action of the recipient.marketing- A promotional message, subject to marketing rules.
transactional, marketing The name of the template.
"Acme Receipts"
Where the template stands in the approval flow. Possible values are:
draft- Yours to edit. Nothing is sent with it yet.pending- Submitted, and waiting on our review and on the per-country registrations.ready- Approved and usable in every country you asked for.rejected- Refused. Contact support for the reason.
draft, pending, ready, rejected The channels the template can be delivered over.
sms, rcs, whatsapp, viber, zalo, telegram The placeholder names found in the variants, to fill in when sending.
The wording of the message, one entry per locale.
The locale used when the recipient's own locale has no variant.
"en"
The countries the template works in, with the monthly volume recorded for each.
The readiness of the template per country, keyed by ISO 3166-1 alpha-2 country code.
The date and time when the template was created.
"2024-01-01T12:00:00Z"