Template management | Developer Documentation
Template management
Updated: Nov 14, 2025
Learn about common endpoints used to manage templates.
Get
templates
GET/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templatesGet all templates
curl'https://graph.facebook.com/v23.0/102290129340398/message_templates'\-H'Authorization: Bearer EAAJB...'
...{"data": [{"name":"reservation_confirmation","parameter_format":"NAMED","components": [{"type":"HEADER","format":"IMAGE","example": {"header_handle": ["https://scontent.whatsapp.net/v/t61..."]}},{"type":"BODY","text":"*You're all set!*\n\nYour reservation for {{number_of_guests}} at Lucky Shrub Eatery on {{day}}, {{date}}, at {{time}}, is confirmed. See you then!","example": {"body_text_named_params": [{"param_name":"number_of_guests","example":"4"},{"param_name":"day","example":"Saturday"},{"param_name":"date","example":"August 30th, 2025"},{"param_name":"time","example":"7:30 pm"}]}},{"type":"FOOTER","text":"Lucky Shrub Eatery: The Luckiest Eatery in Town!"},{"type":"BUTTONS","buttons": [{"type":"URL","text":"Change reservation","url":"https://www.luckyshrubeater.com/reservations"},{"type":"PHONE_NUMBER","text":"Call us","phone_number":"+16467043595"},{"type":"QUICK_REPLY","text":"Cancel reservation"}]}],"language":"en_US","status":"APPROVED","category":"UTILITY","id":"1387372356726668"},{"name":"coupon_expiration_reminder_number_vars","parameter_format":"POSITIONAL","components": [{"type":"HEADER","format":"TEXT","text":"Act fast, {{1}}!","example": {"header_text": ["Pablo"]}},{"type":"BODY","text":"Just a quick reminder—your exclusive coupon code,{{1}}, *expires in only {{2}} days!* Don’t missout on our special deals. Use your code atcheckout before it’s too late.\n\nHappy shopping!😃","example": {"body_text": [["SUMMER20","10"]]}},{"type":"FOOTER","text":"Lucky Shrub Succulents"},{"type":"BUTTONS","buttons": [{"type":"URL","text":"See deals","url":"https://www.luckyshrub.com/deals"},{"type":"QUICK_REPLY","text":"Unsubscribe"}]}],"language":"en","status":"APPROVED","category":"MARKETING","sub_category":"CUSTOM","id":"1304694804498707"},...],"paging": {"cursors": {"before":"QVFIU...","after":"QVFIU..."},"next":"https://graph.facebook.com/v23.0/10229..."}}
Get all templates and specific fields
curl'https://graph.facebook.com/v23.0/102290129340398/message_templates?fields=name,category,status&limit=5'\-H'Authorization: Bearer EAAJB...'
{"data": [{"name":"reservation_confirmation","category":"UTILITY","status":"APPROVED","id":"1387372356726668"},{"name":"coupon_expiration_reminder_number_vars","category":"MARKETING","status":"APPROVED","id":"1304694804498707"},{"name":"coupon_expiration_reminder_named_vars","category":"MARKETING","status":"APPROVED","id":"1625063511800527"},{"name":"address_update","category":"UTILITY","status":"PENDING","id":"1137051647947973"},{"name":"reservation_confirmation_short_banner","category":"UTILITY","status":"REJECTED","id":"1166414785519855"}],"paging": {"cursors": {"before":"QVFIU...","after":"QVFIU..."},"next":"https://graph.facebook.com/v23.0/10229..."}}
Get all approved and rejected templates
status=approvedstatus=rejectedcurl 'https://graph.facebook.com/v23.0/102290129340398/message_templates?fields=name,category,status&status=approved' \-H 'Authorization: Bearer EAAJB...'
{"data": [{"name":"reservation_confirmation","category":"UTILITY","status":"APPROVED","id":"1387372356726668"},{"name":"coupon_expiration_reminder_number_vars","category":"MARKETING","status":"APPROVED","id":"1304694804498707"},{"name":"coupon_expiration_reminder_named_vars","category":"MARKETING","status":"APPROVED","id":"1625063511800527"},{"name":"calling_permission_request","category":"MARKETING","status":"APPROVED","id":"1092999222892024"},{"name":"location_request_v1","category":"MARKETING","status":"APPROVED","id":"3373761659571648"},{"name":"order_confirmation","category":"UTILITY","status":"APPROVED","id":"1667696820637468"}],"paging": {"cursors": {"before":"QVFIU...","after":"QVFIU..."},"next":"https://graph.facebook.com/v23.0/10229..."}}
Edit templates
Use the POST /<TEMPLATE_ID> endpoint to edit a template. You can also use the Message templates? panel in WhatsApp Manager to edit templates.
Limitations
APPROVED, REJECTED, or PAUSED status can be edited.You can only edit a Edit template category
Example request:
curl'https://graph.facebook.com/v23.0/1252715608684590'Example response:
{
"success": true
}
Edit
template components
curl'https://graph.facebook.com/v23.0/564750795574598'\-H'Content-Type: application/json'\-H'Authorization: Bearer EAAJB...'\-d'{"components": [{"type": "HEADER","format": "TEXT","text": "Our {{1}} is on!","example": {"header_text": ["Spring Sale"]}},{"type": "BODY","text": "Shop now through {{1}} and use code{{2}} to get {{3}} off of all merchandise.","example": {"body_text": [["the end of April","25OFF","25%"]]}},{"type": "FOOTER","text": "Use the buttons below to manage your marketing subscriptions"},{"type": "BUTTONS","buttons": [{"type": "QUICK_REPLY","text": "Unsubscribe from Promos"},{"type": "QUICK_REPLY","text": "Unsubscribe from All"}]}]}'
Delete templates
Use the DELETE /<WHATSAPP_BUSINESS_ACCOUNT_ID/message_templates endpoint to delete a template by name or ID.
Limitations
PENDING_DELETION and we will attempt to deliver the message for 30 days.If you delete an approved template, you cannot create a new template with the same name for 30 days.Templates that are in a disabled status cannot be deleted.
Delete template by name
Deleting a template by name deletes all templates that match that name (meaning templates with the same name but different languages will also be deleted).
Example request:
curl-XExample response:
{
"success": true
}
Delete template by ID
To delete a template by ID, include the template’template's ID along with its name in your request; only the template with the matching template ID will be deleted.
Example request:
curl-XDELETE'https://graph.facebook.com/v23.0/102290129340398/message_templates?hsm_id=1407680676729941&name=order_confirmation'\-H'Authorization: Bearer EAAJB...'
Example response
{"success":true}