GET/api/public/v1/templates
List templates
Every WhatsApp template on your account, and what each one needs at send time.
The same templates you see under WhatsApp → Templatesin the dashboard, read live from WhatsApp on every call. Rather than returning Meta's raw component array, each row states the fields you would actually put in a send request — so you can build a valid call without hardcoding template names or guessing parameter counts.
Example request
bash
curl 'https://api.bigradar.io/api/public/v1/templates' \
-H 'Authorization: Bearer YOUR_API_KEY'Response · 200
json
{
"count": 2,
"templates": [
{
"name": "order_shipped",
"language": "en",
"category": "UTILITY",
"status": "APPROVED",
"headerFormat": "IMAGE",
"headerField": "headerImage",
"headerParamCount": 0,
"bodyParamCount": 2,
"bodyText": "Hi {{1}}, your order {{2}} has shipped.",
"hasButtons": true,
"buttons": [
{ "index": 0, "type": "PHONE_NUMBER", "text": "Call us",
"paramField": null, "required": false },
{ "index": 1, "type": "URL", "text": "Track order",
"paramField": "text", "required": true }
],
"sendable": true
},
{
"name": "welcome_msg",
"language": "en",
"category": "MARKETING",
"status": "PENDING",
"headerFormat": null,
"headerField": null,
"headerParamCount": 0,
"bodyParamCount": 1,
"bodyText": "Welcome {{1}}!",
"hasButtons": false,
"buttons": [],
"sendable": false,
"reason": "Template is pending — only approved templates can be sent."
}
]
}Template fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | optional | Pass this as template.name when sending. |
| language | string | optional | The locale the template was approved in, e.g. en. Must match exactly. |
| status | string | optional | APPROVED, PENDING, REJECTED or PAUSED — exactly as Meta reports it. |
| headerFormat | string | null | optional | IMAGE, VIDEO, DOCUMENT, TEXT, or null when the template has no header. |
| headerField | string | null | optional | The request field that satisfies this header, e.g. headerImage. null means send nothing for it. |
| headerParamCount | number | optional | How many values headerParams needs, for a TEXT header with placeholders. |
| bodyParamCount | number | optional | How many values bodyParams needs. |
| bodyText | string | null | optional | The approved body text with placeholders intact — useful for previews. |
| buttons | object[] | optional | Every button with its index, type, and the paramField to use in buttonParams. |
| sendable | boolean | optional | false when this endpoint cannot send the template; reason explains why. |