curl -X GET "https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce&topic=order_status" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.pingr.ai/api/v1/templates/library"
params = {
"channel_id": "8f3b0e2a-71d3-4a5f-9e6b-123456789abc",
"industry": "ecommerce",
"topic": "order_status"
}
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, params=params, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch(
"https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce",
{
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
}
);
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"data": [
{
"id": "meta_lib_tpl_001928",
"name": "ecommerce_order_shipped_v1",
"language": "en_US",
"category": "UTILITY",
"topic": "order_status",
"usecase": "post_purchase",
"industry": "ecommerce",
"header": {
"format": "TEXT",
"text": "Your Order is on the Way!"
},
"body": "Hi {{1}}, your order #{{2}} has shipped via {{3}}. Track your package at: {{4}}",
"body_params": ["customer_name", "order_id", "carrier", "tracking_url"],
"buttons": [
{
"type": "URL",
"text": "Track Package",
"url": "{{1}}"
}
]
}
]
}
{
"detail": "Could not get access token for this channel."
}
{
"detail": "Unauthorized"
}
Templates
Get template library
Browse and filter Meta’s global catalog of pre-approved WhatsApp message templates
GET
/
api
/
v1
/
templates
/
library
curl -X GET "https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce&topic=order_status" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.pingr.ai/api/v1/templates/library"
params = {
"channel_id": "8f3b0e2a-71d3-4a5f-9e6b-123456789abc",
"industry": "ecommerce",
"topic": "order_status"
}
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, params=params, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch(
"https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce",
{
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
}
);
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"data": [
{
"id": "meta_lib_tpl_001928",
"name": "ecommerce_order_shipped_v1",
"language": "en_US",
"category": "UTILITY",
"topic": "order_status",
"usecase": "post_purchase",
"industry": "ecommerce",
"header": {
"format": "TEXT",
"text": "Your Order is on the Way!"
},
"body": "Hi {{1}}, your order #{{2}} has shipped via {{3}}. Track your package at: {{4}}",
"body_params": ["customer_name", "order_id", "carrier", "tracking_url"],
"buttons": [
{
"type": "URL",
"text": "Track Package",
"url": "{{1}}"
}
]
}
]
}
{
"detail": "Could not get access token for this channel."
}
{
"detail": "Unauthorized"
}
Query Meta’s official library of pre-approved message templates across industries, topics, languages, and use cases. Templates selected from the library can be provisioned into your WhatsApp Business Account immediately without waiting for custom review.
Authentication
This endpoint requires Bearer token authentication.Authorization: Bearer <token>
| Header | Type | Required | Description | Format |
|---|---|---|---|---|
Authorization | string | Yes | Scoped organization API key or Bearer JWT token | Bearer <token> |
Input parameters
string
required
Bearer token for authentication. Format:
Bearer <token>.string
required
UUID of the registered WhatsApp channel used to authenticate against Meta Graph API.
string
Keyword search term for matching template titles, descriptions, and content.
string
Filter by specific communication topic (e.g.
order_status, promotions, reservations).string
Filter by business use case (e.g.
lead_nurturing, abandoned_cart, appointment_booking).string
Filter by target industry (e.g.
retail, ecommerce, financial_services, healthcare).string
Filter by language code (e.g.
en_US, es_ES, pt_BR).string
Filter by exact library template name.
Response Fields
Returns the Meta message template library payload containing template objects:object[]
Array of pre-approved library template objects:
Show Library template attributes
Show Library template attributes
string
Meta library template ID.
string
Library template slug name.
string
Language code.
string
Meta category (
MARKETING, UTILITY).string
Subject topic.
string
Target use case.
string
Industry classification.
object
Pre-configured header component details.
string
Pre-approved template message body with variables.
string[]
Expected positional body parameter keys.
object[]
Interactive quick-reply or call-to-action buttons.
curl -X GET "https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce&topic=order_status" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.pingr.ai/api/v1/templates/library"
params = {
"channel_id": "8f3b0e2a-71d3-4a5f-9e6b-123456789abc",
"industry": "ecommerce",
"topic": "order_status"
}
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, params=params, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch(
"https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce",
{
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
}
);
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.pingr.ai/api/v1/templates/library?channel_id=8f3b0e2a-71d3-4a5f-9e6b-123456789abc&industry=ecommerce"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"data": [
{
"id": "meta_lib_tpl_001928",
"name": "ecommerce_order_shipped_v1",
"language": "en_US",
"category": "UTILITY",
"topic": "order_status",
"usecase": "post_purchase",
"industry": "ecommerce",
"header": {
"format": "TEXT",
"text": "Your Order is on the Way!"
},
"body": "Hi {{1}}, your order #{{2}} has shipped via {{3}}. Track your package at: {{4}}",
"body_params": ["customer_name", "order_id", "carrier", "tracking_url"],
"buttons": [
{
"type": "URL",
"text": "Track Package",
"url": "{{1}}"
}
]
}
]
}
{
"detail": "Could not get access token for this channel."
}
{
"detail": "Unauthorized"
}
‹ PreviousNext ›
Create from library
POST /api/v1/templates/library/{template_id}/create
Was this page helpful?