Reports API
3 endpoints, generated from packages/core/openapi/v1.snapshot.json (OpenAPI 3.1.0, contract version 1.0). Conventions for lists, errors, money and authentication are on the API conventions page.
GET/api/v1/reports
Reports the member may run, with the module each reads
Responses
200 Success. object
itemsarray of objectrequiredidstringrequiredmodulestringrequiredtitlestringrequireddescriptionstringrequiredscopeenumrequired`team`: rows are limited to the reader's reports.
one of "all", "team"
canExportbooleanrequired
- 401
session_expired,session_revoked,unauthenticated - 403
mfa_enrolment_required
GET/api/v1/reports/{id}
Run a report: one page of rows, totals over every row in scope, redacted columns
403 when the member may not run the report, 404 when its module isn't installed. Rows are limited to the member's scope (all, or their team).
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | yes |
page | query | integer | no |
sort | query | string | no |
dir | query | enum | no |
columnsOptional columns to include, comma-separated. | query | string | no |
Responses
200 Success. object
reportobjectrequiredidstringrequiredmodulestringrequiredtitlestringrequireddescriptionstringrequired
paramsobjectrequiredfieldsarray of objectrequiredkeystringrequiredlabelstringrequiredkindenumrequiredone of "date", "month", "select"
optionsarray of objectvaluestringrequiredlabelstringrequired
hintstring
columnsarray of objectrequiredkeystringrequiredtitlestringrequiredtypeenumrequiredone of "text", "integer", "decimal", "money_cents", "percent", "hours", "date", "datetime", "boolean"
totalbooleanrequiredoptionalbooleanrequired
optionalColumnsarray of objectrequiredkeystringrequiredtitlestringrequired
rowsarray of objectrequiredOne page (50 rows). Money is integer cents, percentages integer tenths of a percent (143 = 14.3%), hours integer minutes.
totalsobject or nullrequiredsummaryarray of objectrequiredlabelstringrequiredvaluestring | number | boolean | nullrequiredtypeenumrequiredone of "text", "integer", "decimal", "money_cents", "percent", "hours", "date", "datetime", "boolean"
hintstring
pageintegerrequiredmin -9007199254740991
pageSizeintegerrequiredmin -9007199254740991
totalRowsintegerrequiredmin -9007199254740991
sortobjectrequiredkeystringrequireddirenumrequiredone of "asc", "desc"
redactedColumnsarray of stringrequiredSensitive columns left out because the reader may not see them for every row.
emptyMessagestring | nullrequirednotesarray of stringrequiredchartobject or nullrequiredlabelstringrequiredvaluestringrequired
canExportbooleanrequired
- 400
validation_failed - 401
session_expired,session_revoked,unauthenticated - 403
forbidden,mfa_enrolment_required,reauth_required - 404
not_found - 422
too_many_rows
GET/api/v1/reports/{id}/export
Export the full report as CSV (UTF-8 with BOM) or XLSX, audit-logged
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | yes |
page | query | integer | no |
sort | query | string | no |
dir | query | enum | no |
columnsOptional columns to include, comma-separated. | query | string | no |
format | query | enum | no |
Responses
200 CSV or XLSX file text/csv
- 400
validation_failed - 401
session_expired,session_revoked,unauthenticated - 403
forbidden,mfa_enrolment_required,reauth_required - 404
not_found - 422
too_many_rows