Skip to main content

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.

note

Exact report-type paths and their parameters are listed under Reports and Scheduled Reports in the API Reference.