> ## 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.

# Outbound Message Detail

> Fetch a single outbound message by ID

## Endpoint

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

## Authentication

Bearer token required.

Scope: `messages:read`

## Path parameters

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

## Response

```json theme={null}
{
  "data": {
    "id": "uuid",
    "campaign_id": "uuid",
    "recipient_phone": "string",
    "template_name": "string",
    "status": "string",
    "sent_at": "2024-01-01T00:00:00.000Z",
    "delivered_at": "2024-01-01T00:00:00.000Z",
    "read_at": "2024-01-01T00:00:00.000Z",
    "failed_at": "2024-01-01T00:00:00.000Z",
    "error_code": "string",
    "error_reason": "string",
    "cost": 0,
    "currency": "USD",
    "created_at": "2024-01-01T00:00:00.000Z",
    "metadata": {}
  },
  "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
* `429 rate_limit_exceeded`
* `500 server_error`

## Example

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