The Auto Inspect API
Read a vehicle's history from every business that recorded it, send customers a one-time pre-inception photo link, and write accident, repair and claim-closed events — from your own claims or underwriting system. Part of the insurer plan (R4,999 a month, VAT included); AI usage is billed separately.
Base URL https://autoinspect.co.za/api/autoinspect/v1 · OpenAPI 3 openapi.json
Keys, scopes and limits
Create keys in the insurer portal (Sign in → Insurer → API keys). A key is shown once and stored scrambled; revoke it there at any time. Send it on every call:
Authorization: Bearer aik_…
| Scope | Allows |
|---|---|
read | lookups, your pre-inception reports, creating pre-inception links, reading events you wrote |
write-claims | writing accident / repair / claim_closed events |
Each key has a limit per minute (default 30) and per 24 hours (default 1,000); lookups also count towards your business's daily lookup allowance. Over a limit → 429 with Retry-After. Every call — refused ones too — is counted and shown in your portal's usage view.
| Status | Meaning |
|---|---|
| 401 | no key, unknown key or revoked key |
| 403 | no active insurer plan, or the key lacks the scope |
| 400 | validation (errors are { "error": "…", "code": "…" }) |
| 404 | not found, or not yours |
| 429 | rate limit / daily quota |
GET/vehicles/lookup?vin=…|reg=…&purpose=…
Exact match only — the full VIN or the full registration, never a partial or wildcard search. purpose is required: insurance, claim, repair, pre_purchase, trade_in, rental, inspection or other. Returns the vehicle, discrepancy flags, odometer readings and the history from every writer, with vehicle photos as links valid for one hour. Owner identity is never on the record; rental hand-over reports are never shared.
curl -H "Authorization: Bearer $KEY" \
"https://autoinspect.co.za/api/autoinspect/v1/vehicles/lookup?vin=AHTKB3FE60A024317&purpose=claim"
{ "found": true, "query": "AHTKB3FE60A024317",
"vehicle": { "id": "…", "make": "TOYOTA", "model": "FORTUNER", "year": 2019, "registration_number": "…", "vin": null, "vin_masked": "•••••••••••024317" },
"flags": [ { "occurred_at": "…", "summary": "Odometer 61 200 km is lower than …", "severity": "high" } ],
"odometer": [ { "occurred_at": "…", "km": 61200, "kind": "odometer", "business_name": "…" } ],
"events": [ { "id": "…", "kind": "roadworthy", "title": "Roadworthy test", "occurred_at": "…", "summary": "…", "business_name": "…",
"details": { "result": "pass" }, "photos": ["https://…"], "verify_url": "https://autoinspect.co.za/v/…" } ] }POST/pre-inception-links
A one-time link for your customer (valid 7 days). They open it on a phone — no app, no login — and take the guided photos: licence disc, VIN plate, odometer, four corners and damage close-ups. The vehicle details and possible damage are read from the photos (AI usage on your account); your staff confirm them in the portal and sign off. The report is private to you: nothing goes on the shared vehicle record. The customer sees only "thank you".
{ "customer_email": "client@example.com", "policy_ref": "Q-1029", "vehicle_hint": "2019 Toyota Hilux", "send": true }
→ 201 { "id": "…", "url": "https://autoinspect.co.za/p/…", "expires_at": "…", "sent_status": "sent" }GET/inspections/{id}
One of your pre-inception reports: status (waiting_for_photos, awaiting_review, signed_off), vehicle details, photo links, readings and possible damage with your decisions.
POST/vehicles/{vin}/events scope write-claims
Write an event on a vehicle that is on the record (exact VIN), as your business. Only these fields are accepted — anything else (names, ID numbers, contact details, free notes) is refused with 400:
| Field | Rule |
|---|---|
kind | accident · repair · claim_closed |
date | YYYY-MM-DD |
category | collision · hail · windscreen · theft_recovered · fire · flood · vandalism · animal · mechanical · other |
cost_band | optional: under_5k · 5k_20k · 20k_50k · 50k_100k · 100k_250k · over_250k · write_off |
repairer_name | optional, the repairer business (max 120 characters, no contact details) |
description | optional, max 200 characters, no personal data |
{ "kind": "repair", "date": "2026-10-20", "category": "collision", "cost_band": "20k_50k", "repairer_name": "Example Panelbeaters" }
→ 201 { "event_id": "…", "kind": "repair", "verify_url": "https://autoinspect.co.za/v/…", "discrepancies": [] }GET/events/{id}
An event your business wrote (other businesses' events are read through the lookup).
Questions or a higher limit: support@getkonnekted.com.