Reports & Dashboards API

Build, execute, schedule, and export custom reports across all modules. Query the entity schema for report builder integrations.

All endpoints prefixed with /api/v1/reports

Reports

Create, manage, share, and favorite reports.

POST /api/v1/reports/reports

Create a new report.

Auth: Bearer token

Request Body
json
{
  "name": "Monthly Sales Summary",
  "appModule": "sales",
  "definition": {
    "entity": "leads",
    "fields": ["firstName", "lastName", "status"],
    "filters": [],
    "groupBy": ["status"]
  }
}
GET /api/v1/reports/reports

List reports with filtering by app module, favorites, shared, system reports.

Auth: Bearer token

Query Parameters
Parameter Type Description
appModule string Filter by app module (sales, marketing, hr, finance)
search string Search by name
favorites boolean Show favorites only
shared boolean Show shared with me
page number Page number
limit number Items per page
GET /api/v1/reports/reports/:id

Get report by ID with full definition.

Auth: Bearer token

PUT /api/v1/reports/reports/:id

Update a report.

Auth: Bearer token

DELETE /api/v1/reports/reports/:id

Delete a report.

Auth: Bearer token

POST /api/v1/reports/reports/:id/duplicate

Duplicate a report.

Auth: Bearer token

POST /api/v1/reports/reports/:id/favorite

Toggle favorite status for a report.

Auth: Bearer token

POST /api/v1/reports/reports/:id/share

Share report with other users.

Auth: Bearer token

Request Body
json
{
  "userIds": [2, 5]
}
GET /api/v1/reports/reports/:id/shares

Get list of users a report is shared with.

Auth: Bearer token

Executions

Execute reports and view execution history.

POST /api/v1/reports/executions/preview

Preview a report execution with definition and parameters (without saving).

Auth: Bearer token

Request Body
json
{
  "definition": {
    "entity": "leads",
    "fields": ["firstName", "status"],
    "filters": [{ "field": "status", "op": "eq", "value": "new" }]
  },
  "parameters": {}
}
POST /api/v1/reports/executions/:reportId

Execute a saved report and return results.

Auth: Bearer token

GET /api/v1/reports/executions/:reportId/history

Get execution history for a report.

Auth: Bearer token

Query Parameters
Parameter Type Description
page number Page number
limit number Items per page
DELETE /api/v1/reports/executions/:executionId

Cancel an execution.

Auth: Bearer token

Exports

Export report results to CSV, Excel, or PDF.

POST /api/v1/reports/exports/:reportId/csv

Export report results as CSV file.

Auth: Bearer token

POST /api/v1/reports/exports/:reportId/excel

Export report results as XLSX file.

Auth: Bearer token

POST /api/v1/reports/exports/:reportId/pdf

Export report results as PDF file.

Auth: Bearer token

Folders

Organize reports into folders.

POST /api/v1/reports/folders

Create a new folder.

Auth: Bearer token

Request Body
json
{
  "name": "Q2 Reports"
}
GET /api/v1/reports/folders

List all folders.

Auth: Bearer token

PUT /api/v1/reports/folders/:id

Update a folder.

Auth: Bearer token

DELETE /api/v1/reports/folders/:id

Delete a folder.

Auth: Bearer token

POST /api/v1/reports/folders/:id/move-report

Move a report to a folder.

Auth: Bearer token

Request Body
json
{
  "reportId": 5
}

Schedules

Automated report delivery on a schedule.

POST /api/v1/reports/schedules

Create a schedule for a report.

Auth: Bearer token

Request Body
json
{
  "reportId": 1,
  "frequency": "weekly",
  "dayOfWeek": 1,
  "time": "09:00",
  "timezone": "America/New_York",
  "recipients": ["manager@company.com"],
  "format": "pdf"
}
GET /api/v1/reports/schedules

Get schedules for a specific report.

Auth: Bearer token

Query Parameters
Parameter Type Description
reportId number Report ID
PUT /api/v1/reports/schedules/:id

Update a schedule.

Auth: Bearer token

DELETE /api/v1/reports/schedules/:id

Delete a schedule.

Auth: Bearer token

Schema

Explore the data schema for the report builder.

GET /api/v1/reports/schema/entities

List all entities with their fields.

Auth: Bearer token

GET /api/v1/reports/schema/entities/:id

Get a specific entity with its fields.

Auth: Bearer token

GET /api/v1/reports/schema/entities/:id/fields

Get fields for a specific entity.

Auth: Bearer token

GET /api/v1/reports/schema/relationships

Get entity relationships (optionally filtered).

Auth: Bearer token

Query Parameters
Parameter Type Description
entityId number Filter by entity ID
GET /api/v1/reports/schema/join-path

Compute join path between two entities (for cross-entity reports).

Auth: Bearer token

Query Parameters
Parameter Type Description
from string Source entity name or ID
to string Target entity name or ID