Edit template
PUT/templates/:name
Replaces the components of an existing template. Only the content changes: name, language and category are immutable on Meta — to change any of them, create a new template.
An edit sends the template back to the review queue (PENDING). While it is
under review, sends keep using the previously approved version, so nothing
stops working in the meantime.
Before calling Meta
- Only templates in
APPROVED,REJECTEDorPAUSEDcan be edited. Under review (PENDING) the answer is422 template_not_editable. languageis only required when the same name exists in more than one language — each language is a separate template on Meta.- Components go through the same validations as
POST /templates(an example per variable, no gaps in the numbering, no variables in the footer…). - The variable format (numbered × named) is fixed at creation and cannot change in an edit.
Meta replaces the whole component list: whatever you leave out is gone. To
keep buttons or a media header, send those components back exactly as they
came from GET /templates.
Request
Responses
- 200
- 401
- 403
- 404
- 409
- 422
- 429
Edit accepted; the template went back to review.
Missing, malformed, unknown or revoked token (authentication), or a suspended
account (tenant_inactive).
The resource does not belong to your account (forbidden), or the path is on the
mirror's block list (forbidden_endpoint), or your API key is limited to some numbers and
the operation covers the whole account (forbidden).
Resource does not exist (not_found).
No WhatsApp Business Account connected and wabaId omitted (no_waba).
Payload failed validation (invalid_request, detailed in issues) or was
rejected by Meta (meta_error, with the original body in meta).
Rate limit exceeded (rate_limit).
Response Headers
Seconds to wait before retrying.
Which rate limit category applied — send, media or default.
Which bucket the other headers describe — key (the API key), session (the dashboard) or account (the account ceiling).
Request ceiling for this category in the current window.
Requests left in the current window.