Chat
Message delivery status
Queries the delivery status of a message (pending/sent/delivered/read/played)
GET
Message delivery status
Auth:
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: yes
Description
Returns the delivery status of a sent message, equivalent to the checks (gray, double, blue) shown in WhatsApp. The status is updated in real time as WhatsMeow events report that the message was received by the server, delivered to the recipient, read, or played.To receive status evolution in real time, subscribe to the
message.status webhook. This endpoint is the point-in-time read of the current snapshot.status map
status (string) | status_code | Semantics |
|---|---|---|
pending | 0 | Awaiting server ACK. |
sent | 1 | Server ACK (single check). |
delivered | 2 | Delivered to the recipient’s phone (double check). |
received | 3 | Message received (only for direction = "received"). |
read | 4 | Read by the recipient (blue check). |
played | 5 | Audio/video played. |
error | -1 | Permanent send failure. |
Example
Success response
status is the textual state (sent, received, delivered, read, played, error, pending) and status_code carries the equivalent numeric code from WhatsMeow (0–5). direction distinguishes messages sent by the instance ("sent") from received ones ("received"). timestamp is the moment the message traveled.
200 OK
Path parameters
Instance name.
Query params
ID of the message whose status you want to query.
Headers
| Name | Required | Example | Description |
|---|---|---|---|
token | yes (or Authorization) | a1b2c3d4-... | TokenAccount or TokenInstance. |
Error responses
| HTTP | error.message | When it happens |
|---|---|---|
| 400 | Instance name is required | , |
| 400 | messageId query parameter is required | , |
| 401 | Invalid token | , |
| 404 | Instance not found | , |
| 404 | Message not found | messageId does not exist. |
| 404 | Message does not belong to this instance | Message belongs to another instance. |
Error 404
Notes and gotchas
played(5) only makes sense for audio and video, text messages never reach this state.- There can be a 1–3 second delay between the action on the recipient’s phone and the status updated here.
- To track multiple messages in real time, prefer the
message.statuswebhook over polling.
Related
Find message
Retrieve content and metadata.
Mark as read
Signal that you have read a received message.