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

ParameterTypeRequiredDescription
symptomstringYesPlain-language vehicle symptom or complaint.
vinstringNoVehicle 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
Minimum 10 characters. Be as descriptive as possible.
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:
  1. Start — Send a symptom description (+ optional VIN or Image) → AI identifies vehicle & asks a follow-up
  2. Reply — Answer the question (can attach images) → AI asks another or gives diagnosis
  3. Confirmation — When vehicle is identified, the response message will include a formatted spec summary.
  4. Diagnosis — AI returns ranked repairs with confidence scores matched to our database
  5. 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

ParameterTypeRequiredDescription
emailstringNoQuery param. Filter sessions by customer email.
statusstringNoQuery param. Filter by status: active, resolved.
Try it
Session IDEmailVehicle StatusStepMsgsStartedAction
Click Search to view sessions.
Response
// Click Search to load sessions