Reports and evidence
Two report kinds
Section titled “Two report kinds”| When | Inspection | Official report kind |
|---|---|---|
| Departure validated | departure | departure |
| Return validated | return | comparison |
The return inspection produces the comparison. There is no separate official return report kind.
An illustrative comparison
Section titled “An illustrative comparison”These demonstration images show one kind of evidence an operator may review: 42,318 km at departure and 42,604 km at return, a difference of 286 km. They come from the TrakarIA website, not a customer’s inspection or the official report JSON.
| Departure example | Return example |
|---|---|
![]() | ![]() |
The official comparison is created only after the return workflow is validated. Its fields and photos come from the inspected record, not from this illustration.
GET /v1/rentals/{rental_id}/report is an index: it describes the availability and current identity of both report kinds. The departure entry can be ready while comparison is still unavailable. Use GET /v1/rentals/{rental_id}/reports to list historical versions, then GET /v1/reports/{report_id} to archive the clean JSON for a specific immutable version.
If someone corrects report details in the interface or through a supported API update, Kernel creates a new report version. Its public report ID and content hash change; the previous ID remains the identity of the earlier version. Archive by report ID and version, not only by Rental ID.
Download the PDF
Section titled “Download the PDF”GET /v1/reports/{report_id}/pdf returns PDF bytes with 200 when ready. If the artifact is being generated or repaired, it returns 202 with a job ID and Retry-After. Poll GET /v1/jobs/{job_id} or retry the PDF route after the indicated delay. The API sends the PDF itself, not a permanent storage URL.
Evidence and attachments
Section titled “Evidence and attachments”GET /v1/inspections/{inspection_id}/evidence lists operational photo metadata. An evidence content route streams authorized image bytes. is_fresh_for_record tells an authenticated operational client whether the photo was captured for the current record; this field is not part of shared report JSON, PDFs or webhook payloads.
Rental attachments are separate private documents supplied by the partner. Their list route returns metadata, and their content route streams authorized bytes. An attachment is not official inspection evidence. See the API reference for the exact file types and limits.

