Running Reports
Destiny reports are generated asynchronously as PDFs. You don't get the document back on the request that starts it — instead you kick off a run, then poll for its status, then fetch the finished report.
The pattern
1. POST …/reports/<report-type> → starts a run, returns a report id
2. GET …/reports/status → poll until the report is ready
3. GET …/reports/{id} → fetch the completed report
1. Start a report
Each report type has its own endpoint under Reports — for example Run Vehicle Debrief PDF Report (Detailed), Run Event Summary PDF Report, Run Vehicle Position Log PDF Report. You POST the parameters (date range, vehicle/client/group, options) and receive a report id.
curl -X POST "https://www.acmdestiny.net/api/v1/reports/debrief_detailed" \
-H "Authorization: bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "vehicle_id": 123, "from": "2026-05-01", "to": "2026-05-07" }'
2. Poll for status
Poll the status endpoint until the report reports as ready (don't hammer it — a few seconds between polls is plenty).
curl "https://www.acmdestiny.net/api/v1/reports/status" \
-H "Authorization: bearer YOUR_TOKEN"
3. Fetch the report
Once ready, retrieve it by id:
curl "https://www.acmdestiny.net/api/v1/reports/REPORT_ID" \
-H "Authorization: bearer YOUR_TOKEN"
You can also call the report's options endpoint to discover what it supports.
Scheduled reports
To run a report on a recurring schedule rather than on demand, use the Scheduled Reports operations (e.g. Schedule Vehicle Debrief PDF Report). These let you create, update and query schedules per report type.
Exact report-type paths and their parameters are listed under Reports and Scheduled Reports in the API Reference.