Skip to main content

List Templates

Retrieve your organization's WhatsApp templates, newest first. The list includes every template, whether it was created through this API, in the dashboard, or imported from Meta.

Endpoint​

GET /whatsapp/templates

Returns: 200 OK

Headers​

HeaderValueRequired
AuthorizationBearer <your-api-key>Yes

Query Parameters​

ParameterTypeDefaultDescription
statusstring—Only templates with this status, e.g. approved.
categorystring—marketing, utility or authentication.
namestring—Exact template name. Returns one template per language it exists in.
limitnumber20Items per page (min: 1, max: 100)
afterstring—Cursor — return items after this id (exclusive).
beforestring—Cursor — return items before this id (exclusive).

See Pagination for cursor details.

Response​

{
"object": "list",
"has_more": false,
"data": [
{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"name": "order_shipped",
"language": "en",
"category": "utility",
"status": "approved",
"rejection_reason": null,
"parameters": [
"first_name",
"order_id"
],
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Your order"
},
{
"type": "BODY",
"text": "Hi {{first_name}}, order {{order_id}} has shipped."
},
{
"type": "FOOTER",
"text": "Arsel Store"
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "URL",
"text": "Track",
"url": "https://example.com/track"
}
]
}
],
"created_at": "2026-03-08T12:00:00.000Z",
"updated_at": "2026-03-08T12:00:00.000Z"
}
]
}

See Get Template for the field reference.


Examples​

curl "https://api.arsel.sa/v1/whatsapp/templates?status=approved" \
-H "Authorization: Bearer $ARSEL_API_KEY"

Error Responses​

{
"status_code": 422,
"name": "validation_error",
"message": "status must be one of the following values: draft, pending, approved, rejected, paused, disabled"
}