Car Inspection API

Upload vehicle media, get AI-scored results per item, and generate tamper-proof inspection certificates.

Resume an Existing Inspection

1. List Inspection Companies

Fetch all active inspection companies. Use the company ID when creating an inspection.

GET /api/v1/predict/inspection/companies

Request Parameters

No parameters required.

Example Request

curl -X GET https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/companies \
  -H "Authorization: Bearer YOUR_API_KEY" 

Select a company to use in Step 2:

Response
// Click "Fetch Companies" to see response

1b. SmartCar Vehicle Lookup (optional)

Look up vehicles connected via SmartCar for an email. Selecting a vehicle pre-fills the inspection form and auto-verifies VIN & odometer.

GET /api/v1/vin-lookup?email={email}

Request Parameters

ParameterTypeRequiredDescription
emailstringYesThe email address of the vehicle owner.

Example Request

curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/vin-lookup?email=owner@example.com" \
  -H "Authorization: Bearer YOUR_API_KEY" 
Response
// Enter an email and click Lookup

2. Create Inspection

Initialise a new inspection session with vehicle info and company. Returns an inspection_ref used for all subsequent calls.

POST /api/v1/predict/inspection

Request Parameters

ParameterTypeRequiredDescription
emailstringYesThe email address of the vehicle owner.
plate_numberstringNoThe vehicle's license plate number.
statestringNoThe state of registration (e.g., California).
company_idintegerNoThe ID of the inspection company.
use_aibooleanNoSet to 1 for AI analysis, 0 for manual review. Default is 1.
smartcar_vehicle_idstringNoThe SmartCar vehicle ID to auto-verify VIN and odometer.

Example Request

curl -X POST https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"owner@example.com", "plate_number":"ABC1234", "company_id":2, "use_ai":1}' 
Used to look up all inspections and SmartCar connections for this person.
Select a company in Step 1 to auto-fill this.
When set to Manual, uploads are stored and a mechanic reviews each item.
Response
// Fill in vehicle info and click Create

3. Upload Media Items

Upload each item individually using multipart/form-data with a file field. Each upload triggers a background AI analysis. Items update to Analyzed within ~30s.

POST /api/v1/predict/inspection/{ref}/media/{item_key}

Request Parameters

ParameterTypeRequiredDescription
refstringYes(Path) The unique inspection reference (e.g., INS-XXXXXXXX).
item_keystringYes(Path) The specific media item key (e.g., vin, odometer).
filefileYes(Body) The image or video file to upload as multipart/form-data.

Example Request

curl -X POST https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/INS-12345678/media/vin \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/vin_image.jpg" 
All valid item_key values
Accordion item_key Label Accepts
Car Verification vin VIN # IMAGE
Car Verification odometer Odometer IMAGE
Interior horn Horn VIDEO
Interior interior_driver_side Interior Driver Side IMAGE
Interior driver_seat_adjustment Driver Seat Adjustment IMAGE
Interior interior_passenger_side Interior Passenger Side IMAGE
Interior passenger_seat_adjustment Passenger Seat Adjustment IMAGE
Interior interior_backseat Interior Backseat IMAGE
Exterior exterior_left Exterior Left IMAGE
Exterior exterior_right Exterior Right IMAGE
Exterior exterior_front Exterior Front VIDEO
Exterior exterior_rear Exterior Rear VIDEO
Tires tire_left_front_image Left Front Tire IMAGE
Tires tire_left_rear_image Left Rear Tire IMAGE
Tires tire_right_front_image Right Front Tire IMAGE
Tires tire_right_rear_image Right Rear Tire IMAGE
Tires tire_left_front_video Left Front Tire (Video) VIDEO
Tires tire_right_front_video Right Front Tire (Video) VIDEO
Send file as multipart/form-data with field name file. Example: POST /api/v1/predict/inspection/INS-XXXX/media/vin
No inspection created yet — complete Step 2 first.
0 / 18 items uploaded
1 Car Verification Items 0/2

VIN #

IMAGE

Odometer

IMAGE
2 Interior Items 0/6

Horn

VIDEO

Interior Driver Side

IMAGE

Driver Seat Adjustment

IMAGE

Interior Passenger Side

IMAGE

Passenger Seat Adjustment

IMAGE

Interior Backseat

IMAGE
3 Exterior Items 0/4

Exterior Left

IMAGE

Exterior Right

IMAGE

Exterior Front

VIDEO

Exterior Rear

VIDEO
4 Tires 0/6

Left Front Tire

IMAGE

Left Rear Tire

IMAGE

Right Front Tire

IMAGE

Right Rear Tire

IMAGE

Left Front Tire (Video)

VIDEO

Right Front Tire (Video)

VIDEO
Last Upload Response
// Upload an item to see the response

4. Check Progress

Returns all items with their AI analysis status. Poll this after uploads to see scores appear.

GET /api/v1/predict/inspection/{ref}/media

Request Parameters

ParameterTypeRequiredDescription
refstringYes(Path) The unique inspection reference (e.g., INS-XXXXXXXX).

Example Request

curl -X GET https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/INS-12345678/media \
  -H "Authorization: Bearer YOUR_API_KEY" 
Response
// Click to check current progress

5. Submit Inspection

Finalise the inspection. All 18 items must be uploaded. Returns an error listing any missing items.

POST /api/v1/predict/inspection/{ref}/submit

Request Parameters

ParameterTypeRequiredDescription
refstringYes(Path) The unique inspection reference (e.g., INS-XXXXXXXX).

Example Request

curl -X POST https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/INS-12345678/submit \
  -H "Authorization: Bearer YOUR_API_KEY" 
Response
// Submit once all items are uploaded

6. Verify Certificate

Anyone can verify an inspection certificate hash — no API key required. Returns the inspection details and confirms the document has not been tampered with.

GET /api/v1/predict/inspection/verify/{hash}

Request Parameters

ParameterTypeRequiredDescription
hashstringYes(Path) The SHA-256 hash from the certificate.

Example Request

curl -X GET https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/verify/a1b2c3d4... \
  -H "Accept: application/json" 
Found at the bottom of the inspection PDF report.
Response
// Paste a hash and click Verify

Lookup by Certificate Code

Retrieve an inspection using the 6-character code printed on the certificate. No API key required — publicly accessible.

GET /api/v1/predict/inspection/code/{code}

Request Parameters

ParameterTypeRequiredDescription
codestringYes(Path) The 6-character code printed on the certificate.

Example Request

curl -X GET https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/code/A3K9XZ \
  -H "Accept: application/json" 
6-character code printed on the inspection certificate.
Response
// Enter a code and click Lookup

7. Inspections by Email

Retrieve all inspections linked to an email address, regardless of status. Requires API key.

GET /api/v1/predict/inspection/by-email?email={email}

Request Parameters

ParameterTypeRequiredDescription
emailstringYes(Query) The email address to look up.

Example Request

curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/predict/inspection/by-email?email=owner@example.com" \
  -H "Authorization: Bearer YOUR_API_KEY" 
Response
// Enter an email and click Fetch