Skip to main content

List WhatsApp

Retrieve transactional WhatsApp messages sent by your organization, most recent first.

Endpoint

GET /whatsapp
Transactional only

Campaign sends are not included. This lists only messages sent through POST /whatsapp/send.

Query Parameters

ParameterTypeDefaultDescription
limitnumber25Items to return. Values above 100 are capped at 100.

Response

{
"data": [
{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"to": "+966512345678",
"templateName": "order_shipped",
"language": "ar",
"category": "UTILITY",
"status": "delivered",
"failureReason": null,
"sentAt": "2026-03-08T12:00:03.000Z",
"createdAt": "2026-03-08T12:00:00.000Z"
}
]
}

Response Fields

FieldDescription
idMessage ID
toRecipient in E.164 format
templateNameThe approved template that was sent
languageTemplate language code
categoryMARKETING, UTILITY, or AUTHENTICATION
statusSee Get WhatsApp
failureReasonWhy the send failed. null unless status is failed.
sentAtWhen the provider accepted the message. null while still queued.
createdAtWhen the message was submitted to Arsel
Template parameters are never returned

parameters is deliberately absent from every response. For an authentication template that field holds the one-time code, and an endpoint that reads codes back out would turn a leaked API key into an account-takeover tool.


Examples

curl "https://api.arsel.sa/v1/whatsapp?limit=50" \
-H "Authorization: Bearer be_your_api_key"