API: Reports
Reports and scheduled delivery. All endpoints require authentication unless noted. 14 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 |
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}/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 |
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" |
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" |
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
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" |
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