> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/analytics and Chart Data

> Retrieve campaign analytics summaries and chart data for your team. Both endpoints accept an optional filter query parameter.

ReachOwl provides two analytics endpoints: one for summary data and one for chart data. Both are scoped to your team and accept an optional `filter` query parameter to narrow results by campaign or date range.

## Summary Analytics

```text theme={null}
GET https://reachowl.com/api/v1/analytics?filter=<filter_value>
```

### Query Parameters

<ParamField query="filter" type="string" optional>
  An optional filter string to scope analytics, for example by campaign ID or date range.
</ParamField>

### Example Request

```bash theme={null}
curl -X GET "https://reachowl.com/api/v1/analytics?filter=campaign:123" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"
```

### Example Response

```json theme={null}
{
  "total_sent": 150,
  "total_replied": 42,
  "reply_rate": 28,
  "active_campaigns": 5
}
```

## Chart Data

```text theme={null}
GET https://reachowl.com/api/v1/chart-data?filter=<filter_value>
```

### Query Parameters

<ParamField query="filter" type="string" optional>
  An optional filter string to scope chart data, for example by campaign ID or date range.
</ParamField>

### Example Request

```bash theme={null}
curl -X GET "https://reachowl.com/api/v1/chart-data?filter=last_30_days" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"
```

### Example Response

```json theme={null}
{
  "labels": ["2024-01-01", "2024-01-02", "2024-01-03"],
  "sent": [10, 15, 8],
  "replied": [3, 5, 2]
}
```

## Errors

| Status | Meaning                          |
| ------ | -------------------------------- |
| `401`  | Missing or invalid Bearer token. |
| `400`  | Invalid filter format.           |
