Vehicore
Reference

Damage Recognition

Detect and assess vehicle damage from images.

This page shows how to use the VehiCore Damage Recognition API to analyze vehicle images for damage. Request is multipart/form-data; authenticate with X-API-Key.


Recognize Damage

POST /api/damage-recognition/:damageType

Request

Headers

FieldTypeRequiredDescription
X-API-KeystringYesYour API key.

Path parameters

FieldTypeRequiredDescription
damageTypestringYesVehicle side/area: e.g. passenger, driver, front, rear. See Swagger for full list.

Body (multipart/form-data)

FieldTypeRequiredDescription
imagefileYesVehicle image.
userLanguagestringNoLanguage code (e.g. en-US).

Example request

curl -X POST "https://vehicore-api.dev-stage.fyi/api/damage-recognition/passenger" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "image=@/path/to/vehicle.jpg" \
  -F "userLanguage=en-US"
import fs from 'node:fs';

const formData = new FormData();
const buf = fs.readFileSync('/path/to/vehicle.jpg');
formData.append('image', new Blob([buf], { type: 'image/jpeg' }), 'vehicle.jpg');
formData.append('userLanguage', 'en-US');

const response = await fetch('https://vehicore-api.dev-stage.fyi/api/damage-recognition/passenger', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.VEHICORE_API_KEY },
  body: formData,
});
const data = await response.json();
import os
import requests

url = "https://vehicore-api.dev-stage.fyi/api/damage-recognition/passenger"
headers = {"X-API-Key": os.environ["VEHICORE_API_KEY"]}
files = {"image": open("/path/to/vehicle.jpg", "rb")}
data = {"userLanguage": "en-US"}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
RequestBody body = new MultipartBody.Builder()
    .setType(MultipartBody.FORM)
    .addFormDataPart("image", "vehicle.jpg",
        RequestBody.create(new File("/path/to/vehicle.jpg"), MediaType.parse("image/jpeg")))
    .addFormDataPart("userLanguage", "en-US")
    .build();

Request request = new Request.Builder()
    .url("https://vehicore-api.dev-stage.fyi/api/damage-recognition/passenger")
    .header("X-API-Key", System.getenv("VEHICORE_API_KEY"))
    .post(body)
    .build();

try (Response response = new OkHttpClient().newCall(request).execute()) {
    System.out.println(response.body().string());
}
body := &bytes.Buffer{}
w := multipart.NewWriter(body)
f, _ := os.Open("/path/to/vehicle.jpg")
part, _ := w.CreateFormFile("image", "vehicle.jpg")
io.Copy(part, f)
f.Close()
w.WriteField("userLanguage", "en-US")
w.Close()

req, _ := http.NewRequest("POST", "https://vehicore-api.dev-stage.fyi/api/damage-recognition/passenger", body)
req.Header.Set("X-API-Key", os.Getenv("VEHICORE_API_KEY"))
req.Header.Set("Content-Type", w.FormDataContentType())
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)

Response

On success the API returns structured damage information. See Swagger for the full response schema.

Possible errors

All error responses use the shape { "message": "Human-readable text", "code": "OPTIONAL_CODE" }. See Error responses for details.

StatusCodeDescription
400VALIDATION_ERRORBad Request — invalid or missing image, invalid damageType, or other validation failure.
401UNAUTHORIZEDUnauthorized — missing or invalid X-API-Key.
402INSUFFICIENT_CREDITSPayment Required — insufficient credits. Purchase more from Billing.
500Internal Server Error — unexpected server error; retry later.

On this page