Returns a Laravel-paginated list of WhatsApp templates registered in your workspace, along with Meta approval status.
Endpoint
GET /api/v1/{subdomain}/templates
Required ability: templates.read.
| Header | Value |
|---|
Authorization | Bearer apitk_... |
Accept | application/json |
Path parameters
Your workspace subdomain.
Query parameters
1-indexed page number. Defaults to 1.
Items per page. Defaults to 15, maximum 100.
Example request
curl "https://dash.xobito.com/api/v1/acme/templates" \
-H "Authorization: Bearer apitk_your_token_here" \
-H "Accept: application/json"
Example response
{
"status": "success",
"data": {
"current_page": 1,
"data": [
{
"id": 11,
"tenant_id": 13,
"template_id": "123456789012345",
"template_name": "order_confirmation",
"language": "en_US",
"status": "APPROVED",
"category": "UTILITY",
"header_data_format": "TEXT",
"header_data_text": "Your order is confirmed",
"header_params_count": 0,
"body_data": "Hi {{1}}, your order {{2}} is confirmed.",
"body_params_count": 2,
"footer_data": "Thanks for shopping with us",
"footer_params_count": 0,
"buttons_data": null,
"header_file_url": null,
"header_variable_value": null,
"body_variable_value": null,
"template_type": null,
"cards_json": null,
"created_at": "2026-03-20T10:00:00.000000Z",
"updated_at": "2026-03-20T10:00:00.000000Z"
}
],
"per_page": 15,
"total": 5,
"last_page": 1,
"from": 1,
"to": 5,
"path": "https://dash.xobito.com/api/v1/acme/templates"
}
}
See Data Types → WhatsApp Template for every field.
Error responses
| Status | When | Body |
|---|
401 | Missing / invalid token | {"status":"error","message":"Invalid API token"} |
403 | Missing ability | {"status":"error","message":"Token does not have the required ability: templates.read"} |
429 | Rate limit | {"message":"Too many requests","retry_after":45} |
500 | Server error | {"status":"error","message":"Failed to list templates"} |