API: Reports
Reports, paginated reports, export and scheduled delivery. All endpoints require authentication unless noted. 21 endpoints.
GET /api/reports
Section titled “GET /api/reports”List reports
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
includeDeleted |
boolean | no | |
limit |
integer | no | |
offset |
integer | no | |
type |
string | no | |
search |
string | no | |
sort |
"recent" | "name" |
no |
Responses: 200 · 400 · 401
POST /api/reports
Section titled “POST /api/reports”Create a new report
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | |
description |
string | no | |
layout |
string | no | |
pageSize |
string | no | |
orientation |
"portrait" | "landscape" |
no | |
reportType |
"paginated" | "summary" | "detailed" | "kpi_scorecard" | "template" |
no |
Responses: 201 · 400 · 401 · 409
GET /api/reports/{id}
Section titled “GET /api/reports/{id}”Get report by ID
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 200 · 400 · 401 · 404
PUT /api/reports/{id}
Section titled “PUT /api/reports/{id}”Update a report
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | no | |
description |
string | no | |
layout |
string | no | |
dataConfig |
string | no | |
pageSize |
string | no | |
orientation |
"portrait" | "landscape" |
no | |
isPublished |
boolean | no |
Responses: 200 · 400 · 401 · 404
DELETE /api/reports/{id}
Section titled “DELETE /api/reports/{id}”Delete a report (soft delete)
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 204 — No content · 401 · 404
POST /api/reports/{id}/export
Section titled “POST /api/reports/{id}/export”Export report as PDF or Excel
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
format |
"pdf" | "xlsx" | "csv" | "pptx" | "docx" | "html" |
yes | |
parameters |
array of object | no |
Responses: 200
POST /api/reports/{id}/publish
Section titled “POST /api/reports/{id}/publish”Publish a report version (snapshot current state)
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
changeNote |
string | no | |
override |
boolean | no | |
overrideReason |
string | no |
Responses: 200 · 400 · 401 · 404
POST /api/reports/{id}/rollback
Section titled “POST /api/reports/{id}/rollback”Restore a report from a published version
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
version |
integer | yes |
Responses: 200 · 400 · 401 · 404
GET /api/reports/{id}/schedules
Section titled “GET /api/reports/{id}/schedules”List schedules for a report
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 200 · 400 · 401
POST /api/reports/{id}/schedules
Section titled “POST /api/reports/{id}/schedules”Create a report schedule
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | |
cronExpression |
string | yes | |
format |
"pdf" | "csv" | "xlsx" | "pptx" | "docx" | "html" |
no | |
recipients |
array of string | no | |
filters |
object | no | |
burst |
object | no | |
timezone |
string | no | |
isActive |
boolean | no |
Responses: 201 · 400 · 401 · 409
PUT /api/reports/{id}/schedules/{scheduleId}
Section titled “PUT /api/reports/{id}/schedules/{scheduleId}”Update a report schedule
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduleId |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | no | |
cronExpression |
string | no | |
format |
"pdf" | "csv" | "xlsx" | "pptx" | "docx" | "html" |
no | |
recipients |
array of string | no | |
filters |
object | no | |
burst |
object | no | |
timezone |
string | no | |
isActive |
boolean | no |
Responses: 200 · 400 · 401 · 404
DELETE /api/reports/{id}/schedules/{scheduleId}
Section titled “DELETE /api/reports/{id}/schedules/{scheduleId}”Delete a report schedule
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduleId |
string | yes |
Responses: 204 — No content · 401 · 404
GET /api/reports/{id}/schedules/{scheduleId}/runs
Section titled “GET /api/reports/{id}/schedules/{scheduleId}/runs”List delivery runs for a report schedule
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduleId |
string | yes |
Responses: 200 · 400 · 401
GET /api/reports/{id}/subscriptions
Section titled “GET /api/reports/{id}/subscriptions”List your subscriptions for this report
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 200 · 400 · 401
POST /api/reports/{id}/subscriptions
Section titled “POST /api/reports/{id}/subscriptions”Subscribe yourself to this report on a schedule
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
cronExpression |
string | yes | |
format |
"pdf" | "csv" | "xlsx" | "pptx" | "docx" | "html" |
no | |
timezone |
string | no |
Responses: 201 · 400 · 401 · 409
PUT /api/reports/{id}/subscriptions/{scheduleId}
Section titled “PUT /api/reports/{id}/subscriptions/{scheduleId}”Pause or resume your subscription
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduleId |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
isActive |
boolean | yes |
Responses: 200 · 400 · 401 · 404
DELETE /api/reports/{id}/subscriptions/{scheduleId}
Section titled “DELETE /api/reports/{id}/subscriptions/{scheduleId}”Delete your subscription
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduleId |
string | yes |
Responses: 204 — No content · 401 · 404
POST /api/reports/{id}/test-send
Section titled “POST /api/reports/{id}/test-send”Send a one-off test render of the report
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
format |
"pdf" | "xlsx" | "csv" | "pptx" | "docx" | "html" |
no | |
recipient |
string | no |
Responses: 200
GET /api/reports/{id}/versions
Section titled “GET /api/reports/{id}/versions”List report versions
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 200 · 400 · 401
POST /api/reports/paginated
Section titled “POST /api/reports/paginated”Create a paginated (operational) report
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | |
description |
string | no | |
tablix |
object | yes | |
pageSize |
string | no | |
orientation |
"portrait" | "landscape" |
no |
Responses: 200
POST /api/reports/paginated/preview
Section titled “POST /api/reports/paginated/preview”Preview a paginated report PDF from a tablix spec (no save)
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
tablix |
object | yes | |
name |
string | no |
Responses: 200