Export to a spreadsheet or BI

View as Markdown

Every number in the dashboard can leave it in two ways: a Download button that saves a CSV of the table you are looking at, or an API your own systems call with the Site's server key. Both carry identifiers, counts, verdicts and agent names with how we know them. They never carry typed content, cookies or request values.

Verdicts are categories, not probabilities, and Unknown is never counted as human, in every file below.

Downloads from the dashboard

Each screen's Download gives the table on screen, for the period you chose, with every row: a long list is never cut at the rows the screen shows. Times are ISO 8601 in UTC, and days end at midnight UTC. A named agent always comes with a How we know column (Verified, Unconfirmed or Self-reported).

When a file covers less than you asked for, its last row says so, with Note in the first column. Pages & journeys covers only the days the site still keeps activity for (90 days unless changed in Settings › Data & privacy), so a longer period starts at the first whole day kept. People are read from the sessions the site keeps (8 days), whatever period you choose. An agent minute counts once per session and minute: a minute in which someone signed in counts once, under the account your server confirmed.

Downloads from the dashboard
WhereButtonWhat you get
Accounts › All accountsDownload CSVOne row per customer: name, plan, agent minutes, share of activity, change against the previous period, top agent with how we know, agents seen, first agent use. Visitors not signed in come last.
Accounts › All accountsDownload minute-by-minute data (all kept days)Every agent minute with its account, agent name and how we know. Raw data for your own analysis.
Accounts › PricingDownload estimate (CSV)The estimate for the chosen model and prices, per account. It is an estimate: nothing is charged.
Accounts › PeopleDownload CSVOne row per user your server identified: sessions, agent sessions and agents used.
Understand › JourneysDownload CSVPages with their agent share.
Control › Approvals › History › Recent checksDownload CSVEvery check in the period, all pages, with the rule at the time.
Control › Rules › Incident timelineDownload CSV, Download JSONLThe filtered timeline, with a SHA-256 manifest from the API.
Your agent report › DownloadHTML, CSVThe monthly or weekly report, printable or as rows. A change against the previous period is shown only when the site still keeps that whole period for the number; otherwise it reads "can't compare" and the CSV has a comparable row saying no. Weeks the site no longer keeps are blank, never 0.
Settings › Audit logDownload CSVWho changed what and when, for the workspace or one site.

The same files come from the dashboard's own API on the loopback address, for scripts that run on the same machine: GET /api/admin/export?site=<siteId>&view=accounts|pricing|people|pages&days=28 (a screen's table), GET /api/admin/export?site=<siteId>&type=agent-minutes&days=28 (minute-by-minute data), GET /api/admin/checks?site=<siteId>&format=csv, GET /api/admin/incident-export?site=<siteId>&format=csv|jsonl|json|manifest, GET /api/admin/report.csv and GET /api/admin/audit-export. They need a signed-in dashboard session and are not reachable from outside this machine.

APIs for your warehouse or BI tool

These read endpoints use the Site's server key (Authorization: Bearer ao_sk_...) and return JSON. Call them from your backend or a scheduled job, never from a browser.

APIs for your warehouse or BI tool
EndpointWhat it returnsGood for
GET /api/v1/activity.jsonActivity minutes per verdict (human, agent, unknown, mixed; a mixed minute is one in which the activity carried more than one verdict, for example when the verdict changed during that minute; it is never split or counted as human) and daily sessions by verdict at last activity, in UTC days or ISO weeks.Trend charts.
GET /api/v1/agent-usage.jsonAgent tool uses and agent minutes per account and agent type for a period, with the agents seen and how we know each.Billing and account reports.

Without from and to, activity.json and agent-usage.json cover the dashboard's "last 7 days": 7 whole UTC days ending with today, from midnight UTC six days ago to the next midnight UTC (the response's window says so). The agent_usage.summary webhook covers the same days, so its totals match the Charge › Usage page. Dates must be real calendar dates: 2026-09-31 is refused, not read as October 1.

APIs for your warehouse or BI tool, table 2
GET /api/v1/decisions.jsonChecks with their decision, verdict and rule, newest first, filtered by period (from and to as epoch ms or ISO 8601 dates), action, decision, verdict, account, user or session. Paged: limit (1–1000, default 500), then follow page.nextCursor as cursor until it is null; page.total counts every match.Security reviews.
GET /api/v1/integration-statusServer key use, check outcomes, webhook health and whether the site has gone quiet.Monitoring your installation.

Server API and recovery describes each response field, and the API explorer shows each request as curl to run from your server. For a push instead of a pull, webhooks send held and denied actions, alert rules and the weekly agent report as they happen, and usage metering explains how to reconcile agent usage with your own ledger.

Tips for spreadsheets