We’ve introduced a generic reports API — one reliable place to publish a generated file and deliver it to exactly the people who should see it. Create a report, choose its audience, and each recipient can list, open and download it through the same API, with files kept encrypted at rest and cleaned up automatically when they expire.
It’s built to be the foundation for reporting across the platform: the place our own exports are delivered, the foundation we’re building richer reporting on, and a surface you can use right now to distribute your own reports within your tenant — a monthly statement to a customer, a compensation summary to a driver, an operations report to your admins — with no bespoke delivery work on your side.
Where to start
The full surface and its concepts live under the Reports tag — visibility grants, the two creation flows, retention and permissions. Start there if you’re integrating.
Publishing a report
Create a report with Create a report in one of two ways:
- 📎 Immediately, by including the file inline — the report is ready to download straight away. Reach for this when you already have the file.
- ⏳ As a pending announcement, when the file is still being generated — create the report first, then finish it with Complete a report once the file is ready, or Fail a report (with an optional reason) if generation didn’t work out.
Either way the report shows up in the list and on its own detail page, giving every recipient a durable, always-available place to find it.
Sharing with exactly the right people
Every report carries visibility grants that decide who can see it — and that’s the whole story, there is no implicit admin-sees-everything. You can share a report with:
- every admin,
- all managers of a specific organization,
- or a single admin, org manager, customer or driver.
Grants combine, so the same report can go to your back office and the one
customer it concerns at the same time. This is what makes the API genuinely
self-serving: you decide, per report, precisely who it reaches. Set
notify_by_email when you create a report and everyone it is shared with gets an
e-mail the moment it becomes ready.
Organize and filter with tags
Grants decide who sees a report; tags decide how it’s organized. Every report carries a free-form list of labels you choose, and List reports filters by them — each tag you add narrows the results — so the labels become the axes your recipients navigate by. Pick whatever dimensions matter to you:
- a report type —
type:compensation,type:billing,type:operations, - a time period —
2026-W28,2026-06, - a subject —
org:1234,region:eu.
And they combine: type:compensation plus 2026-W28 returns exactly one
week’s compensation reports. Consistent tags turn a growing pile of reports into
something anyone can find their way around at a glance — with no bespoke filtering
on your side.
Coming soon
A dedicated Reports section in the dashboard is on its way, giving your team a searchable, filterable view of every report they can see — no API required. The API described here is available today.
This is also the foundation we’re consolidating reporting onto. The existing custom reports our customer success team maintains for you will be migrated gradually to this new platform, and the CSV export features in the web dashboard will soon move over to it too — so more and more of the reports you already rely on will show up here, in one consistent place.