The AI-powered automotive intelligence platform. Predict repair costs, decode vehicles, analyze health scores, and integrate mobility services — all from a single API key.
API v1 — Live Bearer Token Auth Select key below to authenticate
Documentation Index
Use the sidebar to jump to any endpoint group, or read the overview below to understand authentication, errors, and rate limits before making your first request.
AI Diagnostics & Repair
Path: POST /api/v1/predict
Predict repair costs, analyze VINs, decode vehicle specs, and get AI-powered diagnostic recommendations — the core intelligence layer of the platform.
The QuickMechs API is an AI-powered automotive intelligence platform. It covers repair cost prediction, VIN decoding, vehicle health scoring, fleet maintenance scheduling, NHTSA recall data, AI diagnostics, tire intelligence, and body shop image analysis — all through a single RESTful API surface.
All endpoints share the same base URL (…) and authenticate via a Bearer API key. Generate your key in the Configuration section, select it in the config bar, and every playground request on this page auto-attaches it.
Quick Start
1. Go to Configuration and generate or select your API key.
2. The config bar auto-attaches your key to all playground requests on this page.
3. Toggle between Test and Live environments using the env switch in the config bar.
4. Pick an endpoint from the sidebar, fill in the parameters, and press Send.
Guide Links
Authentication — How your API key becomes a Bearer token
Errors — HTTP status codes and error response format
All API requests require a Bearer token in the Authorization header. Your Bearer token is your API key — there is no session exchange step required.
Generate a key from the Configuration section, then use it directly in every request. The playgrounds on this page auto-attach the selected key, so you only need to configure it once per browser session.
Required Headers
Header
Value
Required
Authorization
Bearer YOUR_API_KEY
Yes
Content-Type
application/json
Yes for POST requests
Accept
application/json
Recommended
Keep Your API Key Secure
Never expose your API key in client-side code or public repositories. Always make API calls from your backend server. Rotate keys immediately if you suspect a leak.
Environments
Test — Safe sandbox for development. Responses use real logic but won't affect production data or billing.
Live — Production environment with full billing. Switch using the toggle in the config bar.
Errors
The API uses standard HTTP status codes. When a request fails, inspect the status code first, then read the JSON error body for the specific code and message.
Treat 4xx responses as client-side problems you need to fix, and 5xx responses as transient server issues that are safe to retry with backoff.
Error Response Format
{
"error": {
"message": "Unauthorized — invalid or missing API key",
"code": "INVALID_TOKEN",
"details": {}
}
}
Common Status Codes
Status
Code
Meaning & Action
400
INVALID_REQUEST
Malformed request or missing required parameters — fix before retrying
401
INVALID_TOKEN
API key missing, invalid, or revoked — check your key in Configuration
403
FORBIDDEN
Key exists but lacks permission — verify your plan supports this endpoint
422
VALIDATION_ERROR
Request body failed validation — check the details field for field-level errors
429
RATE_LIMIT_EXCEEDED
Too many requests — back off and respect the Retry-After header
500
INTERNAL_ERROR
Server error — safe to retry with exponential backoff
Rate Limits
Rate limits are enforced per API key and vary by plan. Limit details are surfaced in response headers on every request so you can adapt dynamically without guessing.
If you hit a 429, read the Retry-After header and wait that many seconds before retrying. Don't hammer the API — exponential backoff prevents cascading failures.
Rate Limit Headers
Header
Description
X-RateLimit-Limit
Maximum requests allowed in the current window
X-RateLimit-Remaining
Requests remaining before the window resets
X-RateLimit-Reset
Unix timestamp when the window resets
Retry-After
Seconds to wait after a 429 response
Best Practices
Cache aggressively — VIN decode, tire catalog, and recall data rarely changes. Cache at the application layer.
Backoff on 429 — Use exponential backoff. Always read the Retry-After header.
Spread fleet requests — If scoring a fleet, spread requests over time rather than bursting.
Get a repair cost prediction using a VIN and a standardised market repair category — no subcategory search needed. Categories are pre-matched to common industry repairs.
POST /api/v1/predict
GET /api/v1/predict/categories/market-match
Request Parameters
Parameter
Type
Required
Description
vin
string
Yes
17-character Vehicle Identification Number.
zip_code
string
Yes
US ZIP code for the repair location.
mileage
integer
No
Current odometer reading. Used for high-mileage oil recommendation.
problem_identifier
string
Yes
Category ID (as string) from the market-match list endpoint.
All prediction records. Red flag rows are highlighted.
Request Parameters
Parameter
Type
Required
Description
per_page
integer
No
Query param. Results per page. Default: 20. Max: 100.
page
integer
No
Query param. Page number. Default: 1.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/predict/history?per_page=20&page=1" \
-H "Authorization: Bearer YOUR_API_KEY"
Date
Session
VIN
Problem
Local Avg
AI Avg
Match
Memory
Feedback
Reason
Loading...
Lifecycle Prediction History
All lifecycle prediction records. Red flag rows are highlighted.
Request Parameters
Parameter
Type
Required
Description
per_page
integer
No
Query param. Results per page. Default: 20.
page
integer
No
Query param. Page number. Default: 1.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/predict/repair-lifecycle/history?per_page=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Date
Session
Vehicle
Repair
Source
Local Days
AI Days
Local Miles
Next Due
Flag
Loading...
Your API Keys
Manage your API keys for authentication.
Vehicle Insurance Risk Analysis
Fetch real-time safety risk levels, claim risk scores, composite health scores, predicted failures, service gaps, and cost exposure details using a vehicle's VIN.
GET /api/v1/fleet/vehicles/{vin}/insurance-risk
Request Parameters
Parameter
Type
Required
Description
vin
string
Yes
Path param. 17-character VIN to compute insurance risk score for.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/vehicles/1HGCM82633A004352/insurance-risk" \
-H "Authorization: Bearer YOUR_API_KEY"
Try it
Request Preview
{}
Response
// Enter a VIN to analyze insurance risk
List All Service Schedules
Fetch all maintenance schedules assigned to your fleet manager account.
GET /api/v1/fleet/service-schedules
Request Parameters
Parameter
Type
Required
Description
status
string
No
Query param. Filter by status: pending, completed, overdue.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/service-schedules" \
-H "Authorization: Bearer YOUR_API_KEY"
Try it
Response
{}
Service Schedules by Vehicle
Filter schedules specifically for a single vehicle ID, with optional status filter.
GET /api/v1/fleet/service-schedules/vehicle/{id}
Request Parameters
Parameter
Type
Required
Description
id
integer
Yes
Path param. Vehicle ID to list schedules for.
status
string
No
Query param. Filter by schedule status.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/service-schedules/vehicle/42" \
-H "Authorization: Bearer YOUR_API_KEY"
Try it
Request Preview
{}
Response
{}
Get Schedule Detail
Fetch full details for a specific service schedule ID.
GET /api/v1/fleet/service-schedules/{id}
Request Parameters
Parameter
Type
Required
Description
id
integer
Yes
Path param. Unique ID of the service schedule to retrieve.
Example Request
curl -X GET "https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/service-schedules/17" \
-H "Authorization: Bearer YOUR_API_KEY"
Try it
Response
{}
Create Service Schedule
Register a new maintenance appointment for a fleet vehicle.
POST /api/v1/fleet/service-schedules
Request Parameters
Parameter
Type
Required
Description
vehicle_id
integer
Yes
Database ID of the vehicle.
service_type
string
Yes
Type of service (e.g. "Oil Change", "Brake Inspection").
workshop_id
integer
No
ID of the workshop to assign the schedule to.
due_date
date
Yes
Scheduled service date in YYYY-MM-DD format.
due_mileage
integer
No
Mileage threshold that triggers the service.
notes
string
No
Additional notes for the technician.
Example Request
curl -X POST https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/service-schedules \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"vehicle_id":42,"service_type":"Oil Change","due_date":"2024-09-15","due_mileage":75000,"notes":"Use full synthetic 5W-30"}'
Try it
Request Preview
{}
Response
{}
Update Service Schedule
Modify an existing schedule's status, date, or notes.
PUT /api/v1/fleet/service-schedules/{id}
Request Parameters
Parameter
Type
Required
Description
id
integer
Yes
Path param. ID of the schedule to update.
status
string
No
New status: pending, completed, cancelled.
scheduled_date
date
No
Updated service date (YYYY-MM-DD).
notes
string
No
Updated notes.
Example Request
curl -X PUT https://dev.api.aiadmin.quickmechs.com/api/v1/fleet/service-schedules/17 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"completed","notes":"Completed ahead of schedule"}'
Try it
Response
{}
Delete Service Schedule
Permanently remove a maintenance appointment.
DELETE /api/v1/fleet/service-schedules/{id}
Request Parameters
Parameter
Type
Required
Description
id
integer
Yes
Path param. ID of the service schedule to permanently delete.