Reports
The Reports endpoints generate structured operational reports for a time-of-day, week, or customer month. Eightreport_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: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 validreport_type values and the section names for each type.
Query parameters: