Your numbers, available to your own tools.
A small, tenant-scoped read API — the same one the dashboard runs on.
What exists
The dashboard is a client of a read API, not a privileged inner layer, so the endpoints it calls are the endpoints available to you. Requests carry a bearer token whose workspace claim is enforced in the database itself by row-level security, so a token can only ever read its own workspace.
GET /serving/firstparty/overview # KPI totals and the daily trend GET /serving/firstparty/breakdown # top-N for any dimension, incl. prop:<key> GET /serving/firstparty/goals GET /serving/firstparty/drop-off
Breakdowns cover every dimension the rollups carry: page, entry and exit page, hostname, source, channel, referrer, the UTM set, device, browser, OS, country, region, city, event name, and any custom prop you attach. Reads are served from the daily aggregates — the raw event spine is never scanned.
The endpoint that cannot exist
There is no per-visitor feed, because the product does not hold one to return. After a day the visitor hashes cannot be recomputed at all, so an endpoint that handed back individual browsing histories could not be built on this data even if we wanted it.
Small on purpose
This is the same API the dashboard runs on: in daily use and stable in practice. If you need a versioning policy, separate API keys or reference documentation for your integration, tell us and we will work to your requirement.