TEMPLATES
List WhatsApp Templates
Retrieve Template
Retrieve WhatsApp templates from your Business Account. You can get all templates or filter by specific criteria such as template name or ID. This endpoint allows you to view template details, status, and approval information.
EndPoints (URL)
Retrieve All Templates
Code
Retrieve Templates with Filter
Code
HTTP Method
Common Parameters
| Parameter | Data Type | Description | Required? |
|---|---|---|---|
phone-number | String | WhatsApp Business Account phone number (path parameter) | Yes |
Query Parameters (Filter Endpoint)
| Parameter | Data Type | Description | Required? |
|---|---|---|---|
templateName | String | Filter by specific template name | No |
templateId | String | Filter by specific template ID | No |
status | String | Filter by template status: APPROVED, PENDING, REJECTED | No |
category | String | Filter by category: MARKETING, UTILITY, AUTHENTICATION | No |
language | String | Filter by language code (e.g., "es_MX", "en_US") | No |
limit | Integer | Maximum number of templates to return (default: 100) | No |
offset | Integer | Number of templates to skip for pagination | No |
Template Status Values
| Status | Description | Can Send? |
|---|---|---|
| APPROVED | Template approved by Meta and ready to use | Yes |
| PENDING | Template submitted and awaiting Meta approval | No |
| REJECTED | Template rejected by Meta | No |
| PAUSED | Template temporarily paused by Meta | No |
| DISABLED | Template disabled by business | No |
| PENDING_DELETION | Template marked for deletion | No |
Request Examples
Retrieve All
GET /api/v1/whatsapp/15551234567/templates
Retrieves all templates for the specified phone number.
Filter by Name
GET /api/v1/whatsapp/15551234567/templates/filter?templateName=welcome_message
Retrieves templates with the specific name "welcome_message".
Filter by Status
GET /api/v1/whatsapp/15551234567/templates/filter?status=APPROVED&category=MARKETING
Retrieves all approved marketing templates.
Filter with Pagination
GET /api/v1/whatsapp/15551234567/templates/filter?limit=20&offset=40
Retrieves 20 templates starting from the 40th template (pagination).
Response Fields Description
| Field | Type | Description |
|---|---|---|
| id | String | Unique template identifier from Meta |
| name | String | Template name as specified during creation |
| status | String | Current approval status of the template |
| category | String | Template category (MARKETING, UTILITY, AUTHENTICATION) |
| language | String | Language code of the template |
| createdAt | DateTime | Template creation timestamp |
| updatedAt | DateTime | Last modification timestamp |
| approvalDate | DateTime | Date when template was approved (if applicable) |
| components | Array | Array of template components (header, body, footer, buttons) |
| qualityRating | String | Meta's quality rating: GREEN, YELLOW, RED |
| rejectionReason | String | Reason for rejection if status is REJECTED |
| totalCount | Integer | Total number of templates (for pagination) |
| hasMore | Boolean | Whether there are more templates to retrieve |
Quality Rating System
| Rating | Description | Impact |
|---|---|---|
| GREEN | High quality template with good user engagement | Normal delivery limits |
| YELLOW | Medium quality template with average engagement | Reduced delivery limits |
| RED | Low quality template with poor engagement | Severely limited or paused delivery |
| UNKNOWN | New template without sufficient data | Normal limits until data is available |
Common Use Cases
Monitoring Template Status
Use the retrieve endpoint to check if your newly created templates have been approved:
Code
Finding Specific Templates
Locate a template by name for sending messages:
Code
Quality Management
Monitor template performance by checking quality ratings:
Code
Pagination for Large Accounts
For businesses with many templates, use pagination:
Code
Error Codes
| Code | Description |
|---|---|
200 | Success - Templates retrieved |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid authentication |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Phone number or template not found |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |