Skip to main content

Reports

The Reports endpoints generate structured operational reports for a time-of-day, week, or customer month. Eight report_type values are valid. Names such as daily_operations, weekly_summary, and executive_health_check are rejected with HTTP 422.

Report types

Call GET /reports/sections for the section names available on each type.

POST /reports/generate

Generate a report. The request waits for the result and returns structured JSON plus an optional narrative in the same response. With narrative, allow 10–17 seconds and set the client timeout to at least 30 seconds. Request body:
Account monthly example:
Response fields: findings is built from job lists the report has already computed. Each item is one condition on one job. Evidence sourceId is the section name prefixed with report. (report.carryover, report.at_risk_jobs, report.at_risk, report.overruns, report.overrun_trend). The array is ordered by tier (critical, act_now, watch, informational), then condition (overrunning, incomplete_carryover, overran), then job id. The same job can appear twice when it is both still open past its planned duration and finished late. A job is left off the array when its source job id or reference is missing, or when an overrun condition has no overrun minutes. Account monthly returns findings: []. Account issues stay in the account sections.

GET /reports/sections

Returns the valid report_type values and the section names for each type. Query parameters: