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

# Analytics Reports

> Pre-built reports behind the analytics dashboard: holder distribution, retention cohorts, engagement by segment, campaign performance, and automation performance.

<Note>
  **Live.** These reports are shipped and available in your workspace. The endpoint paths and response shapes below match the current API. A few individual metrics aren't wired to a data source yet and return a constant `0` (for example `pushViewRate` and `conversions`); each is called out inline where it appears.
</Note>

Analytics reports turn the data already in your workspace, on-chain holdings, contacts, delivery events, and automation runs, into the cards you see on the analytics dashboard. Each report is a read-only endpoint; nothing here sends, mutates, or spends credits.

## The reports

<CardGroup cols={2}>
  <Card title="Holder distribution" icon="chart-column" href="/analytics/holder-distribution">
    How token holdings spread across wallets, the top holders, and concentration.
  </Card>

  <Card title="Retention cohorts" icon="table-cells" href="/analytics/retention-cohorts">
    Weekly signup cohorts and the curve of how many stay engaged.
  </Card>

  <Card title="Engagement by segment" icon="users-rectangle" href="/analytics/engagement-by-segment">
    Per-segment email sent, open, and click rates.
  </Card>

  <Card title="Campaign report" icon="paper-plane" href="/analytics/campaign-report">
    Per-campaign delivery and engagement, one row per run.
  </Card>

  <Card title="Automation performance" icon="bolt" href="/analytics/automation-performance">
    Per-flow enrolments, completion rate, and downstream engagement.
  </Card>
</CardGroup>

## Access model

Every report lives under the base path `https://api.onchainsuite.com/api/v1/analytics/reports` and is **session-authenticated**, the same cookie session your dashboard uses, scoped to your active organization. They are read-only, so **every role, including Viewer, can run them**.

<Note>
  These are dashboard reports, not part of the `sk_` server-to-server surface. They authenticate with your dashboard session and the active-organization context, not a secret key. For programmatic access to your data from a backend, use the [SQL schema](/api/sql-schema) and the [server-to-server API](/integrations/api-keys).
</Note>

## Response format

Like the rest of the platform, each response is wrapped in the standard envelope; the report body is the contents of `data`.

```json theme={"dark"}
{
  "success": true,
  "message": "Request processed successfully",
  "data": { },
  "timestamp": "2026-08-28T12:00:00.000Z",
  "requestId": "…"
}
```

A request with no active organization selected returns `400 No active organization selected`.
