> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pilotstatus.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /v1/messages/{messageId} — Message Status

> Query the current delivery status of a sent WhatsApp message.

# Message Status

```text theme={null}
GET https://pilotstatus.com.br/v1/messages/{messageId}
```

After sending a message and receiving an `id` (e.g., `msg_abc`) from [`POST /v1/messages/send`](/api/messages/send), query its current status.

<Note>
  `{messageId}` accepts the internal message `id` returned by the send endpoint, the `correlationId`, or the provider WhatsApp message ID (wamid).
</Note>

## Example

<CodeGroup>
  ```bash x-api-key theme={null}
  curl "https://pilotstatus.com.br/v1/messages/msg_abc" \
    -H "x-api-key: ps_your_key_here"
  ```

  ```bash x-api-key-id theme={null}
  curl "https://pilotstatus.com.br/v1/messages/msg_abc" \
    -H "x-api-key-id: ck_xxx"
  ```
</CodeGroup>

## Response (200)

```json theme={null}
{
  "id": "msg_abc",
  "status": "SENT",
  "correlationId": "corr_123",
  "destinationNumber": "+5511999999999",
  "template": "welcome_message",
  "createdAt": "2026-02-24T15:00:00.000Z",
  "sentAt": "2026-02-24T15:00:05.000Z",
  "deliveredAt": "2026-02-24T15:00:07.000Z",
  "readAt": null,
  "externalMessageId": "wamid.HBgLNTUxMTk5OTk5OTk5",
  "errorMessage": null
}
```

## Statuses

| Status      | Meaning                                                                          |
| ----------- | -------------------------------------------------------------------------------- |
| `QUEUED`    | Queued / waiting for processing                                                  |
| `SENT`      | Sent to the provider/WhatsApp                                                    |
| `DELIVERED` | Delivered to the device                                                          |
| `READ`      | Marked as read                                                                   |
| `FAILED`    | Failed (check `errorMessage` when available)                                     |
| `CANCELED`  | Scheduled send canceled via [`DELETE /v1/messages/cancel`](/api/messages/cancel) |

<Note>
  **Read receipts:** `READ` status and `readAt` are only available when the **contact who received the message** has **read receipts** enabled in WhatsApp (*Settings > Privacy > Read receipts*). Otherwise the lifecycle may stop at `DELIVERED`. The same applies to Logs and the `message.read` webhook.
</Note>

## Common errors

* `401` — missing/invalid API key header (`x-api-key` / `x-api-key-id`).
* `404` — message not found within the key's scope.
