Export Your Data
Run a Report, export a CSV, schedule a recurring digest, or call the same endpoints from a session
Reports is the read-only surface for Organization data: a fixed catalogue of reports, each returning an entry table plus an aggregate summary. It never performs a write, so issuing a refund stays in its own operational screen.
Surface
Reports
Read-only; it never performs a write
Catalogue
Fixed and versioned
A report you may not read is absent, not empty
Gated by
The Capability of its data
No reports.* Capability exists
Export format
CSV
PDF is deferred, not half-built
Open the catalogue
The catalogue shows only what you may read, so a report gated by a Capability you lack is absent rather than empty.
Report What it contains Needs Orders Confirmed Orders, with revenue and fees orders.readAttendance Check-ins, with the attendance funnel checkin_sessions.readTraffic Page views and traffic sources events.readAttribution The last-touch source of each confirmed Order events.readActivity log The append-only record of organizer actions audit.readThese five are the whole catalogue today. Reports named in older material — Registrations, Passes sold, Coupons, Refunds, Payouts, Settlements, Invoices, Ledger, Notifications, Tax — are not available as reports yet.
No
reports.*Capability exists: each report is gated by the Capability of its data, so granting a report is the same act as granting the underlying access.The catalogue ships in slices
Orders, Attendance, Traffic, Attribution, and the Activity log are available today. The remaining keys above are specified and arrive with the Reports wave; none is partly implemented.
Filter and scope it
A report read takes an optional Event ID and an optional date window. Nothing else narrows it: there is no search parameter and no EventGroup or EventSeries scope.
The catalogue screen has no filter controls yet. It lists the reports you can read and renders the selected one across the whole Organization, so narrowing a report means calling the API directly.
A report also returns all of its rows in one response. There is no cursor, no page size, and no total to page through.
Export a CSV
Diagram source
flowchart TD C[Report catalogue] --> S[Pick a report] S --> I[Summary and rows render inline] I --> E[Export CSV] E --> D[One download, in the same request]Export is one request. The Export CSV button asks for the same report with
format=csvand saves the file the server names, so there is no separate job to start, poll, or collect. The run endpoint records a run for history, but it returns the run rather than a file.A run records who requested it, its row count, its summary metrics, and when it finished. The scope and filter fields are stored empty today, so a run cannot yet be reproduced from its own record.
Schedule delivery
Scheduling lives under Reports → Scheduled Reports, and a ReportSchedule holds:
- the report key, fixed at creation, and a name
- a cadence: daily, weekly, or monthly
- a delivery hour, chosen from a list labelled in UTC
- a format, shown as CSV and not editable
- recipients: Organization Members, plus optional external email addresses
- an enabled flag, and the Member who created it
Creating the schedule is the opt-in. The app writes a digest consent row for every Member recipient, and that row is what the sender checks at delivery time.
Three properties of the current sender matter more than the form:
- Members only. External addresses are accepted and stored, but delivery skips them.
- A digest, not a file. The email summarises the report's metrics; the CSV is not attached and no link to a stored file is included.
- One window. Every digest covers the last 30 days, whatever the cadence says.
To change the report behind a schedule, delete it and create another. The key is read-only after creation.
Understand the notification tier
The specification defines three notification tiers. Only the transport ships today, so read this as the intended model rather than as behaviour you can rely on.
Tier Class What a recipient controls 1 Transactional — Order confirmations, refunds, payout and invoice notices Nothing; it cannot be disabled 2 Operational — a new Order, a payout failure Nothing yet; the endpoints exist, there is no screen, and the sender does not consult them 3 Digests and marketing — a scheduled report The consent row written when the schedule is created Two practical consequences follow. A Tier 3 digest is decided by consent alone, so removing a Member from a schedule stops future sends. And tiers do not interact: a digest and a transactional message about the same subject are delivered independently.
Settings → Notifications is not a preference editor. It is the delivery log: every attempted message, its channel, recipient, status, and attempt count, with a resend for Order confirmations and Pass links.
Use the same endpoints from a session
The report endpoints exist and return the same data the catalogue shows:
GET /api/v1/organizations/{organization_id}/reports GET /api/v1/organizations/{organization_id}/reports/{report_key}?format=csv POST /api/v1/organizations/{organization_id}/reports/{report_key}/runs GET /api/v1/organizations/{organization_id}/report-runs/{run_id} GET /api/v1/organizations/{organization_id}/report-schedulesAll of them are session-only. API-key access is default-deny, and none of these operations declares an API-key Capability, so a key is refused: drive them from an authenticated browser session.
Only the schedule list paginates, with the standard cursor envelope. The report reads return one response each, scoped to the Organization named in the path, and there is no cross-Organization read.
What is deliberately absent
A custom report builder, saved views, PDF, and non-CSV formats are deferred, not half-built. The catalogue is fixed so the API stays typed.
Related
- Insights — the dashboards the same Metrics feed
- Capabilities — what each report Capability allows
- Cancellation — the refunds a report will show