WABA templates are required for WhatsApp Business API channels when you need to message a customer first outside an active service window.
You can create these templates yourself and customize the content as needed. All WABA templates must be submitted to Meta for approval.
Refer to the guide to learn more about how and when to use WABA templates, as well as their limitations.
This section describes how to manage WABA templates via the API: creating, retrieving, editing, and deleting them.
When using the methods listed below, include the end‑customer's client_access_token (obtained via simplified authorization or OAuth) in the request header: Authorization: Bearer client_access_token
You can also manage templates using the Wazzup iframe.
This method allows you to create a WABA template and submit it to Meta for approval.
POST /v2/templates/wabaPOST /v2/templates/waba │ ├── template * │ ├── title * │ ├── waba * │ │ ├── waba_id * │ │ └── waba_name * │ ├── channels[] * │ ├── category * │ ├── language * │ ├── components[] * │ │ ├── type │ │ ├── format │ │ ├── text │ │ ├── example[] │ │ └── buttons[] │ │ ├── type │ │ ├── text │ │ └── url │ └── tricky_templates_priority └── is_draft *
| Body parameter. Required are marked with * | Type | Description |
template * |
object template |
Template |
is_draft * |
boolean |
Set to false to submit for moderation, true — to save as a draft |
| Body parameter. Required are marked with * | Type | Description |
title * |
string |
The template name in Wazzup. Used for easier identification in the template list |
waba * |
object waba |
Object containing Facebook Business Account information |
channels * |
array(string) |
IDs of the channels associated with the template |
category * |
string |
Template category: MARKETING, UTILITY. Refer to the guide for details on template categories and requirements |
language * |
string |
Template language |
components * |
array(object) components |
Template components |
tricky_templates_priority |
number |
Priority for universal template (nullable) |
| Body parameter. Required are marked with * | Type | Description |
waba_id * |
string |
WABA business account ID |
waba_name * |
string |
WABA business account name |
| Body parameter. Required are marked with * | Type | Description |
type |
string |
Template component type: HEADER — header, FOOTER — footer, BUTTONS — buttons, BODY — body text |
format |
string |
Format. For HEADER only: IMAGE, DOCUMENT, VIDEO, TEXT |
text |
string |
Component text, if applicable |
example |
array(string) |
Sample values for the component's variables |
buttons |
array(object) buttons |
List of buttons, if applicable |
| Body parameter. Required are marked with * | Type | Description |
type |
string |
Button type: URL — link, QUICK_REPLY — quick reply, PHONE_NUMBER — phone number |
text |
string |
Button label |
url |
string |
For URL buttons — the link the user will be directed to |
curl -L 'https://tech.wazzup24.com/v2/templates/waba' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"template": {
"title": "Template for quick lookup",
"waba": {
"waba_id": "1399322699894",
"waba_name": "Test Photo 2"
},
"channels": [
"bf65cc76-8e64-4fe3-bdef-e309946ec9"
],
"category": "MARKETING",
"language": "en",
"components": [
{
"type": "BODY",
"text": "Hi {{1}}, please take a look at everything"
},
{
"file": {
"name": "test.mp4",
"sha1": "123123asdasd",
"size": 2548020,
"mimetype": "video/mp4"
},
"type": "HEADER",
"format": "VIDEO"
},
{
"type":"FOOTER",
"text":"Best regards, The Team\u0021"
},
{
"type":"BUTTONS",
"buttons":[
{
"type":"QUICK_REPLY",
"text":"Got it, thanks\u0021"
}
]
}
]
},
"is_draft": false
}'
{
"data": {
"guid": "d61f0684-8645-4e4e-876c-307556930",
"account_id": 11111111,
"title": "Test template API1",
"name": "Test template API1",
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"channels": ["bf65cc76-8e64-4fe3-bdef-e30994cec9"],
"category": "MARKETING",
"language": "en",
"status": "pending",
"rejected_reason": null,
"components": [
{
"text": "Hi {{1}}, please take a look at everything",
"type": "BODY"
},
{
"file": {
"name": "test.mp4",
"sha1": "123123asdasd",
"size": 2548020,
"mimetype": "video/mp4"
},
"type": "HEADER",
"format": "VIDEO"
},
{
"text": "Best regards, The Team!",
"type": "FOOTER"
},
{
"type": "BUTTONS",
"buttons": [
{
"text": "Got it, thanks!",
"type": "QUICK_REPLY"
}
]
}
],
"tricky_templates_priority": 10,
"components_defaults": {
"file": {
"name": "test.mp4",
"sha1": "123123asdasd",
"size": 2548020,
"mimetype": "video/mp4"
}
},
"published_at": "2025-10-03T12:38:23.769Z"
},
"meta": {
"timestamp": 1759495103
}
}
Result: A WABA template has been created and submitted for moderation. Its template_id is 07e8c66a-db87-4923-94bc-565c7bbd82c5. The response returns a (status) of pending, meaning the template is now under review. For a full list of status values, see the Retrieve a List of WABA Templates method description below.
To receive notifications about WABA template status changes, subscribe to webhooks.
GET /v2/templates/wabaExample:
curl -L 'https://tech.wazzup24.com/v2/templates/waba?limit=50&offset=0' -H 'Authorization: Bearer <client_access_token>'
{
"data": [
{
"template_guid": "b68dd829-835b-4f65-b780-697f095d963d",
"account_id": 11111111,
"title": "test_webhook_4_1",
"channels": ["020e3f61-e5df-447f-8ef9-ce8258e92c7a"],
"order": 30,
"category": "MARKETING",
"language": "en",
"status": "approved",
"quality": "UNKNOWN",
"rejected_reason": "NONE",
"components": [
{
"text": "Test WZ",
"type": "HEADER",
"format": "TEXT"
},
{
"text": "Test",
"type": "BODY"
}
],
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"name": "test_webhook_4_1",
"namespace": "67711ae2_6cdd_4694_b1a5_4d0b124df572",
"published_at": null,
"is_tricky_template": false,
"tricky_templates_priority": null,
"created_at": "2025-02-03T10:00:03.618Z",
"updated_at": "2025-02-05T11:04:48.620Z",
"components_defaults": {},
"tags": null,
"template_code": "@template: b68dd829-835b-4f65-b780-697f095d963d { }"
},
{
"template_guid": "006cc8ca-39d8-4d79-b12c-d0a761af5e31",
"account_id": 11111111,
"title": "test_webhook_5_1",
"channels": ["020e3f61-e5df-447f-8ef9-ce8258e92c7a"],
"order": 31,
"category": "MARKETING",
"language": "en",
"status": "approved",
"quality": "UNKNOWN",
"rejected_reason": "NONE",
"components": [
{
"text": "Verification",
"type": "HEADER",
"format": "TEXT"
},
{
"text": "Configuration",
"type": "BODY"
}
],
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"name": "test_webhook_6_1",
"namespace": "67711ae2_6cdd_4694_b1a5_4d0b124df572",
"published_at": null,
"is_tricky_template": false,
"tricky_templates_priority": null,
"created_at": "2025-02-03T10:00:02.943Z",
"updated_at": "2025-07-31T13:41:43.700Z",
"components_defaults": {},
"tags": null,
"template_code": "@template: 006cc8ca-39d8-4d79-b12c-d0a761af5e31 { }"
}
],
"meta": {
"timestamp": 1759495468
}
}
Result: A list of WABA templates has been created within the current WABA account.
Status parameter values
The status parameter indicates the template's moderation status in Meta.
| Value | Description |
APPROVED |
Corresponds to "Active" in the Wazzup UI. The template has been approved by Meta and is ready to use |
PENDING |
Corresponds to "Under Moderation" in the Wazzup UI. Meta is still reviewing the template |
REJECTED |
Corresponds to "Rejected" in the Wazzup UI. The template did not pass Meta's moderation |
PAUSED |
Corresponds to "Rejected" in the Wazzup UI. The template received recipient complaints, so Meta is re-reviewing it |
DISABLED |
Corresponds to "Rejected" in the Wazzup UI. The template was disabled following complaints |
GET /v2/templates/waba/{template_id}Path Parameterstemplate_id — WABA template ID
Example:
curl -L 'https://tech.wazzup24.com/v2/templates/waba/b1bcd76c-52f3-4bf7-8e60-52b56ce060c5' -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": {
"template_guid": "b1bcd76c-52f3-4bf7-8e60-52b56ce060c5",
"account_id": 11111111,
"title": "Edited template",
"channels": [
"020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"bf65cc76-8e64-4fe3-bdef-e309946bcec9"
],
"order": 2,
"category": "MARKETING",
"language": "en",
"status": "approved",
"rejected_reason": "NONE",
"components": [
{
"type": "HEADER",
"format": "VIDEO"
},
{
"text": "Hi {{1}}, please take a look at everything.",
"type": "BODY",
"example": {
"body_text": [["[body-example-1]"]]
}
},
{
"text": "Best regards, The Team!",
"type": "FOOTER"
},
{
"type": "BUTTONS",
"buttons": [
{
"text": "Got it, thanks!",
"type": "QUICK_REPLY"
}
]
}
],
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"name": "Test template API1",
"namespace": "67711ae2_6cdd_4694_b1a5_4d0b124df572",
"created_at": "2025-10-02T07:28:38.966Z",
"updated_at": "2025-10-02T08:00:06.793Z",
"components_defaults": {},
"tags": null,
"template_code": "@template: b1bcd76c-52f3-4bf7-8e60-52b56ce060c5 { [[headerContentUrl]]; [[bodyVar1]] }"
},
"meta": {
"timestamp": 1759495366
}
}
Result: If a WABA template with the specified template_id exists, it is returned in the response.
This method allows you to edit draft and rejected WABA templates. For templates already approved by Meta, only the (title) and (channels) fields can be modified.
PATCH /v2/templates/waba/{template_id}Path Parameterstemplate_id — The ID of a previously created WABA template.
curl -L -X PATCH 'https://tech.wazzup24.com/v2/templates/waba/2ae3f91d-3107-4946-8315-9a6a80cbdde0' -H 'Authorization: Bearer <client_access_token>' -H 'Content-Type: application/json' -d '{
"template": {
"guid": "b1bcd76c-52f3-4bf7-8e60-52b56ce060c5",
"title": "Edited template",
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"channels": [
"020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"bf65cc76-8e64-4fe3-bdef-e309946bcec9"
],
"category": "MARKETING",
"language": "en",
"components": [
{
"type": "BODY",
"text": "Hi {{1}}, please take a look at everything."
},
{
"type": "HEADER",
"format": "VIDEO"
}
],
"tricky_templates_priority": 10
},
"is_draft": false
}'
{
"data": {
"guid": "b1bcd76c-52f3-4bf7-8e60-52b56ce060c5",
"account_id": 11111111,
"title": "Edited template",
"name": "Test template API1",
"waba": {
"waba_id": "139932269209894",
"waba_name": "Test Photo 2"
},
"channels": [
"020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"bf65cc76-8e64-4fe3-bdef-e309946bcec9"
],
"category": "MARKETING",
"language": "en",
"status": "approved",
"rejected_reason": "NONE",
"components": [
{
"text": "Hi {{1}}, please take a look at everything.",
"type": "BODY"
},
{
"type": "HEADER",
"format": "VIDEO"
}
],
"tricky_templates_priority": 10,
"components_defaults": {},
"published_at": "2025-10-02T07:28:38.945Z"
},
"meta": {
"timestamp": 1759495552
}
}
Result: The specified WABA template (template_id: b1bcd76c-52f3-4bf7-8e60-52b56ce060c5) has been updated.
DELETE /v2/templates/waba/{template_id}Path Parameterstemplate_id — The ID of a previously created WABA template.
Example:
curl -L -X DELETE 'https://tech.wazzup24.com/v2/templates/waba/2ae3f91d-3107-4946-8315-9a6a80cbdde0' -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": null,
"meta": {
"timestamp": 1759485643
}
}
Result: Template template_id: 2ae3f91d-3107-4946-8315-9a6a80cbdde0 has been deleted.