# Get a message

`GET /v1/messages/{id}`

Fetches a message by its ID, with its current status.

Needs `messages:read`.

## Path parameters

- `id` (string, uuid): The message's ID.

## Example

```sh
curl https://app.soosh.io/v1/messages/8c2e4f6a-1d3b-4a5c-9e7f-2b4d6f8a0c1e \
  -H "Authorization: Bearer $SOOSH_API_KEY"
```

Response 200:

```json
{
  "id": "8c2e4f6a-1d3b-4a5c-9e7f-2b4d6f8a0c1e",
  "contact_id": "4ea0d485-435d-407f-837a-c7d67095f23a",
  "number_id": "0f6d3c1e-5b7a-4c52-9a55-3f6a2d5c8b10",
  "direction": "outgoing",
  "type": "text",
  "status": "delivered",
  "text": {
    "body": "Your order has shipped."
  },
  "media": null,
  "template": null,
  "interactive": null,
  "reply_to_message_id": null,
  "whatsapp_message_id": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSQzc0RkJBMEY3QjI5RDdFNjk3AA==",
  "error": null,
  "sent_by": {
    "type": "api_key",
    "id": "5e1d2c3b-4a59-4f68-8e7d-6c5b4a392817",
    "name": "Order system"
  },
  "broadcast_id": null,
  "created_at": "2026-10-14T09:30:12.481Z",
  "updated_at": "2026-10-14T09:30:15.902Z"
}
```

## Returns

200. The message.

## Errors

Besides the ones every request can get (https://docs.soosh.io/reference/api/errors/):

- 404 `not_found`: There is no message with this ID in your workspace.