API documentation

Message status

Find out whether a message was delivered or read.

GEThttps://wabapi.com/api/v1/messages/{id}

Returns the current state of a message you sent. States move SENT → DELIVERED → READ, or to FAILED. A FAILED message has already had its credits refunded; error_code carries the reason WhatsApp gave.

Request
curl https://wabapi.com/api/v1/messages/msg_3f9c2b1e7a4d4c0e9b2a1f6d \
  -H "Authorization: Bearer wab_live_0123456789abcdef0123456789abcdef"
Response 200
{
  "id": "msg_3f9c2b1e7a4d4c0e9b2a1f6d",
  "status": "DELIVERED",
  "to": "917021948630",
  "template_name": "ticket_confirmation",
  "credits": 1,
  "sent_at": "2026-09-01T10:00:00.000Z",
  "delivered_at": "2026-09-01T10:00:04.000Z",
  "read_at": null,
  "error_code": null
}

Delivery is usually reported within seconds, but a phone that is off or out of coverage can take hours, and a number that has blocked you never reports at all — SENT is not a promise. Poll no more than once a minute per message; push callbacks to your own server are coming and will replace polling.

Errors

HTTPcodeMeaning
401invalid_api_keyThe Authorization header is missing, malformed, unknown or revoked.
404message_not_foundNo message with that id exists on this account.