Skip to main content
GET
/
api
/
chat
/
status
/
:instance
Message delivery status
curl --request GET \
  --url https://api.example.com/api/chat/status/:instance

Documentation Index

Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Auth: TokenAccount or TokenInstanceRate-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_codeSemantics
pending0Awaiting server ACK.
sent1Server ACK (single check).
delivered2Delivered to the recipient’s phone (double check).
received3Message received (only for direction = "received").
read4Read by the recipient (blue check).
played5Audio/video played.
error-1Permanent send failure.

Example

curl -X GET "https://ryzeapi.cloud/api/chat/status/$Instance_Name?messageId=3EB08FCF27E532F1B0F5" \
  -H "token: $Token_Instance"

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
{
  "success": true,
  "message": "Message status retrieved successfully",
  "message_id": "3EB08FCF27E532F1B0F5",
  "status": "read",
  "status_code": 4,
  "direction": "sent",
  "chat_jid": "5511999999999@s.whatsapp.net",
  "timestamp": "2026-04-28T14:30:00Z"
}

Path parameters

instance
string
required
Instance name.

Query params

messageId
string
required
ID of the message whose status you want to query.

Headers

NameRequiredExampleDescription
tokenyes (or Authorization)a1b2c3d4-...TokenAccount or TokenInstance.

Error responses

HTTPerror.messageWhen it happens
400Instance name is required
400messageId query parameter is required
401Invalid token
404Instance not found
404Message not foundmessageId does not exist.
404Message does not belong to this instanceMessage belongs to another instance.
Error 404
{
  "success": false,
  "error": { "message": "Message not found" }
}

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.status webhook over polling.

Find message

Retrieve content and metadata.

Mark as read

Signal that you have read a received message.