Skip to main content

WhatsApp Templates

Manage the WhatsApp message templates of a location that has WhatsApp connected.

  • A new template is saved with status PENDING and submitted to Meta for review. Check status later, or watch it in Engage > WA Templates.
  • The template name may contain only letters, numbers and underscores; spaces become underscores. Each name must be unique in the location.
  • components follow Meta's template format: a BODY is required; HEADER, FOOTER and BUTTONS are optional.
  • Use the template id with Send a WhatsApp template message.
API regionapi.whautomate.com

List WhatsApp templates​

GET /v1/whatsapp-templates

Searches WhatsApp templates and returns them based on query parameters. Results are paginated.

Headers
x-api-keystringrequired
Your Whautomate API key.
Query parameters
locationIdstring
Location (workspace) id. Get ids from GET /v1/locations.
searchTextstring
Text to search for.
limitinteger
Results per page (default 10, max 100).
pageinteger
Page number, from 1 (default 1).
Response 200
idstring
templateobject
locationobject
createdAtstring
updatedAtstring
statusstring
Request
curl -X GET "https://api.whautomate.com/v1/whatsapp-templates?locationId=Le6dWjQF9K&searchText=appointment&limit=2" \
-H "x-api-key: YOUR_API_KEY"
Response 200
[
{
"id": "K8UO9RWCDI",
"template": {
"category": "UTILITY",
"allow_category_change": true,
"components": [
{
"type": "BODY",
"text": "Hello there, Appointment with client {{1}} has been updated or rescheduled with {{2}} from {{3}} at {{4}}. Please login to our platform to view the details. \nThank you!",
"example": {
"body_text": [
[
"John Doe",
"Mary Jane"
]
]
}
}
],
"name": "whauto_appointment_updated_practitioner",
"language": "en"
},
"status": "APPROVED",
"location": {
"id": "Le6dWjQF9K",
"title": "Serene Wellness Studio"
},
"createdAt": "2026-10-29T11:43:24.533Z",
"updatedAt": "2026-10-29T11:43:26.781Z"
},
{
"id": "RbfY0VNeKg",
"template": {
"category": "UTILITY",
"allow_category_change": true,
"components": [
{
"type": "BODY",
"text": "Dear {{1}}, Your appointment with {{2}} at {{3}} has been rescheduled to {{4}}. You have a nice day! \nThank you!",
"example": {
"body_text": [
[
"John Doe",
"Mary Jane"
]
]
}
}
],
"name": "whauto_appointment_rescheduled_message",
"language": "en"
},
"status": "APPROVED",
"location": {
"id": "Le6dWjQF9K",
"title": "Serene Wellness Studio"
},
"createdAt": "2026-10-29T11:43:24.394Z",
"updatedAt": "2026-10-29T11:43:26.771Z"
}
]

Get a WhatsApp template​

GET /v1/whatsapp-templates/{templateId}

Gets a WhatsApp Template by Id

Headers
x-api-keystringrequired
Your Whautomate API key.
Path parameters
templateIdstringrequired
Response 200
idstring
templateobject
locationobject
createdAtstring
updatedAtstring
statusstring
Request
curl -X GET "https://api.whautomate.com/v1/whatsapp-templates/K8UO9RWCDI" \
-H "x-api-key: YOUR_API_KEY"
Response 200
{
"id": "K8UO9RWCDI",
"template": {
"category": "UTILITY",
"allow_category_change": true,
"components": [
{
"type": "BODY",
"text": "Hello there, Appointment with client {{1}} has been updated or rescheduled with {{2}} from {{3}} at {{4}}. Please login to our platform to view the details. \nThank you!",
"example": {
"body_text": [
[
"John Doe",
"Mary Jane"
]
]
}
}
],
"name": "whauto_appointment_updated_practitioner",
"language": "en"
},
"status": "APPROVED",
"location": {
"id": "Le6dWjQF9K",
"title": "Serene Wellness Studio"
},
"createdAt": "2026-10-29T11:43:24.533Z",
"updatedAt": "2026-10-29T11:43:26.781Z"
}

Create a WhatsApp template​

POST /v1/whatsapp-templates

Creates a new WhatsApp template and submits it for approval

Headers
x-api-keystringrequired
Your Whautomate API key.
Body
locationobjectrequired
templateobjectrequired
Response 200
idstring
templateobject
locationobject
createdAtstring
updatedAtstring
Errors
StatusErrorMeaning
400template must contain name, language, category and componentsA required field is missing.
400There is an existing template with the same name, Please change the template name.Pick another name.
401New templates cannot be created, Please configure your whatsApp Cloud API!WhatsApp is not connected in that location.
404Invalid locationIdThe location is not in your account.
Request
curl -X POST "https://api.whautomate.com/v1/whatsapp-templates" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"location": {
"id": "string"
},
"template": {
"name": "string",
"language": "string",
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "string",
"text": "string",
"example": {},
"buttons": [
{}
]
}
]
}
}'
Response 200
{
"id": "string",
"template": {},
"location": {
"id": "string",
"title": "string"
},
"createdAt": "string",
"updatedAt": "string"
}

Delete a WhatsApp template​

DEL /v1/whatsapp-templates/{templateId}

Deletes a WhatsApp Template based on templateId. The template is also deleted from WhatsApp Cloud API when it has already been submitted.

Headers
x-api-keystringrequired
Your Whautomate API key.
Path parameters
templateIdstringrequired
Response 200
successboolean
Request
curl -X DELETE "https://api.whautomate.com/v1/whatsapp-templates/XMLGw30m09" \
-H "x-api-key: YOUR_API_KEY"
Response 200
{
"success": true
}