Custom Report Builder
Get Report Builder Metadata
List every domain, entity, dimension, measure and join you can use in a report definition.
Run Ad-Hoc Report
Run a report definition without saving it — for previewing results before you create a custom report.
Drill Down Into Aggregated Row
Return the detail records behind one row of an aggregated report.
Validate Formula Expression
Check a calculated-column formula before saving it in a column's `formula`.
List Distinct Field Values
List the distinct non-empty values of a dimension, sorted ascending — useful for offering filter values.
Export Ad-Hoc Report
Export an unsaved report definition as an XLSX or PDF file (up to 10,000 rows). To export a saved report, use Export Custom Report.
Build Report Definition With AI
Generate a builder report definition from a plain-English request using the AI assistant configured for your account. The definition is checked against the report schema (with one automatic retry) before it is returned; nothing is saved — run it with Run Ad-Hoc Report or save it with Create Custom Report.
List Custom Reports
List the saved reports you can see: reports you own, reports shared with you, and reports with `shared` visibility. Newest-updated first.
Create Custom Report
Save a new custom report owned by you.
Get Custom Report
Get one saved report you own, that was shared with you, or that has `shared` visibility. Includes `user_name` (the owner). Returns 404 otherwise.
Update Custom Report
Update a saved report. The owner, or a user it was shared with `edit` permission, can update it (403 otherwise). Only the owner can change `visibility` — it is ignored when an edit-share recipient sends it.
Delete Custom Report
Delete a saved report, together with its shares, schedules and versions. Only the owner can delete it (403 otherwise). Returns 204 No Content.
Run Custom Report
Run a saved report you can see.
Duplicate Custom Report
Create a private copy of a report you can see (including reports shared with you). The copy is owned by you, has `private` visibility and is neither a template nor a favorite.
Toggle Custom Report Favorite
Flip the report's `is_favorited` flag. Only the owner can favorite a report (403 otherwise). Favorited reports are listed with `tab=favorites` on List Custom Reports. Returns the updated report.
Export Custom Report
Export a saved report you can see.
Validate SQL Statement
Check a SQL statement without running it. Returns whether it is valid, any errors (which block running) and warnings (which do not, e.g. a missing LIMIT), the allowlisted tables it reads, and the database's estimate of rows it will scan.
Run SQL Statement
Run a SQL statement and return preview rows.
Get SQL Schema
List every table a SQL report may read, with its columns and types. Tables that back a report-builder entity include that entity's key and label. Only allowlisted tables are listed.
Export SQL Statement Results
Run a SQL statement and export its results.
List Report Versions
List the saved earlier definitions of a report you can see, newest first. A version is recorded each time the definition is changed or a version is restored.
Get Report Version
Get one earlier version of a report, including its full `definition`. Returns 404 when the report is not visible to you or the version does not belong to it.
Restore Report Version
Replace the report's definition with an earlier version's. The current definition is saved as a new version first (change note `Restored from version N`), so a restore can itself be undone. The owner or an edit-share recipient may restore (403 otherwise); restoring to or from an SQL definition requires the `reports.sql` permission. Returns the updated report.
Search Share Recipients
Search the users of your account you can share a report with. Matches name or email (literally) and returns up to 20 users ordered by name; with no `search`, returns the first 20.
List Custom Report Shares
List who a report is explicitly shared with. Only the owner can list shares (403 otherwise).
Share Custom Report
Share a report with a user of your account, or change the permission of an existing share (sharing with the same user again updates it). Only the owner can share (403 otherwise).
Remove Custom Report Share
Stop sharing a report with a user. Only the owner can remove shares (403 otherwise). Returns 204 No Content (also when the user had no share).
List Report Schedules
List the email delivery schedules of a report you can see.
Create Report Schedule
Email a report on a recurring schedule. Only the owner can create schedules (403 otherwise). `next_run_at` is computed from the timing fields.
Update Report Schedule
Update a schedule. Only the owner can update schedules (403 otherwise). Every field is optional; changing any timing field recomputes `next_run_at`. `time_of_day` is returned as `HH:MM:SS` and accepted back in that form.
Delete Report Schedule
Delete a schedule. Only the owner can delete schedules (403 otherwise). Returns 204 No Content, or 404 when the schedule does not belong to the report.