---
title: "Get message status"
description: "Returns the current delivery status of a message you sent through the\nAPI. The input is the WhatsApp message id (`wamid`) returned by\n**Send a message**.\n"
---

> Documentation Index
> Fetch the complete documentation index at: https://zacx.io/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Zacx Public API › Messages

`GET /message/status`

Returns the current delivery status of a message you sent through the
API. The input is the WhatsApp message id (`wamid`) returned by
**Send a message**.

## Authentication

- `bearerAuth`, http, header `Authorization`

## Query parameters

- `getMessageStatus.query.messageId` (string, required) — The WhatsApp message id (`wamid`) returned when the message was sent.

## Code samples

### cURL

```curl
curl --request GET \
  --url 'https://api.zacx.io/v1/message/status?messageId=string' \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = 'https://api.zacx.io/v1/message/status?messageId=string';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.zacx.io/v1/message/status?messageId=string"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

The message was found.

#### Example

```json
{
  "status": "success",
  "data": {
    "status": "delivered"
  }
}
```

- `getMessageStatus.response.200.status` (string, required)
- `getMessageStatus.response.200.data` (object, required)
  - `getMessageStatus.response.200.data.status` (string, required) — Delivery state of a message, in the order WhatsApp reports them.
    - one of `"queued"`, `"sent"`, `"delivered"`, `"read"`, `"failed"`

### 400

One or more parameters are missing or invalid.

#### Example

```json
{
  "status": "error",
  "code": "VALIDATION_FAILED",
  "message": "Parameters are not valid"
}
```

- `getMessageStatus.response.400.status` (string, required)
- `getMessageStatus.response.400.code` (string, required) — Stable machine-readable error code.
- `getMessageStatus.response.400.message` (string, required) — Human-readable explanation.

### 404

No message matches the given id.

#### Example

```json
{
  "status": "error",
  "code": "MESSAGE_NOT_FOUND",
  "message": "Message was not found with the given messageId"
}
```

- `getMessageStatus.response.404.status` (string, required)
- `getMessageStatus.response.404.code` (string, required) — Stable machine-readable error code.
- `getMessageStatus.response.404.message` (string, required) — Human-readable explanation.


Source: https://zacx.io/api/message/status/index.md
