How to read JSON result

In this section, we will discuss the results of the car body damage detection inspection provided by Alto AI's API.

The results of the inspection as a JSON object will be either returned over a webhook, or can be consulted and downloaded on our Hub. The JSON object includes various fields, each providing different information about the inspected image or images.

The available fields in the JSON object may include information such as the vehicle's license plate number, as well as the conditions of any damaged part, based on the more severe damage on it.

To access the information in the JSON object, you can use the appropriate key to retrieve the corresponding value. The keys and the corresponding values in the JSON object will be detailed in the next section of the documentation

In addition to the information provided in the JSON object, the API also allows you to retrieve any images related to the inspection. These images can be accessed through the "image_urls" field in the JSON object which contains an array of URLs linking to the images.

List Outputs

{
  "tchekId": "hv28V4IpNt",
  "vehicleId": "dwOZzPHUut",
  "dataAPI": {
    "totalTime": 5.859791,
    "status": 200,
    "data": {
      "damages": {},
      "vehicle": {
        "region": "",
        "immat": "FM181EB",
        "detectedLicensePlate": "FM181EB"
      },
      "damageNumber": 3,
      "detectionList": [],
      "reportUrl": "https://preprod.webapp.tchek.fr/en/report?token=T64F6F7",
      "reportUrlWithoutCosts": "https://preprod.webapp.tchek.fr/en/report?token=T4F6F67",
      "customFormResults": [],
      "tokenId": "TDDAD26",
      "severity": [],
      "inspectionImages": [],
      "partsCondition": []
    }
  }
}
Key
Type
Description

totalTime

Number

Inspection time

status

Number

200 if success,404 if error

data.damages

Array

List of damage, see below

data.damageNumber

Integer

Number of damages detected

data.detectionList

Array

Detection grouped by image

data.severity

Array

data.reportUrl

String

Report URL with a token SSO

data.reportUrl

String

Repair cost-less Report URL with a token SSO

data.vehicle

Array

Licence Plate of the vehicle either automatically read during the inspection, or indicated when creating the self inspection request.

data.customFormResults

Array

List of the questions and answers from any form placed at the beginning of the self inspection. See Focus on Additional costs

data.tokenId

string

The SSO token uid related to the self inspection.

data.inspectionImages

Array

The URLs of the images of the inspection. See below Images URLs

data.partsCondition

Array

This array recaps the conditions of every damaged part, both from a technical and a business perspective. See below PartsCondition

Damages & ROI

In this new section, we will explain the difference between a Damage and a Region of Interest (ROI).

A ROI represents the result detected individually by picture, whereas a damage refers to a specific damage on the vehicle from a business perspective.

The ROI is a specific zone on a picture that contains important information. It is usually a bounding box with x, y coordinates that frame the zone of interest. The Damage is a specific point on the vehicle that has been identified as damaged like a scratch or a dent. There is a 1 : 1 relationship between an ROI and a Damage, meaning that the API returns 1 ROI per damage.

Bounding box ROI

Bounding boxes are a way to represent the position of anomalies detected on an image. They are defined by four properties: width, height, centerX, and centerY. These properties allow the API to locate and identify specific regions of an image that contain important information.

The width and height properties define the size of the bounding box, while the centerX and centerY properties define the center point of the bounding box. This allows the API to locate the region of interest within the image with a high degree of accuracy.

In the following example, a bounding box has been drawn around a dislocated part in an image. The width and height of the bounding box have been adjusted to tightly fit around the dislocated part, while the centerX and centerY properties have been set to the center of dislocated part.

PartsCondition

The new partsCondition object recaps the conditions of every damaged part, both from a technical and a business perspective. It contains all the information you need: the damages, the ROIs and the repair costs.

