List standard, non-carousel templates for a sender with status and category filters.
List Templates
Summary
List standard, non-carousel templates for a sender with status and category filters.
Prerequisites
- Authorization: Bearer w91_live_xxx
- Content-Type: application/json for JSON requests
Related documentation
Returns standard templates for the resolved sender. Carousel templates are excluded from this list; they are managed through the dedicated carousel workflow.
/api/v3/templatesList standard templates for the resolved sender.
| Parameter | Type | Required | Description |
|---|---|---|---|
senderId | string | Optional | WhatsApp sender to list templates for. |
page | integer | Optional | One-based page number. Default 1. |
limit | integer | Optional | Rows per page. Default 50, maximum 100. |
status | string | Optional | APPROVED, PENDING, REJECTED, or DRAFT. |
category | string | Optional | UTILITY, MARKETING, or AUTHENTICATION. |
curl "https://graph.whats91.com/api/v3/templates?senderId=919999999999&status=APPROVED" \
-H "Authorization: Bearer w91_live_xxx"{
"success": true,
"message": "Templates retrieved",
"data": {
"senderId": "919999999999",
"templates": [
{
"uid": "tpl_abc123",
"name": "payment_reminder",
"language": "en",
"category": "UTILITY",
"status": "APPROVED",
"metaTemplateId": "1234567890"
}
],
"pagination": { "page": 1, "limit": 50, "total": 12 }
},
"metadata": {
"apiVersion": "v3",
"requestId": "request-uuid"
}
}v3 Additions
v3 adds read-only template attribution fields so integrations can tell manually created templates apart from templates Meta generated for Direct Send.
| Field | Type | Description |
|---|---|---|
| source | string | null | Template origin. AUTO_GENERATED marks a template Meta created from a Direct Send message. Manual and legacy rows return an empty or null source. |
| correctCategory | string | null | Category Meta believes the template should use, when Meta has flagged a mismatch. |
| Query parameter | Values | Description |
|---|---|---|
| source | AUTO_GENERATED, MANUAL | Filters the list by template origin. MANUAL returns rows with no stored source, which covers manually created and legacy templates. |
curl "https://graph.whats91.com/api/v3/templates?source=AUTO_GENERATED" \
-H "Authorization: Bearer w91_live_xxx"Warning
Auto-generated templates are for inspection and reporting only. Do not edit, delete, duplicate, submit, or test-send them, and do not select them through approved-template workflows.
SDK Examples
Use these examples as starting points for server-side implementations.
curl -X GET "https://graph.whats91.com/api/v3/templates" \
-H "Authorization: Bearer w91_live_xxx"const response = await fetch("https://graph.whats91.com/api/v3/templates", {
method: "GET",
headers: {
"Authorization": "Bearer w91_live_xxx"
}
});
const data = await response.json();
console.log(data);$ch = curl_init("https://graph.whats91.com/api/v3/templates");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer w91_live_xxx"
]
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;import requests
response = requests.request(
"GET",
"https://graph.whats91.com/api/v3/templates",
headers={
"Authorization": "Bearer w91_live_xxx",
}
)
print(response.json())using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer w91_live_xxx");
var request = new HttpRequestMessage(HttpMethod.Get, "https://graph.whats91.com/api/v3/templates");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());Related APIs
Template
Create MARKETING templates for offers, promotions, launches, and customer engagement campaigns.
Utility
Create UTILITY templates for transactional updates, invoices, reminders, appointments, orders, and service notifications.
Authentication
Create AUTHENTICATION templates for OTP and verification code delivery using Meta copy-code buttons.
Get Template
Retrieve one standard template by UID, template id, Meta template id, or name.