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

# Message Detail

> Fetch a single connector message by ID

## Endpoint

`GET https://api.apifycloud.io/api/v1/analytics/{appId}/messages/{messageId}`

## Authentication

Bearer token required.

Scope: `messages:read`

## Path parameters

* `appId` (UUID, required)
* `messageId` (string, required)

## Response

```json theme={null}
{
  "data": {
    "id": "string",
    "app_id": "uuid",
    "source": "string",
    "destination": "string",
    "provider_from": "string",
    "provider_to": "string",
    "provider_from_id": "string",
    "provider_to_id": "string",
    "channel": "whatsapp",
    "direction": "outbound",
    "message_type": "template",
    "user_phone": "573001112233",
    "business_id": "string",
    "conversation_key": "string",
    "external_ids": {},
    "source_payload": {},
    "outgoing_payload": {},
    "response_payload": {},
    "provider_message_id": "string",
    "status": "string",
    "error_message": null,
    "sent_at": "2024-01-01T00:00:00.000Z",
    "failed_at": "2024-01-01T00:00:00.000Z",
    "created_at": "2024-01-01T00:00:00.000Z",
    "updated_at": "2024-01-01T00:00:00.000Z"
  },
  "meta": {
    "timestamp": "2024-01-01T00:00:00.000Z"
  }
}
```

## Errors

* `403 forbidden` unauthorized for app or missing scope
* `404 not_found` message not found
* `400 validation_error` invalid path parameters (`messageId` is required)
* `429 rate_limit_exceeded`
* `500 server_error`

## Example

```bash theme={null}
curl "https://api.apifycloud.io/api/v1/analytics/{appId}/messages/{messageId}" \
  -H "Authorization: Bearer {access_token}"
```