"partsCondition": [
      {
        "id": "8fP7Sd1FXX",
        "partType": "carbody",
        "category": "exterior",
        "code": "PRCAR",
        "cost": 220,
        "currency": "€",
        "tax": 20,
        "severityLevel": 3,
        "reparation": "painting",
        "condition": "scratched",
        "confidence": null,
        "nonBillable": false,
        "damages": [
          {
            "id": "lkzR9KoDXX",
            "isAuto": false,
            "severityLevel": 1,
            "type": "scratch",
            "confidence": 0.8,
            "nonBillable": false,
            "rois": [
              {
                "id": "JABW5roNXX",
                "height": 0.03199529372859178,
                "width": 0.024746359993207734,
                "centerX": 0.4475260840646065,
                "centerY": 0.7641083571251552,
                "imageId": "jbqEMeRMXX",
                "imageUrl": "https://tchekprod-b257.s3.eu-central-1.amazonaws.com/lMIgFNyW9n/5X6Z1HCXXX/2024-11-21T12%3A21%3A46.397Z-401323469.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVTL4GKBTCFRCMTE2%2F20241122%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20241122T102455Z&X-Amz-Expires=7200&X-Amz-Signature=4e8130317953c28f3a187c7f0bc60437d3f24b988c0c94510328601095b9b35c&X-Amz-SignedHeaders=host",
                "type": "scratch",
                "confidence": 0.8,
                "uid": 0
                "isAuto": false,
                "severityLevel": 1,
                "size": 328.301887
              }
            ]
          },
          {
            "id": "ZPfW7mFyXX",
            "isAuto": false,
            "severityLevel": 3,
            "type": "scratch_rubbing",
            "confidence": 0.8,
            "rois": [
              {
                "id": "teFhBaOPXX",
                "height": 0.0858895705521473,
                "width": 0.02300613496932513,
                "centerX": 0.8180598159509203,
                "centerY": 0.7836400443547098,
                "imageId": "jbqEMeRXXX",
                "imageUrl": "https://tchekprod-b257.s3.eu-central-1.amazonaws.com/lMIgFNyW9n/5X6Z1HCXXX/2024-11-21T12%3A21%3A46.397Z-401323469.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVTL4GKBTCFRCMTE2%2F20241122%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20241122T102455Z&X-Amz-Expires=7200&X-Amz-Signature=4e8130317953c28f3a187c7f0bc60437d3f24b988c0c94510328601095b9b35c&X-Amz-SignedHeaders=host",
                "type": "scratch_rubbing",
                "confidence": 0.8,
                "uid": 1
                "isAuto": false,
                "severityLevel": 3,
                "size": 328.301887
              }
            ]
          }
        ]
      }
    ]

Name
Type
Description

id

String

The id of the part in the inspection

partType

String

carbody for car body parts New partTypes will follow soon.

category

String

exterior for car body parts New categories will follow soon.

code

Number

The car part code and location. See nomenclature

cost

Number

The repair cost (BEFORE TAX) for the part according to its condition and the value recovered from your price matrix

currency

String

The repair cost currency

tax

Number

The VAT rate to apply when calculating the Grand total

severityLevel

Integer

Severity of the part, from 0 (unknown) to 5 (accidented). See nomenclature

reparation

String

The suggested repair for the current condition

condition

String

The car part condition based on the most severe damage on it. See nomenclature

confidence

Number

The AI score of the confidence on the part condition. Coming soon.

nonBillable

Boolean

True if the part was flagged as Non-billable

Damages

Key
Type
Description

id

Number

ID of the damage

isAuto

Boolean

False if the damage was added manually by the user

severityLevel

Integer

Severity of the damage, see nomenclature

size

Number

Size of the damage in mm

confidence

Number

The confidence score attributed by ALTO AI. The higher the score, the more likely this is a real damage.

nonBillable

Boolean

True if the damage was flagged as Non-billable

type

String

Type of the damage, see nomenclature

rois

Object

List of ROIs

roi.id

String

ID of the ROI.

rois.imageId

Integer

ID of the image. The ID reflects the order in which the image was sent in the request.

rois.imageUrl

String

URL of the image, this link is secure and available during 48 hours. Only provided if the image was sent as an URL.

rois.height

Number

Height of the bounding box for the ROI (in %)

rois.width

Number

Width of the bounding box for the ROI (in %)

rois.centerX

Number

Center X of the bounding box for the ROI (in %)

rois.centerY

Number

Center Y of the bounding box for the ROI (in %)

rois.type

String

Type of the damage, see nomenclature

rois.severityLevel

Integer

Severity of the part, from 0 (unknown) to 5 (accidented). See nomenclature

rois.confidence

Number

The confidence score attributed by ALTO AI. The higher the score, the more likely this is a real damage.

roi.isAuto

Boolean

Whether the ROI was added manually (false) or detected by ALTO AI (true)

roi.uid

Number

Ordinal ID of the damage

dataApi.data.damages

This is our legacy object describing the damages per each part. See Nomenclature.

