curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Example Template",
"category": "MARKETING",
"chatStatus": 1,
"usage": "inbox"
}
'{
"_id": "690868f7962e17ab3033f91b",
"name": "inbox_marketing_95",
"channelInfo": {
"name": "whatsapp",
"accountId": "972509876543"
},
"chatStatus": 1,
"created": 1762158839563,
"departments": [],
"isDefault": false,
"localizationDrafts": {},
"provider_template": {
"name": "inbox_marketing_95",
"category": "MARKETING",
"localizations": [],
"metadata": {}
},
"title": "Example Template",
"updatedAt": "2025-11-03T08:33:59.563Z",
"usage": "inbox"
}{
"error": "data/chatStatus must be equal to one of the allowed values"
}Manage Templates
Create New Template
This endpoint is the first of three required to create and submit a new template.
POST
https://{projectID}.texterchat.com/server/api/v2
/
whatsapp
/
templates
/
{accountId}
curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Example Template",
"category": "MARKETING",
"chatStatus": 1,
"usage": "inbox"
}
'{
"_id": "690868f7962e17ab3033f91b",
"name": "inbox_marketing_95",
"channelInfo": {
"name": "whatsapp",
"accountId": "972509876543"
},
"chatStatus": 1,
"created": 1762158839563,
"departments": [],
"isDefault": false,
"localizationDrafts": {},
"provider_template": {
"name": "inbox_marketing_95",
"category": "MARKETING",
"localizations": [],
"metadata": {}
},
"title": "Example Template",
"updatedAt": "2025-11-03T08:33:59.563Z",
"usage": "inbox"
}{
"error": "data/chatStatus must be equal to one of the allowed values"
}Required token scopes:
Manage WhatsApp templates
When a template is first created, it exists only locally and is not yet visible to WhatsApp. The template entity is internal, so it has properties unknown to WhatsApp such as the reply action, bot node, and departments.
After creating a template, the next step is to Create or Update Localization, which defines all the properties required by WhatsApp - including the language, components (header, body, footer, buttons) and example variable values. Finally, once both the template and its localization have been created, you can Submit the Template for Approval.
If you don’t specify a template name, one is generated automatically - save the generated name from the response to use when creating a localization and submitting.הרשאות
פרמטרי נתיב
גוף
application/json
Assign the chat to this agent (the agent's user UID in Texter) after the recipient replies. Can't be combined with responsibleDepartment. Must be a UID, not an email - an email stored here silently fails to assign on reply. (Only the Send Template Message replyAction.responsibleAgent accepts email or UID.) Send null to clear
תגובה
The newly created template object. Field-by-field reference: The Template object
A WhatsApp template in Texter, including internal behavior (chat routing rules, departments, defaults) and provider state (WhatsApp approval status, localized content)