WhatsApp Templates

Get WhatsApp template

GET
/beta/whatsapp/templates/{templateId}

Get a WhatsApp template by id with template's category and approval status.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

templateId*string
Formatuuid

Response Body

The WhatsApp template

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/beta/whatsapp/templates/{templateId}' \  -H 'Authorization: <API token>'
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "order_confirmation",
"language": "en",
"createdAt": "2026-01-01T00:00:00Z",
"category": "UTILITY",
"approvalStatus": "approved",
"body": "Your order {{1}} has been confirmed.",
"variables": {
"1": "12345"
}
}
}

List WhatsApp templates

GET
/beta/whatsapp/templates

List WhatsApp templates for the organization, newest first. To find out a template's approval status and category, use the get template endpoint.

Authorization

ApiKeyAuth
headerAuthorization<token>

Query Parameters

pageLimit?integer

Maximum number of results per page. May be used in combination with pageKey to change the number of results in between page requests.

Formatint32
pageKey?string

Base64 encoded form of pagination query parameters. Do not try to construct or change programmatically as the internal structure may change without notice.

Response Body

The list of WhatsApp templates

application/json
  1. response
data?array<>
meta?
Example Request
curl -X GET 'https://dev.dixa.io/beta/whatsapp/templates' \  -H 'Authorization: <API token>'
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "order_confirmation",
"language": "en",
"createdAt": "2026-01-01T00:00:00Z"
},
{
"id": "517eedd9-bf71-4a84-bd95-2dd21360de3f",
"name": "delivery_info",
"language": "en",
"createdAt": "2026-01-01T00:00:00Z"
}
],
"meta": {
"next": "/beta/whatsapp/templates?pageKey=a2V5c2V0UGFnZUtleT1iMlptYzJWMFBUVXcmcGFnZUxpbWl0PTUwJmRpcj1mb3J3YXJk"
}
}

Create WhatsApp template

POST
/beta/whatsapp/templates

Create a new WhatsApp template. The template body is limited to 1024 characters.

Authorization

ApiKeyAuth
headerAuthorization<token>

Request Body

The WhatsApp template to create

application/json
  1. body
name*string

Template name; may only contain lowercase letters, digits, and underscores

language*string

Supported language codes: ar, bg, hr, cs, da, nl, en, et, fi, fr, de, el, he, hu, it, ja, ko, lv, lt, nb, pl, ro, ru, sr, sk, sl, es, sv, th, tr, uk, pt_PT, zh_CN, zh_TW, zh_HK

templateType*|

Template body and type; use Text for text-only messages, Media for messages with an attachment

category*string

values: [UTILITY, MARKETING]

variables?

Sample values for the template's placeholders (e.g. {"1": "John"}), submitted to WhatsApp as example content during template approval. Omit for a template whose body has no placeholders.

Response Body

The created WhatsApp template

application/json
  1. response
data*
curl -X POST 'https://dev.dixa.io/beta/whatsapp/templates' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "name": "order_confirmation",  "language": "en",  "templateType": {    "body": "Your order {{1}} has been confirmed.",    "_type": "Text"  },  "category": "UTILITY",  "variables": {    "1": "12345"  }}'
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}