"PRCAR": [
          {
            "uid": 0,
            "isAuto": true,
            "severity": "SEV3",
            "size": 405.12809,
            "part": "PRCAR",
            "type": "scratch_rubbing",
            "rois": [
              {
                "cropS3ObjectName": "iqMc4OX3LJ/hv28V4IpNt/crop/8_1.jpg",
                "height": 0.272,
                "width": 0.135,
                "centerY": 0.479111,
                "centerX": 0.328,
                "imageId": "6pxgnn3ePA",
                "imageUrl": "https://tchekprod-b257.s3.eu-central-1.amazonaws.com/iqMc4OX3LJ/hv28V4IpNt/backT34PassengerInspect.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVTL4GKBTDYID4VVB%2F20250116%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20250116T083636Z&X-Amz-Expires=7200&X-Amz-Signature=e04282d37c039944dcc4c4816c50367820de14e251d9e85806a8fa09bc7ac276&X-Amz-SignedHeaders=host"
              }
            ]
Key
Type
Description

uid

Number

ID of the damage

isAuto

Boolean

false if the damage was added manually by the user

severity

String

Severity of the damage, see nomenclature

size

Number

Size of the damage in mm

part

String

Part of the damage, see nomenclature

type

String

Type of the damage, see nomenclature

rois

Object

List of ROIs

cropS3ObjectName

String

URL to the cropped image of the damage.

rois.imageId

Integer

ID of the image. The ID reflects the order in which the image was sent in the request.

rois.imageUrl

String

URL of the image, this link is secure and available during 48 hours. Only provided if the image was sent as an URL.

rois.height

Number

Height of the bounding box for the ROI (in %)

rois.width

Number

Width of the bounding box for the ROI (in %)

rois.centerX

Number

Center X of the bounding box for the ROI (in %)

rois.centerY

Number

Center Y of the bounding box for the ROI (in %)

By default, Damages are sorted by Part location in a clockwise direction from the right corner. This ensures that all parts are organized in a logical and orderly manner, making it easier to identify parts and make repairs. It also ensures that all parts are placed in their correct location, ensuring that damage can be repaired quickly and efficiently.

Images URLs

The dataApi.data.inspectionImages field returns the URLs to the original images sent, along with the information (when available) about the name of the image, the angle and the shooting date.

"inspectionImages": [
        {
          "name": "front.jpeg",
          "url": "https://tchekprod.s3.eu-west-3.amazonaws.com/DJj8VRKbdw/khI6L2yoPi/front.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ4WTBMXTH5K6FZFA%2F20240109%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20240109T165624Z&X-Amz-Expires=7200&X-Amz-Signature=a9f79e3764ac0a55962a0c7fa3e769dc36da316961c3349a5b6f2eba3a2d19a0&X-Amz-SignedHeaders=host",
          "shootingDate": "2024-01-09T11:36:22.059Z",
          "angle": 0
        },
        {
          "name": "frontT34Driver.jpeg",
          "url": "https://tchekprod.s3.eu-west-3.amazonaws.com/DJj8VRKbdw/khI6L2yoPi/frontT34Driver.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ4WTBMXTH5K6FZFA%2F20240109%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20240109T165624Z&X-Amz-Expires=7200&X-Amz-Signature=63753c9c23a9e412ec0663d08bd0483d1dc99d2e054a5bd9e3583b209d9046ab&X-Amz-SignedHeaders=host",
          "shootingDate": "2024-01-09T11:36:32.103Z",
          "angle": 2
        },
        {
          "name": "speedometer.jpeg",
          "url": "https://tchekprod.s3.eu-west-3.amazonaws.com/DJj8VRKbdw/khI6L2yoPi/speedometer.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ4WTBMXTH5K6FZFA%2F20240109%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20240109T165624Z&X-Amz-Expires=7200&X-Amz-Signature=651d9dfdf392584c6adba9a2e8046f2c7be11901c589407602aed6fb2df36021&X-Amz-SignedHeaders=host",
          "shootingDate": "2024-01-09T11:38:57.334Z"
        }
]
            
        

Name
Type
Description

name

String

The name of the image

url

String

The URL to the image stored on our system. Expires in 2 hours.

shootingDate

String

The time the picture was recorded on our system. ISO format.

angle

Number

The id of the angle the image was taken from. See list below

Angles

The angle defines the portion of the car body visible in the picture. Driver and passenger sides refer to left-driving vehicle in this description. Please note that in our Shoot Inspect flow, we can configure the angles to match with right-driving vehicles too.

Angle ID
Angle name
Description

0

front

Front of the car

1

frontInspect

Front of the car (close-up)

2

frontT34Driver

Shot of the whole car from a front-left 45-degree angle

3

frontT34DriverInspect

Close up shot from a front-left 45-degree angle

4

sideDriver

Shot of the whole car from the driver side

5

sideDriverFrontInspect

Close up shot of the front of the car from the driver side (bumper/fender/front door)

6

sideDriverBackInspect

Close up shot of the front of the car from the driver side (rear door /quarter panel /back bumper)

7

backT34Driver

Shot of the whole car from a rear-left 45-degree angle

8

backT34DriverInspect

Close-up shot of the whole car from a rear-left 45-degree angle

9

back

Rear of the car

10

backInspect

Rear of the car (close-up)

11

backT34Passenger

Shot of the whole car from a rear-right 45-degree angle

12

backT34PassengerInspect

Close-up shot from a rear-right 45-degree angle

13

sidePassenger

Shot of the whole car from the passenger side

14

sidePassengerBackInspect

Close up shot of the rear of the car from the passenger side (rear door /quarter panel /back bumper)

15

sidePassengerFrontInspect

Close up shot of the front of the car from the passenger side (bumper/fender/front door)

16

frontT34Passenger

Shot of the whole car from a front-right 45-degree angle

17

frontT34PassengerInspect

Close up shot from a front-right 45-degree angle

Last updated

Was this helpful?