AI Studio
AI-powered repair diagnostics — get instant suggestions from a symptom description, or start a multi-turn diagnostic chat that narrows down to a ranked repair list with confidence scores.
Configuration
AI Repair Recommendation
Describe what's wrong with the vehicle and get AI-powered repair suggestions matched to our database.
POST /api/v1/predict/diagnose
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symptom | string | Yes | Plain-language vehicle symptom or complaint. |
vin | string | No | Vehicle VIN. Adds vehicle-specific context to the AI recommendation. |
Example Request
curl -X POST https://dev.api.aiadmin.quickmechs.com/api/v1/predict/diagnose \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"symptom":"Car shakes when braking at highway speed","vin":"1HGCM82633A004352"}'Try it
Request
POST /api/v1/predict/diagnose {}
Response
// Describe a car problem to get diagnosis
AI Diagnostic Chat
Conversational AI diagnostic — describe symptoms and answer follow-up questions to get an accurate diagnosis.
POST /api/v1/predict/diagnose/start
POST /api/v1/predict/diagnose/reply
POST /api/v1/predict/diagnose/reset
GET /api/v1/predict/diagnose/{session_id}
GET /api/v1/predict/diagnose/history
How it works:
- Start — Send a symptom description (+ optional VIN or Image) → AI identifies vehicle & asks a follow-up
- Reply — Answer the question (can attach images) → AI asks another or gives diagnosis
- Confirmation — When vehicle is identified, the response message will include a formatted spec summary.
- Diagnosis — AI returns ranked repairs with confidence scores matched to our database
- Retrieve/Reset — GET to fetch full history; POST /reset to clear conversation & vehicle context.
Cost: 1 Gemini API call per turn. Typical session = 4-5 calls. Only the
start counts against your quota — replies within a session are free.
1. Start Session
POST /api/v1/predict/diagnose/start
Request Body:
{
"description": "My car makes a grinding noise" // required
"vin": "1FMCU0MN9PU09186" // optional, 17 chars
"email": "user@example.com" // optional — required for vehicle limit enforcement
"vehicle_limit": 3 // optional — max vehicles this subscription allows
"image": BinaryData // optional, multipart/form-data
}
Response (success):
{
"success": true,
"session_id": "uuid-here", // use this for replies
"message": "What kind of noise is it? Grinding, squealing, or clicking?",
"step": 1, "max_steps": 5, "is_complete": false,
"vehicle_history": { "count": 2, "vehicles": [{ "vin": "...", "year": 2019, "make": "Toyota", "model": "Camry" }] } // past cars for this email
}
Response (limit reached — HTTP 403):
{
"success": false,
"error_code": "VEHICLE_LIMIT_REACHED",
"vehicle_count": 3, "vehicle_limit": 3,
"vehicles": [{ "vin": "...", "year": 2020, "make": "Honda", "model": "Civic" }]
}
2. Reply
POST /api/v1/predict/diagnose/reply
Request Body:
{
"session_id": "uuid-from-start" // required
"answer": "It is a grinding noise" // required
"vehicle_limit": 3 // optional — same limit passed to start; enforced on mid-session vehicle switch
"image": BinaryData // optional, multipart/form-data
}
Response (follow-up):
{
"message": "Does it happen only at low speeds or also at highway speeds?",
"step": 2, "is_complete": false
}
Response (final diagnosis):
{
"message": "Based on our conversation, here is my diagnosis...",
"is_complete": true,
"diagnosis": [{ "category": "Brake", "subcategory": "Brake Pad Replacement", "confidence": 0.92, "problem_id": 38 }]
}
3. Reset Session
POST /api/v1/predict/diagnose/reset
Request Body:
{"session_id": "uuid"}. Clears history and identification.4. Retrieve Session
GET /api/v1/predict/diagnose/{session_id}
Returns full conversation history + diagnosis.
5. List Chat History
GET /api/v1/predict/diagnose/history
Query Params:
email // filter by email (optional)
status // active | completed (optional)
per_page // default 20
Returns paginated list of sessions with message counts.
Try it
API Response
// Start a diagnostic session to begin
Diagnostic Chat History
Browse all diagnostic sessions. Filter by email or status to narrow results.
GET /api/v1/predict/diagnose/history
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | No | Query param. Filter sessions by customer email. |
status | string | No | Query param. Filter by status: active, resolved. |
Try it
| Session ID | Vehicle | Status | Step | Msgs | Started | Action | |
|---|---|---|---|---|---|---|---|
| Click Search to view sessions. | |||||||
Response
// Click Search to load sessions