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/v2/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/v2/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": "v2",
"requestId": "request-uuid"
}
}SDK Examples
Use these examples as starting points for server-side implementations.
curl -X GET "https://graph.whats91.com/api/v2/templates" \
-H "Authorization: Bearer w91_live_xxx"const response = await fetch("https://graph.whats91.com/api/v2/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/v2/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/v2/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/v2/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.