NAV
shell

Introduction

Welcome to the Claire Automotive Support Tire Scanner API !

You can use this API to connect you tire scanner to Claire and have the results of tire scans directly available to the mechanic on their tablets when they perform a car check.

Endpoints method, url, request/response schema and their description are presented on the left. The right side contains example requests (via curl) and responses (in JSON).

For more information on types and possible value, refer to the Models and Enumeration section.

In the future, more tire scanner will be added, but for now TScan and BeissBarth scanner are supported via CheckMyTyre, and BeissBarth scanner are supported via EasyTread.

If this is your first time reading the docs, check out the Authentication section.

The changelog section contains all updates related to this API.

Authentication

Depending on your tire scanner, authentication differ but in any case you must obtain a location key from Claire Support that is unique for the site where the tire scanner is installed.

Tscan

TScan scanner

curl -X POST "API_BASE/v5.3/tscan/scan" -H "Authorization: Bearer $token" -H "Content-Type: application/json"

This endpoint accepts a TScan payload.

HTTP Request

POST /v5.3/tscan/scan

The request Body payload is:

{
    "scan": {
        "TPIDealerID": 0,
        "VehicleImage": null,
        "LicensePlate": null,
        "VehicleTypeDetails": null,
        "VehicleHasWinterTires": "",
        "AlignmentRecommendation": false,
        "Tires": [],
        "TreadTrackerReport": ""
    }
}

The request JSON response is:

{
    "Status": "",
    "Message": ""
}

Request schema

Parameter Type Required Description
scan TScan true

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
Status string
Message string

Easytread

BeissBarth scanner

curl -X POST "API_BASE/v1/easytread/scan" -H "Authorization: Bearer $token" -H "Content-Type: application/json"

The BeissBarth scanner needs to be equipped with a camera to read the registration number of the car, and send it as data.crossing.vehicleID.plate.value to this endpoint, or the scan will be rejected.

HTTP Request

POST /v1/easytread/scan

The request Body payload is:

{
    "data": {
        "crossing": {
            "tires": {
                "frontLeft": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "frontRight": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "rearLeft": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "rearRight": {
                    "treadDepth": {
                        "value": 0
                    }
                }
            },
            "vehicleID": {
                "plate": {
                    "value": ""
                }
            }
        }
    }
}
{
    "data": {
        "crossing": {
            "tires": {
                "frontLeft": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "frontRight": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "rearLeft": {
                    "treadDepth": {
                        "value": 0
                    }
                },
                "rearRight": {

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
data EasyTreadBeissBarth true Contains the unaltered payload from the scanner, see the body payload example on the right.

Response schema

This endpoint does not return anything, only the HTTP status code matters.

Aaequipment

Scan tires

curl -X POST "API_BASE/v1/aaequipment/scan" -H "Authorization: Bearer $token" -H "Content-Type: application/json"

The AAEquipment scanner will call this endpoint when tires are scanned

HTTP Request

POST /v1/aaequipment/scan

The request Body payload is:

{
    "timestamp": "",
    "tire_data": {
        "LF": "",
        "LF_I": "",
        "LF_O": "",
        "LR": "",
        "LR_I": "",
        "LR_O": "",
        "RF": "",
        "RF_I": "",
        "RF_O": "",
        "RR": "",
        "RR_I": "",
        "RR_O": ""
    },
    "tire_other": {
        "insideWear": "",
        "orderNumber": "",
        "outsideWear": "",
        "replaceTire": "",
        "tireCount": "",
        "unit": 0,
        "wheelAlignment": 0
    },
    "base64_pdf": null
}
{
    "timestamp": "",
    "tire_data": {
        "LF": "",
        "LF_I": "",
        "LF_O": "",
        "LR": "",
        "LR_I": "",
        "LR_O": "",
        "RF": "",
        "RF_I": "",
        "RF_O": "",
        "RR": "",
        "RR_I": "",
        "RR_O": ""
    },
    "tire_other": {
        "insideWear": "",
        "orderNumber": "",
        "outsideWear": "",

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
timestamp string true
tire_data TireData true
tire_other TireOther true
base64_pdf []uint8 false

Response schema

This endpoint does not return anything, only the HTTP status code matters.

Read a scan

curl -X POST "API_BASE/v1/aaequipment/scan/read" -H "Authorization: Bearer $token" -H "Content-Type: application/json"

This endpoint returns the last tire scan received for a given short code and location id. Short codes are linked to scanner serial numbers at location level. The scan values are removed after being retrieved, so it is not read again later on by the next mechanic if his new scan has not arrived yet. This allow as well to do read retry while waiting for a scan to come in, as no error will be returned if there is no scan values to read.

HTTP Request

POST /v1/aaequipment/scan/read

The request Body payload is:

{
    "short_code": 0,
    "dealer_location_id": 0
}

The request JSON response is:

{
    "created_on": "0001-01-01T00:00:00Z",
    "updated_on": "0001-01-01T00:00:00Z",
    "short_code": 0,
    "serial_number": "",
    "last_fr_profile_scanned": 0,
    "last_fl_profile_scanned": 0,
    "last_rr_profile_scanned": 0,
    "last_rl_profile_scanned": 0,
    "last_alignment_recommended_scanned": false,
    "last_report_scanned": "",
    "dealer_location_id": 0
}

Request schema

Parameter Type Required Description
short_code int true Short code linked to the scanner serial number
dealer_location_id DealerLocationID true Location where the scan was done

Response schema

This endpoint return an object of type AAEquipmentTyreScanner, please refer to the JSON response column on the right, or to the Models and Enumeration section for more details.

Models and Enumeration

AAEquipmentTyreScanner Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
short_code int Short code attached to the scanner in order to identify it easily
serial_number string Serial number of the scanner device.
last_fr_profile_scanned float64 Last value received from the scanner for this tire position
last_fl_profile_scanned float64 Last value received from the scanner for this tire position
last_rr_profile_scanned float64 Last value received from the scanner for this tire position
last_rl_profile_scanned float64 Last value received from the scanner for this tire position
last_alignment_recommended_scanned bool Last value received from the scanner for alignment
last_report_scanned string Last report received from the scanner
dealer_location_id DealerLocationID Location Identifier

Schemas

The types below are used in the request and response bodies of the endpoints above but are not database models. Their fields are described here for reference.

EasyTreadBeissBarth

Field Type Description
crossing EasyTreadBeissBarthCrossing

TScan

Field Type Description
TPIDealerID int64
VehicleImage string
LicensePlate struct { Platestring string "json:\"platestring\"" }
VehicleTypeDetails struct { Vin string "json:\"vin\"" }
VehicleHasWinterTires string
AlignmentRecommendation bool
Tires []struct { TirePosition struct { Axle string "json:\"axle\""; Index int "json:\"index\"" } "json:\"TirePosition\""; MinimumTreadDepth []TreadDepth "json:\"MinimumTreadDepth\""; ProfileImage string "json:\"ProfileImage\"" }
TreadTrackerReport string

TireData

Field Type Description
LF string
LF_I string
LF_O string
LR string
LR_I string
LR_O string
RF string
RF_I string
RF_O string
RR string
RR_I string
RR_O string

TireOther

Field Type Description
insideWear string
orderNumber string
outsideWear string
replaceTire string
tireCount string
unit int
wheelAlignment int

Changelog

This section contains changes related to the Claire TireScanner API. Changes will be included if:

*** AAEquipment 25-06-2025'

The following endpoints were added in this version

*** EasyTread 29.07.2022.***

The following endpoints were added in this version

*** TScan 16.05.2022.***

The following endpoints were added in this version

Errors

The Claire Automotive Support API uses the following error codes:

Error Code Meaning
400 Bad Request : Your request is invalid.
401 Unauthorized : Your API key is wrong.
404 Not Found : The specified endpoint could not be found.
405 Method Not Allowed : You tried to access server with an invalid method.
429 Too Many Requests : You're making too many requests.
500 Internal Server Error : We had a problem with our server. Try again later.
503 Service Unavailable : We're temporarily offline for maintenance. Please try again later.