# Insights

Use Insights to show the people running things how it is going: tickets sold, revenue, who the audience is and which events do best. Vabu records what happens in every product, such as ticket sales, check-ins, purchases and plays, so numbers can be joined across products. The calls below are the reads you can make today.

## How the pieces fit

| Who reads | What they get |
|---|---|
| Organizers | A dashboard and analytics for their own organization: sales, revenue, events, audience and coupon use. |
| Creators | A Studio summary of their work, audience and revenue. |
| Tenant staff | The same kinds of numbers across every organizer in the tenant. |
| Fans and visitors | A summary of their own events, and public social proof on an event page. |

Organizer reads take a `period` or `range` of `7d`, `30d`, `90d` or `12m`. Time series take an `interval` of `day`, `week` or `month`. Responses are cached for a few minutes, and `meta.cache_ttl_seconds` tells you how long.

Revenue is limited by role. In the organizer dashboard and analytics, revenue fields (`stats.total_revenue`, `sales_trend` and each event's `revenue`) go to Owners, Admins and platform admins. Other members get the same response without those keys, and their top events rank by `tickets_sold`. The revenue series route is closed to roles below Admin.

Visits are not counted today, so `page_views`, `unique_visitors` and the conversion rate read 0. See [what's coming](https://docs.vabu.live/whats-coming.md).

## What you can call today

### Organizer dashboard and analytics

| Method | Path | What it does |
|---|---|---|
| GET | `/v1/organizer/dashboard` | Get tickets sold, revenue, active events, fan count, recent events and recent activity. |
| GET | `/v1/organizer/analytics` | Get the overview: stats, sales trend and top events. Add `compare=true` for the previous period. |
| GET | `/v1/organizer/analytics/revenue` | Get revenue over time. Owners and Admins only. |
| GET | `/v1/organizer/analytics/tickets` | Get tickets sold over time. Filter by `event_id`. |
| GET | `/v1/organizer/analytics/events` | Rank events by revenue, tickets sold or capacity used. |
| GET | `/v1/organizer/analytics/audience` | Get the ticket type mix, average ticket price and repeat attendees. |
| GET | `/v1/organizer/analytics/conversions` | Get orders and coupon use. |

### Creator Studio

| Method | Path | What it does |
|---|---|---|
| GET | `/v1/creator/studio/capabilities` | See which Studio features are on for the tenant and organization. |
| GET | `/v1/creator/studio/summary` | Get work counts, video health, audience, revenue and next steps in one call. |
| GET | `/v1/creator/studio/audience` | Get audience size and segment counts. |
| GET | `/v1/creator/studio/audience/people` | List the people in the audience, with tier and last activity. |
| GET | `/v1/creator/studio/revenue` | Get collected money, refunds and payout amounts. |

### Tenant staff

| Method | Path | What it does |
|---|---|---|
| GET | `/v1/tenant/admin/dashboard` | Get totals, recent events and pending reviews. |
| GET | `/v1/tenant/admin/analytics` | Get revenue, tickets, active events and users. Scope to one organization with `organization_id`. |
| GET | `/v1/tenant/admin/analytics/revenue` | Get revenue over time. |
| GET | `/v1/tenant/admin/analytics/tickets` | Get ticket sales over time. |
| GET | `/v1/tenant/admin/analytics/users` | Get new and total users over time. |
| GET | `/v1/tenant/admin/analytics/organizers` | Rank organizers by events, tickets and revenue. |
| GET | `/v1/tenant/admin/analytics/top-events` | Rank events by `revenue` or `tickets_sold`. |
| GET | `/v1/tenant/admin/analytics/by-country` | Split events, tickets and revenue by country. |
| GET | `/v1/tenant/admin/analytics/by-category` | Split events, tickets and revenue by category. |

### Fans and event pages

| Method | Path | What it does |
|---|---|---|
| GET | `/v1/attendee/dashboard` | Get a signed-in fan's upcoming and past events, active tickets and total spent. |
| GET | `/v1/events/{event}/social-proof` | Get tickets sold, tickets left, recent buyers and a sample of people going. Public. |

Full parameters and responses are in the [API reference](https://docs.vabu.live/api.md).

Here is the organizer overview for the last 30 days, compared with the 30 before (trimmed):

```sh
curl "https://api.vabu.live/v1/organizer/analytics?period=30d&compare=true" \
  -H "Authorization: Bearer $USER_TOKEN" \
  -H "X-Tenant-Code: $TENANT_CODE"
```

```json
{
  "data": {
    "stats": {
      "total_revenue": { "value": 4850000.00, "currency": "KES", "change_percentage": 22.1 },
      "tickets_sold": { "value": 1250, "change_percentage": 15.3 }
    },
    "top_events": [
      { "id": "550e8400-e29b-41d4-a716-446655440302", "name": "Sol Fest 2026", "tickets_sold": 450, "revenue": 2250000.00 }
    ]
  },
  "meta": { "period": "30d", "cache_ttl_seconds": 600 }
}
```

## Calling these endpoints

The social proof read is public and needs no token. Every other route takes a signed-in user token (`Authorization: Bearer ...`, a Vabu ID or Payd ID token) plus `X-Tenant-Code`, in live mode. Organizer and Studio routes also accept an optional `X-Organization-Id` header to pick which organization you act for. Tenant staff routes need a tenant admin. Test keys and publishable keys are refused on these routes today. See [which credentials each endpoint takes](https://docs.vabu.live/concepts/keys-and-scopes.md#which-credentials-each-endpoint-takes).

For error shapes, see [errors](https://docs.vabu.live/concepts/errors.md).

## Related

- [Events](https://docs.vabu.live/products/events.md) for the tickets and check-ins behind the sales numbers.
- [Fanbases](https://docs.vabu.live/products/fanbases.md) for member lists and activity.
- [How products work together](https://docs.vabu.live/products/how-products-work-together.md) for numbers that span products.
