Skip to main content

Reports

Generate on-demand PDF and CSV reports and save reusable report templates. All endpoints are authenticated with a Bearer JWT (see Authentication).

Endpoints

MethodPathDescription
GET/api/v1/reports/fleet-summaryDownload a fleet summary (PDF)
GET/api/v1/reports/oeeDownload an OEE report (CSV)
GET/api/v1/reports/maintenanceDownload a maintenance report (CSV)
GET/api/v1/reports/downtimeDownload a downtime report (CSV)
GET/api/v1/reports/work-ordersDownload a work-orders report (CSV)
GET/api/v1/reports/templatesList saved report templates
POST/api/v1/reports/templatesSave a report template
DELETE/api/v1/reports/templates/{template_id}Delete a report template

Report downloads are subject to a small additional per-account rate limit on top of the standard limits (see Rate Limiting).

On-demand downloads

Each download accepts a days window and streams the file directly.

ParameterTypeDefaultRangeDescription
daysint301365Number of days to include
curl -o fleet-summary.pdf \
"https://api.haltless.io/api/v1/reports/fleet-summary?days=30" \
-H "Authorization: Bearer YOUR_TOKEN"
PathFormatContent type
/api/v1/reports/fleet-summaryPDFapplication/pdf
/api/v1/reports/oeeCSVtext/csv
/api/v1/reports/maintenanceCSVtext/csv
/api/v1/reports/downtimeCSVtext/csv
/api/v1/reports/work-ordersCSVtext/csv

Report templates

Save a report type, window, and format as a reusable template.

List templates

GET /api/v1/reports/templates

[
{
"id": "...",
"tenant_id": "...",
"created_by": "USER_UUID",
"name": "Monthly Fleet Review",
"report_type": "fleet",
"days": 30,
"format": "pdf",
"created_at": "2026-08-01T09:00:00Z"
}
]

Create a template

POST /api/v1/reports/templates

{
"name": "Monthly Fleet Review",
"report_type": "fleet",
"days": 30,
"format": "csv"
}
  • report_type is one of fleet, oee, maintenance, downtime, or work_orders.
  • format is pdf or csv (defaults to csv).
  • days accepts 1365 (default 30).

Returns 422 once the per-account template limit is reached.

Delete a template

DELETE /api/v1/reports/templates/{template_id}

Removes a saved template. Returns 404 if it does not exist.