Skip to main content

Get WhatsApp

Retrieve the current delivery state of a single transactional WhatsApp message.

Endpoint

GET /whatsapp/:id

Path Parameters

ParameterTypeDescription
idstringThe message ID returned from POST /whatsapp/send

Response

{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"to": "+966512345678",
"templateName": "verification_code",
"language": "en",
"category": "AUTHENTICATION",
"status": "read",
"failureReason": null,
"sentAt": "2026-03-08T12:00:03.000Z",
"createdAt": "2026-03-08T12:00:00.000Z"
}

Status Values

status advances as the provider reports each step. It is not guaranteed to reach read — that depends on the recipient's privacy settings.

StatusDescription
queuedAccepted by Arsel, not yet handed to the provider
sentThe provider accepted it and returned a message ID
deliveredConfirmed delivered to the recipient's device
readThe recipient opened the message
failedThe send failed — see failureReason
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/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a" \
-H "Authorization: Bearer be_your_api_key"

Error Responses

{
"status_code": 404,
"name": "not_found",
"message": "Message not found"
}