Note |
---|
Confidential – By no means does Car-Pass authorize the reader to internal use the present information. The information contained in the present proposal may not be disclosed to any other people or organization without prior authorization of Car-Pass. This information cannot be sold or given for commercial purpose. |
Table of Contents
Table of Contents |
---|
Context and Objectives
Car-Pass is the nonprofit organization created by FEBIAC (Belgian federation of the Car and Two-wheeler Industries), thecompanies in charge of the technical inspection and Traxio (Federation of car vendors, car service professionals as well as linked sectors), charged by the legislator with a task of public interest i.e. to protect buyers and to promote the fair trade in used vehicles by combating fraud with the odometer.
...
Info |
---|
Do note that our maintenance window for ‘production’ is Thursday 19h – 24h (CET) |
Definitions
Term | Description |
VIN | Vehicle Identification Number. The unique number for the identification of a vehicle |
Odometer Reading | The value of the Odometer as displayed on the dashboard (the total trip). |
Enterprise Organisation (legally responsible) | The enterprise identified by a KBO/BCE number (or VAT number) in the format of 10 digits including leading zero’s eg 04xxxxxxx1 |
Entered Organisation | The establishment is the entity that has received an activation letter with activation code to activate the Car-Pass account. This is the physical location where repairs and maintenance are done on the vehicle. The entered Organisation is identified by its establishment number from KBO/BCE number. 10 digits, eg 2xxxxxxxx1 |
Security
Security is basic authentication with the establishment number of the garage as username, for testing purposes other accounts can be set-up. Most frameworks and tools support the creation of a basic authentication header based on username and password.
Info |
---|
If you do this manually, which is not recommended : Basic Authentication header The Authorization header is constructed as follows:
|
...
The web service can only be accessed with a username and password. These credentials must always be provided while making a request to Car-Pass.
TLS versions |
---|
Only TLSv1.2 and TLSv1.3 is supported |
Ciphers |
---|
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256: |
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384: |
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305: |
DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 |
Technical documentation
Base api urls
Formats
Date
Dates are formatted yyyy-mm-dd
Languages
Supported languages are NL, FR, DE. EN only for the Vehicle History Report pdf
Services
Workflow
Important to know is that processing of requests happens asynchronously. You will make a request to submit data, you will receive a guid that you'll need to store and use in the following requests. The below requests contain more information on how and when to use these.
...
If the status is ISSUE, further action is needed either POST observation{requestguid}/correction or POST observation{requestguid}/confirm
...
Status of the request
Ongoing
ONGOING means the Car-Pass system is still gathering data and validating the registration.
...
This will limit the load for your and the Car-Pass system
Reviewing & Rejected
The REVIEWING status can be triggered through
...
If the data is accepted, the status will be PROCESSED, no further action needed. If the data was not accepted the status will be REJECTED. In both cases the user has received feedback on the email address known at Car-Pass. In case of rejected, the original submitted data can still have an open issue and a correction can be tried again
Waiting For DIV
This is only relevant when submitting data based on a license plate. When submitting a license plate Car-Pass will check this plate with DIV. If DIV is not available the validation of the submitted data can not happen, in this case the status is temporarily set as WAITING_FOR_DIV. Car-Pass will automatically retry this data when DIV is available again, afterwards the final status of this registration becomes available which can be PROCESSED or ISSUE if there was something wrong. (See status and correction operations)
Note |
---|
As such, when encountering this status, do not keep repeating status calls but schedule this for example try again in 6 hours or the next day. |
Operations
POST /observation
Take note of the odometer reading on the dashboard: this operation is performed by a staff member in the workshop and for obvious reasons requires the presence of the vehicle.
Car-Pass expects to receive the exact odometer reader indicated on the dashboard, no approximate values or rounded numbers.
Workshops have to send the data they hold to Car-Pass immediately, when the vehicle is still in the workshop.
Car-Pass doesn’t accept that the same user sends an odometer for the same vehicle twice with the same odometerReadingDate. The second reading will generate an error and will be rejected.
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Body Input
Field | Type | Mandatory | Description |
Vin | String, max 17 | N | Either vin or licensePlate must be provided. Both are not accepted together. |
licensePlate | String, max 9 | N | Either vin or licensePlate must be provided. Both are not accepted together. licensePlate cannot be used with observationType VEHICLE_HISTORY_DOCUMENT |
Unifier | Integer | N | The DIV unifier, used to identify vins shorter than 17 characters |
firstUseDate | Date | N | The firstUseDate of the Vehicle, used to identify vin’s shorter than 17 characters |
odometerReadingDate | Date | Y | The date the odometer was read (we expect this information on the day it was read, so most of the time should be equal to the current date) |
odometerReading | Integer | Y | The exact reading as read from the dashboard |
observationType | Enum | Y | ● REPAIR_MAINTENANCE_SERVICE: a normal registration, to be used in most situations ● ODOMETER_REPLACED: indicate that the odometer counter has been replaced during the work ● VEHICLE_HISTORY_DOCUMENT: a registration that request a vehicle history document to be generated |
enterpriseOrganisation | String | Y | The enterprise number of the enteredOrganisation |
enteredOrganisation | String | Y | The KBO number of the establishment where odometer was read |
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
GET observation/{requestGuid}/status
Usage: based on the request guid in the response of POST /observation or POST /observation{requestGuid}/correct retrieve the status to verify if data has been loaded or further action is needed
Input
The requestGuid from the POST as URL path parameter
Output
Field | Type | Description |
Status | ENUM |
|
Issues | List | Will be filled in with issues that require attention by the user |
Issue.type | String | A unique key for the type of issue |
Issue.description | Object | Placeholder object for translations. The description explains the data issue that needs to be Corrected or Confirmed |
issue.description.nl |
|
|
issue.description.fr |
|
|
Issue.description.de |
|
|
descriptionToBeSent | Boolean | Marks the fact a description is required to be sent for the linked registration. |
POST /observation/{requestGuid}/correction
Usage: this allows correcting the data from a previous request when the status was ISSUE. When the status is not ISSUE a synchronous error is returned.
...
Example: on the GET /status call an issue was returned that the VIN is unknown. This is shown to the user in the garage, he/she verifies this and sees an input error is made. The user types in another VIN value and this is submitted, all other data needs to be filled in and stays the same.
Input
The requestGuid from observation being corrected as URL path parameter
Fields
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
POST /observation/{requestGuid}/confirm
Usage: this allows confirming the data from a previous request when the status was ISSUE. The user verifies the information provided in the status call describing the issue, and when the user is either unable to provide a correction or is sure the data as submitted is valid a confirm needs to be sent that will close the issue.
Input
The requestGuid from observation being corrected as URL path parameter
...
Info |
---|
Request body is not required |
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
GET observation/{requestGuid}/status/vhr
Usage: when in the POST /observation an observationType VEHICLE_HISTORY_DOCUMENT has been used to request a document to be used in secondhand car sales and the GET /observation/{requestGuid}/status has returned status PROCESSED (if there are still issues you won’t receive a Vehicle History Document)
Input
The requestGuid from observation being corrected as URL path parameter
The language as query parameter: NL, FR, DE, EN
Response
Field | Type | Description |
file | String (base64 encoded pdf) | A base64 encoded string that represents a pdf containing the vehicle history document |
publicUrl | String (url) | This url is an online version of the vehicle history document and can be used in online ads for a second hand vehicle |
POST /observation/{requestGuid}/manual-correction
Usage: this allows to correct data from a previous request that was in status PROCESSED, when there was no issue.
...
This can only be done when there were no issues on the previous registration, the previous registration is in status PROCESSED, the previous registration was not a CORRECTION
Input
The requestGuid from observation being corrected as URL path parameter
Fields
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
...
Warning |
---|
Do not keep repeating a status call for this. The review will be done between 1-2 business days, afterwards the status can be retrieved. |
Error Responses
When a request is structurally not valid or data issues like unknown guids, or corrections when the status is not ISSUE an error message will be returned in this format. Normally this is something encountered during development and your software should be built in a way that it will not send requests that are not possible (missing mandatory fields, impossible combinations, wrong data types, …)
Response
Field | Type | Description |
Errors | List | List of errors in the request |
Field | String | Indicating for which field or fields the error occurred |
Message | String | Details about what is wrong |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "errors": [ { "field": "vin, licensePlate", "message": "Provide either vin or licensePlate. Both are not accepted together and at least one must be provided." } ] } |
POST observation/<guid>/description
Based on the GUID returned after a POST /Observation , POST /observation/<guid>/correct, or a POST /observation/<guid>/confirm a description needs to be provided.
...
While in status ERROR, ONGOING, REVIEWING, WAITING_FOR_DIV a description can not be sent.
Path parameter
Field | Type | Mandatory | Description |
---|---|---|---|
guid | String | Y | This can be any guid in case of a correction flow, both the initial as the correction. |
Body
Field | Type | Mandatory | Description |
---|---|---|---|
activities | List<activity> | Y | At least one activity needs to be provided but multiple are possible |
activity.mainActivitiymainActivity | Enum | Y |
|
activity.subActivity | Enum | Y |
|
jobDescriptions | List<String 500> | Y | At least one jobDescription needs to be provided, multiple are possible A job description has a max length of 500 characters |
Tyres | List | N (except for subActivity New_Tyres and SEASON_CHANGE_WITH_NEW_Tyres) | Provide a list of tyres indicating what has been installed, provided one tyre object for each modified tyre (up to a maximum of 6 and max 2 unique combinations) |
Tyres >Brand | String | N (only when Tyres list is specified) | |
Tyres >Size | Number (MIN 8 , MAX 30) | N (only when Tyres list is specified) | |
Tyres >Type | string Enum: | N (only when Tyres list is specified) | |
Tyres >Quantity | Integer (MIN1, MAX 6) | N (only when Tyres list is specified) |
Code Block |
---|
{ "activities": [ { "mainActivity": "MAINTENANCE", "subActivity": "SMALL_MAINTENANCE" }, { "mainActivity": "DIAGNOSTICS_REVIEW", "subActivity": "BRAKES" }, { "mainActivity": "TYRES", "subActivity": "NEW_TYRES" } ], "jobDescriptions": [ "liquide Freins", "Motorolie", "LuchtfilterElement", "Bougies" ] "tyres" : [ { "brand" : "Pirelli", "size": 16, "type": "SUMMER", "quantity": 2 }, { "brand" : "Michelin", "size": 16, "type": "SUMMER", "quantity": 2 } ] } |
Response
Technical validation can happen that mandatory fields are not filled in, this is to be prevented in the UI of the Dealer Management System.
...
Code Block |
---|
{ "errors" : [ { "field" : "mainActivity", "message" : "mainActivity not filled in" }, { "field" : "jobDescriptions", "message" : "jobDescriptions is empty" } ] } |
Work Description API examples
|
GET/activities
Returns a list of possible activities defined by Car-Pass, the main code an possible subcodes and their translations
...
Code Block |
---|
[ { "mainActivity": "MAINTENANCE", "en" : "Maintenance", "nl" : "Onderhoud", "fr" : "Entretien", "de" : "Wartung", "subActivities": [ { "subActivity": "SMALL_MAINTENANCE", "en" : "Small maintenance", "nl" : "Klein onderhoud", "fr" : "Petit entretien", "de" : "Kleine Wartung" }, { "subActivity": "LARGE_MAINTENANCE", "en" : "Large maintenance", "nl" : "Groot onderhoud", "fr" : "Grand entretien", "de" : "Große Wartung" }, { "subActivity": "SUMMER_CHECK", "en" : "Summer check", "nl" : "Zomercheck", "fr" : "Contrôle été", "de" : "Sommerkontrolle" }, { "subActivity": "WINTER_CHECK", "en" : "Winter check", "nl" : "Wintercheck", "fr" : "Controle hiver", "de" : "Winterkontrolle" }, "subActivity": "OTHER", "en" : "Other", "nl" : "Andere", "fr" : "Autres, "de" : "Andere" } ] }, { "mainActivity": "DIAGNOSTICS_REPAIR", "subActivities": [ {....} ] }, .... ] |
Work Description Overview List
Main Activity | Sub Activity | Tyre info required | ||||||||
Enum-system | En | Nl | Fr | De | Enum-system | En | Nl | Fr | De |
|
MAINTENANCE | service | onderhoud | entretien | Wartung | PERIODIC_MAINTENANCE | periodic maintenance | periodiek onderhoud | entretien périodique | reguläre Wartung | No |
|
|
|
|
| SUMMER_CHECK | summer check | zomercheck | contrôle été | Urlaubscheck | No |
|
|
|
|
| WINTER_CHECK | winter check | wintercheck | controle hiver | Wintercheck | No |
|
|
|
|
| TECHNICAL_INSPECTION_CHECK | technical inspection check | check voor autokeuring | passage contrôle technique | Vorabcheck technische Kontrolle | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
DIAGNOSTICS_REVIEW | diagnostics/check | diagnose/nazicht | diagnose/controle | Diagnose/Prüfung | BRAKES | brakes | remmen | freins | Bremsen | No |
SUSPENSION | suspension | ophanging | suspension | Aufhängung | No | |||||
AIR_CONDITIONING | air conditioning | airco | climatisation | Klimaanlage | No | |||||
ENGINE_FUEL_SYSTEM | engine & fuel system | motor & brandstofsysteem | moteur & système carburant | Motor & Kraftstoffsystem | No | |||||
POWERTRAIN_STEERING | powertrain & steering | aandrijflijn & stuurinrichting | chaine cinématique & direction | Antriebsstrang & Lenkung | No | |||||
ELECTRONICS | electronics | elektronica | électronique | Elektronik | No | |||||
EXHAUST_EMISSION_TREATMENT | exhaust/emission treatment | uitlaat/emissie nabehandeling | échappement & traitement des émissions | Auspuff & Abgasnachbehandlung | No | |||||
ELECTRIC_SYSTEM_LOW_VOLTAGE | electric system (low voltage) | elektrisch systeem (laagspanning) | système électrique (basse tension) | Elektrische Systeme (Niedervolt) | No | |||||
ELECTRIC_SYSTEM_HIGH_VOLTAGE | electric system (high voltage) | elektrisch systeem (hoogspannng) | système électrique (haute tension) | Elektrische Systeme (Hochvolt) | No | |||||
LIGHTS | lights | verlichting | éclairage | Beleuchtung | No | |||||
INTERIOR | interior | interieur | intérieur | Innenraum | No | |||||
VISUAL_INSPECTION | visual inspection | visuele inspectie | inspection visuelle | visuelle Kontrolle | No | |||||
OTHER | other | andere | autres | Andere | No | |||||
REPAIR_ADJUST | repair/adjust | herstellen/regelen | réparation/règlage | Reparatur/Einstellung | BRAKES | brakes | remmen | freins | Bremsen | No |
SUSPENSION | suspension | ophanging | suspension | Aufhängung | No | |||||
|
|
|
|
| AIR_CONDITIONING | air conditioning | airco | climatisation | Klimaanlage | No |
|
|
|
|
| ENGINE_FUEL_SYSTEM | engine & fuel system | motor & brandstofsysteem | moteur & système carburant | Motor & Kraftstoffsystem | No |
|
|
|
|
| POWERTRAIN_STEERING | powertrain & steering | aandrijflijn & stuurinrichting | chaine cinématique & direction | Antriebsstrang & Lenkung | No |
|
|
|
|
| ELECTRONICS | electronics | elektronica | électronique | Elektronik | No |
|
|
|
|
| EXHAUST_EMISSION_TREATMENT | exhaust/emission treatment | uitlaat/emissie nabehandeling | échappement & traitement des émissions | Auspuff & Abgasnachbehandlung | No |
|
|
|
|
| ELECTRIC_SYSTEM_LOW_VOLTAGE | electric system (low voltage) | elektrisch systeem (laagspanning) | système électrique (basse tension) | Elektrische Systeme (Niedervolt) | No |
|
|
|
|
| ELECTRIC_SYSTEM_HIGH_VOLTAGE | electric system (high voltage) | elektrisch systeem (hoogspannng) | système électrique (haute tension) | Elektrische Systeme (Hochvolt) | No |
|
|
|
|
| LIGHTS | lights | verlichting | éclairage | Beleuchtung | No |
|
|
|
|
| INTERIOR | interior | interieur | intérieur | Innenraum | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
REPLACE_ASSEMBLE | replace/fitting | vervangen/monteren | remplacement/montage | Erneuern/Einbauen | SHOCK_ABSORBER | shock absorber | schokdemper | amortisseurs | Schwingungsdämpfer | No |
|
|
|
|
| WATER_PUMP | water pump | waterpomp | pompe à eau | Wasserpumpe | No |
|
|
|
|
| TIMING_BELT_CHAIN | drive belt or chain | distributieriem/ketting | courroie/chaîne de distribution | Zahnriemen/Steuerkette | No |
|
|
|
|
| INJECTORS | injectors | injectoren | injecteurs | Injektoren | No |
|
|
|
|
| FUEL_PUMP_HIGH_PRESSURE | fuel pump high pressure | brandstofpomp (hoge druk) | pompe à carburant (haute pression) | Kraftstoffpumpe (Hochdruck) | No |
|
|
|
|
| TURBO | turbo | turbo | turbo | Turbolader | No |
|
|
|
|
| CYLINDER_HEAD_GASKET | cylinder head gasket | cylinderkoppakking | joint de culasse | Zylinderkopfdichtung | No |
|
|
|
|
| COMPLETE_ENGINE | complete engine | volledige motor | moteur complet | Kompletter Motor | No |
|
|
|
|
| CLUTCH | clutch | koppeling | embrayage | Kupplung | No |
|
|
|
|
| GEARBOX | gearbox | versnellingsbak | boîte de vitesse | Getriebe | No |
|
|
|
|
| CARDAN_SHAFT | cardan shaft | cardanas | cardan | Kardanwelle | No |
|
|
|
|
| DIFFERENTIAL | differential | differentieel | differentiel | Differential | No |
|
|
|
|
| EXHAUST_MUFFLER | exhaust (muffler) | uitlaat (demper) | (pot) d'échappement | Auspufftopf | No |
|
|
|
|
| PARTICULATE_FILTER | particulate filter | roetfilter | filtre à particules | Rußpartikelfilter | No |
|
|
|
|
| CATALYTIC_CONVERTER | catalytic converter | katalysator | catalysateur | Katalysator | No |
|
|
|
|
| STARTER | starter | startmotor | démarreur | Anlasser | No |
|
|
|
|
| ALTERNATOR | alternator | alternator | alternateur | Generator | No |
|
|
|
|
| BATTERY_HIGH_VOLTAGE | battery high voltage | batterij hoogspanning | batterie haute tension | Hochvoltbatterie | No |
BATTERY_LOW_VOLTAGE | battery low voltage | batterij laagspanning | batterie basse tension | Niedervoltbatterie | No | |||||
ACCESSORIES | accessories | accessoires | accessoires | Zubehöre | No | |||||
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
BODYWORK | bodywork | carrosseriewerk | travaux de carrosserie | Karosseriearbeiten | DAMAGE_REPAIR | damage repair | schadeherstelling | réparation carrosserie | Karosseriereparatur | No |
|
|
|
|
| COSMETIC_REPAIR | cosmetic repair | cosmetische herstelling | réparation cosmétique | Kosmetische Reparatur | No |
|
|
|
|
| PRE_DELIVERY_INSPECTION | pre-delivery inspection | pre-delivery inspection | reconditionnement | Auslieferungsinspektion | No |
|
|
|
|
| REPAIR_WINDOW | repair window(s) | herstelling ruit(en) | réparation vitre(s) | Scheibenreparatur | No |
|
|
|
|
| REPLACE_WINDOW | replace window(s) | vervanging ruit(en) | remplacement vitre(s) | Scheibenaustausch | No |
|
|
|
|
| RESTORATION | restoration | restauratie | restauration | Restaurierung | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
TYRES | tyres | banden | pneumatiques | Bereifung | REPAIR_TYRES | repair tyre(s) | herstelling band(en) | réparation pneu(s) | Reifenreparatur | No |
|
|
|
|
| SEASON_CHANGE_TYRES | season change tyres | seizoenswissel banden | changement saisonnier | Saisonbedingter Reifenwechsel | No |
SEASON_CHANGE_TYRES_WITH_NEW_TYRES | season change tyres with new tyres | seizoenswissel banden met monteren nieuwe banden | changement saisonnier avec montage nouveau pneus | Saisonbedingter Reifenwechsel mit Montage neuer Reifen | Yes* | |||||
|
|
|
|
| NEW_TYRES | install new tyres | monteren nieuwe banden | montage nouveau pneus | Neue Reifen montieren | Yes* |
|
|
|
|
| WHEEL_ALIGNMENT | wheel alignment | wieluitlijning | réglage géométrie | Achsvermessung | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
ROADSIDE_ASSISTANCE | roadside assistance | pechverhelping | dépannage routière | Pannenhilfe | ROADSIDE_ASSISTANCE | roadside assistance | pechverhelping | dépannage routière | Pannenhilfe | No |
...
Code Block |
---|
"tyres" : [ { "brand" : "Pirelli", "size": 16, "type": "SUMMER", "quantity": 2 }, |
Issue List
Issue Code | Data accepted/saved by Car-Pass | Work description required | Issue description NL | Issue description FR | Issue Description DE | Correction Possible |
[001] | YES | YES | Kilometerstand lager dan laatste. | Kilométrage inférieur au précédent. | Kilometerstand niedriger als vorheriger. | YES |
[110] | NO | NO | Ongeldige kilometerstand - de gegevens werden verworpen | Kilométrage invalide - les données ont été rejetées. | Ungültiger Kilometerstand - Die Daten wurden abgelehnt. | YES |
[120] | NO | NO | Onbekend of inactief ondernemingsnummer - de gegevens werden verworpen | Numéro d'entreprise inconnu ou inactif - les données ont été rejetées. | Unternehmensnummer unbekannt oder nicht aktiv - Die Daten wurden abgelehnt. | NO |
[121] | NO | NO | Onbekende gebruikerscode - de gegevens werden verworpen | Code utilisateur inconnu - les données ont été rejetées. | Benutzercode unbekannt - Die Daten wurden abgelehnt. | NO |
[123] | NO | NO | U heeft reeds een km-stand geleverd voor deze wagen op deze datum. | Vous avez déjà fourni un kilométrage pour ce véhicule à cette même date. | Sie haben bereits an diesem Datum einen Kilometerstand für dieses Fahrzeug gemeldet - die Daten wurden abgelehnt. | NO |
[124] | NO | NO | Chassisnummer niet uniek. Specifieer ook datum 1ste inschrijving - de gegevens werden verworpen | Le numéro de châssis n'est pas unique. Spécifiez aussi la date de première immatriculation - les données ont été rejetées. | Die Fahrgestellnummer ist nicht einmalig. Geben Sie auch das Erstanmeldungsdatum ein - Die Daten wurden abgelehnt. | YES |
[128] | NO | NO | Het probleem is reeds opgelost of de verbetertermijn is verstreken - de correctie werd verworpen | Problème déjà résolu ou le délai pour le résoudre est expiré - la correction a été rejetée. | Problem bereits gelöst oder Lösungsfrist abgelaufen - Die Berichtigung wurde abgelehnt. | NO |
[129] | YES | YES | De verbetering heeft terug een fout veroorzaakt. | La correction a de nouveau créé une erreur. | Die Korrektur hat erneut einen Fehler verursacht. | YES |
[130] | NO | NO | Dit probleem kan enkel opgelost worden door gebruiker die de originele km-stand heeft aangeleverd - de correctie werd verworpen | Le problème ne peut être résolu que par l'utilisateur qui a fourni le kilométrage original - la correction a été rejetée. | Das Problem kann nur von der Person gelöst werden, die den anfänglichen Kilometerstand eingegeben hat. - Die Berichtigung wurde abgelehnt | NO |
[131] | NO | NO | Dit chassisnummer is onbekend in de databank van Car-Pass - de gegevens werden verworpen | Ce numéro de châssis est inconnu dans la base de données de Car-Pass. | Fahrgestellnummer unbekannt in der Datenbank von Car-Pass. | YES |
[134] | NO | NO | De opgegeven vestiging behoort niet tot de onderneming - de gegevens werden verworpen | L'unité d'établissement n'appartient pas à l'entreprise - les données ont été rejetées | Die Kombination Unternehmensnummer/Niederlassungsnummer ist ungültig. - Die Daten wurden abgelehnt | NO |
[146] | NO | NO | Gebruikerscode en Verzenderscode zijn beide inactief - de gegevens werden verworpen | Code utilisateur et code expéditeur sont inactifs | Benutzercode und Absendercode sind beide unbekannt oder inaktiv | NO |
[147] | NO | NO | De datum der werken is ouder dan 3 jaar - de gegevens werden verworpen | La date des travaux est plus ancienne que 3 ans. | Das Aufnahmedatum ist älter als 3 Jahre. | NO |
[150] | NO | NO | U hebt deze gegevens reeds meegedeeld - de gegevens werden verworpen | Vous nous avez déjà communiqué ces données. | Sie versehen diese Informationen bereits. | NO |
[163] | NO | NO | Bevestiging zonder open problemen - de correctie werd verworpen | Confirmation sans problèmes ouverts | Bestätigung ohne offene Probleme | NO |
[180] | NO | NO | U kan enkel de datum van vandaag opgeven - de gegevens werden verworpen | Vous ne pouvez qu’introduire la date d’aujourd’hui. | Sie dürfen nur das heutige Datum eingeben. | NO |
[190] | NO | NO | De nummerplaat is niet gekend bij DIV | La plaque d'immatriculation n’est pas connue chez DIV | Das Kennzeichen ist beim DIV nicht bekannt | YES |
[203] | YES | YES | De kilometerstand werd niet binnen de wettelijk voorziene termijn meegedeeld. | Le kilométrage n'a pas été envoyé à Car-Pass endéans le délai prévu par la loi. | Der Kilometerstand wurde nicht innerhalb des gesetzlichen Zeitrahmens mitgeteilt. | YES |
[205] | YES | YES | Deze kilometerstand bestaat uit 6 cijfers terwijl de teller van het voertuig slechts 5 cijfers aangeeft. | Le compteur kilométrique du véhicule compte 5 chiffres et vous en transmettez 6. | Der Kilometerstand umfasst mehr Ziffern als der Kilometerzähler des Fahrzeugs | YES |
[206] | YES | YES | Voertuig staat geregistreerd als wrak. | Le véhicule est enregistré comme une épave. | Das Fahrzeug ist als Wrack eingetragen. | YES |
[207] | NO | YES | Formaat chassisnummer is niet juist - de gegevens werden verworpen | Le format de numéro de châssis est invalide. | Das Format der Fahrgestellnummer ist ungültig. | YES |
[208] | YES | YES | De kilometerstand is een afgerond getal. | Le kilométrage est un nombre arrondi, évitez d'arrondir les kilométrages. | Der Kilometerstand ist eine abgerundete Zahl. | YES |
[209] | YES | YES | De kilometerstand is veel hoger dan verwacht. | L'évolution du kilométrage est sensiblement plus élevée que par le passé. | Der Kilometerstand ist höher als der Normalwert. | YES |
[210] | YES | YES | Kleine anomalie | Petite anomalie | Kleine Anomalie | YES |
[242] | NO | NO | Organisatie niet toegelaten om voertuighistoriek aan te vragen - de gegevens werden verworpen | Organisation n'est pas autorisée à consulter l'historique kilométrique | Organisation nicht zugelassen, um die Fahrzeugvorgeschichte anzufordern | NO |
[250] | YES | YES | Verzenderscode is inactief | Code expéditeur est inactif | Absendercode ist inaktiv | NO |
[251] | YES | YES | Gebruikerscode is inactief | Code utilisateur est inactif | Benutzercode ist inaktiv | NO |
Vehicle History Report
Professional dealers offering second-hand vehicles for sale are legally obliged to display the information that appears on the Car Pass in the advertisement and showroom. Therefore they have to request a vehicle history report via web services or the Car-Pass website.
...
While creating a vehicle history we consult several external databases. These sometimes respond very slowly or not at all. For this, our timeout is set to 1 minute. When we return an 'ONGOING', it means that we are waiting for a response. Please write your application so that it recalls the method GET /observation{request with a maximum of 1 request in 10 seconds until you get a valid response back that is different from 'ONGOING' and this for a duration of minimum 90 seconds.
API call Examples
|
...
Testing Purposes
For testing purposes we can provide you test accounts and test chassisnummers. Please sent your request to supportit@car-pass.be
...
The link to the test website is: https://professionals.beta.car-pass.be/auth/login If you want to test on license plates, we ask you to send us some VIN numbers and the matching license plates, which we will create in the test environment.
Swagger Page
Swagger integration |
---|
{ "openapi": "3.0.1", "info": { "title": "Professional webservice", "description": "<p>Welcome to the documentation of the Car-Pass REST services for the Professional Users.</p>\n<p> This page allows you to explore, try and test the REST interface to help you with integrating these services in your application. Important to know is that processing of requests happens asynchronously.\nYou will do a request to submit data, you will receive a guid that you'll need to store and use in the following requests. The below requests contain more information on how and when to use these.</p>\n<p>You'll start with <b>POST OBSERVATION</b> then use <b>GET observation{requestguid}/status</b> to check if registration was successful or further action is needed.\nIf the status is ISSUE, further action is needed either <b>POST observation{requestguid}/correction</b> or <b>POST observation{requestguid}/confirm</b> </p>\n<p>Security is basic authentication with the establishment number of the garage as username, for testing purposes other accounts can be set-up</p>\n<p>Dates are formatted dd/mm/yyyy<br/>Supported languages are NL, FR, DE. EN only for the Vehicle History Report pdf</p>", "version": "3.0.0" }, "servers": [ { "url": "https://ws-professionals.beta.car-pass.be/api", "description": "Generated server url" } ], "security": [ { "basicAuth": [] } ], "paths": { "/observation": { "post": { "tags": [ "observation-controller" ], "summary": "Submit a new observation", "description": "<ul>\n<li><b>Take note of the odometer reading on the dashboard:</b> this operation is performed by a staff member in the workshop and for obvious reasons requires the presence of the vehicle.</li>\n<li>Car-Pass expects to receive the exact odometer reader indicated on the dashboard, no approximate values or rounded numbers.</li>\n<li>Workshops have to send the data they hold to Car-Pass immediately, when the vehicle is still in the workshop.</li>\n<li>Car-Pass doesn’t accept that a same user sends an odometer for the same vehicle twice with the same odometerReadingDate. The second reading will generate an error and will be rejected.</li>\n</ul>", "operationId": "registerObservation", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterObservationDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestRegisteredDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/manual-correction": { "post": { "tags": [ "observation-controller" ], "summary": "Submit a manual correction: change data on a previously processed request", "description": "Usage: this allows to correct data from a previous request that was in status PROCESSED, <b>when there was no issue.</b>\n\nExample: the user in the workshop notices a typo after submitting the data to Car-Pass and wants to make a correction.\n\nThis can only be done when there were <b>no issues</b> on the previous registration, the previous registration is in status PROCESSED, the previous registration was not a CORRECTION", "operationId": "correctObservationManually", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterObservationDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestRegisteredDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/description": { "post": { "tags": [ "description-controller" ], "summary": "Submit a description for an existing observation", "description": "Usage: create a description and link it to an observation using the requestguid in the response of POST /observation or POST /observation{requestGuid}/correct", "operationId": "addDescriptionToObservation", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DescriptionDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" }, "example": { "errors": null } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/correction": { "post": { "tags": [ "observation-controller" ], "summary": "Submit a correction: change data on a previous request", "description": "Usage: this allows to correct data from a previous request when the status was ISSUE.\n\nExample: on the GET /status call an issue was returned that the inputted mileage seems to low.\nThis is shown to the user in the garage, he/she verifies this and sees an input error is made.\nThe user types in another odometerReading value and this is submitted, all other data needs to be filled in and stays the same.\nThe user could also modify the odometerReadingDate and/or VIN to correct the issue)\n\nExample: on the GET /status call an issue was returned that the VIN is unknown.\nThis is shown to the user in the garage, he/she verifies this and sees an input error is made.\nThe user types in another VIN value and this is submitted, all other data needs to be filled in and stays the same.", "operationId": "correctObservation", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterObservationDto" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestRegisteredDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/confirm": { "post": { "tags": [ "observation-controller" ], "summary": "Confirm a previous request with issues", "description": "Usage: when an issue is returned in the GET /status call but the user verifies the information and is either unable to provide a correction or is sure the data as submitted is valid a confirmation needs to be sent.", "operationId": "confirmObservation", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestRegisteredDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/status": { "get": { "tags": [ "observation-controller" ], "summary": "Retrieve the status of a request", "description": "Usage: based on the request guid in the response of POST /observation or POST /observation{requestGuid}/correct retrieve the status to verify if data has been loaded or further action is needed", "operationId": "getTransactionStatus", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponseDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/observation/{requestGuid}/status/vhr": { "get": { "tags": [ "observation-controller" ], "summary": "Retrieve a Vehicle History Report", "description": "Usage: when in the POST /observation an observationType VEHICLE_HISTORY_DOCUMENT has been used to request a document to be used in secondhand car sales and the GET /observation/{requestGuid}/status has returned status PROCESSED (if there are still issues you won’t receive a Vehicle History Document)", "operationId": "getVehicleHistory", "parameters": [ { "name": "requestGuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "language", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "FR", "NL", "DE", "EN" ] } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VehicleHistoryDto" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } }, "/activities": { "get": { "tags": [ "activity-controller" ], "operationId": "getActivities", "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MainActivityDto" } } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CarPassValidationErrorDto" } } } } } } } }, "components": { "schemas": { "CarPassValidationErrorDto": { "type": "object", "properties": { "errors": { "type": "array", "description": "List of errors in the request", "nullable": true, "items": { "$ref": "#/components/schemas/FieldValidationErrorDto" } } } }, "FieldValidationErrorDto": { "required": [ "field", "message" ], "type": "object", "properties": { "field": { "type": "string", "description": "Indicating for which field or fields the error occurred", "example": "exampleField" }, "message": { "type": "string", "description": "Details about what is wrong", "example": "must not be null" } }, "description": "List of errors in the request", "nullable": true }, "RegisterObservationDto": { "required": [ "enteredOrganisation", "enterpriseOrganisation", "observationType", "odometerReading", "odometerReadingDate" ], "type": "object", "properties": { "vin": { "type": "string", "description": "Either vin or licensePlate must be provided. Both are not accepted together.", "example": "XYUIYAURZA18451" }, "licensePlate": { "type": "string", "description": "Either vin or licensePlate must be provided. Both are not accepted together. licensePlate can not be used with observationType VEHICLE_HISTORY_DOCUMENT. Commercial plates (Y/Z/V + 3 letters + 3 numbers) are not accepted.", "example": "0XXX999" }, "unifier": { "maximum": 99, "minimum": 1, "type": "integer", "description": "The DIV unifier, used to identify vin’s shorter than 17 characters", "format": "int32", "example": 2 }, "firstUseDate": { "type": "string", "description": "The firstUseDate of the Vehicle, used to identify vin’s shorter than 17 characters", "format": "date" }, "odometerReadingDate": { "type": "string", "description": "The date the odometer was read (we expect this information on the day it was read, so most of the time should be equal to the current date)", "format": "date" }, "odometerReading": { "type": "integer", "description": "The exact reading as read from the dashboard", "format": "int32", "example": 37412 }, "observationType": { "type": "string", "description": "<ul>\n<li>REPAIR_MAINTENANCE_SERVICE: a normal registration, to be used in most situations</li>\n<li>ODOMETER_REPLACED: indicate that the odometer counter has been replaced during the work</li>\n<li>VEHICLE_HISTORY_DOCUMENT: a registration that request a vehicle history document to be generated</li>\n</ul>", "example": "REPAIR_MAINTENANCE_SERVICE", "enum": [ "REPAIR_MAINTENANCE_SERVICE", "ODOMETER_REPLACED", "VEHICLE_HISTORY_DOCUMENT" ] }, "enterpriseOrganisation": { "type": "string", "description": "The enterprise number of the enteredOrganisation" }, "enteredOrganisation": { "type": "string", "description": "The KBO number of the establishment where odometer was read" } } }, "RequestRegisteredDto": { "type": "object", "properties": { "requestGuid": { "type": "string", "description": "This is the unique identifier that you’ll use to follow up your request", "example": "65d6a912-1f2f-46ee-9fee-0455b4309bfb" } } }, "ActivityDto": { "required": [ "mainActivity", "subActivity" ], "type": "object", "properties": { "mainActivity": { "type": "string", "enum": [ "MAINTENANCE", "DIAGNOSTICS_REVIEW", "REPAIR_ADJUST", "REPLACE_ASSEMBLE", "BODYWORK", "TYRES", "ROADSIDE_ASSISTANCE", "INVALID" ] }, "subActivity": { "type": "string", "enum": [ "PERIODIC_MAINTENANCE", "SUMMER_CHECK", "WINTER_CHECK", "TECHNICAL_INSPECTION_CHECK", "VISUAL_INSPECTION", "AIR_CONDITIONING", "BRAKES", "ELECTRONICS", "ELECTRONIC_SYSTEM_HIGH_VOLTAGE", "ELECTRONIC_SYSTEM_LOW_VOLTAGE", "ELECTRIC_SYSTEM_HIGH_VOLTAGE", "ELECTRIC_SYSTEM_LOW_VOLTAGE", "ENGINE_FUEL_SYSTEM", "EXHAUST_EMISSION_TREATMENT", "INTERIOR", "LIGHTS", "POWERTRAIN_STEERING", "SUSPENSION", "ALTERNATOR", "ACCESSORIES", "BATTERY_HIGH_VOLTAGE", "BATTERY_LOW_VOLTAGE", "CARDAN_SHAFT", "CATALYTIC_CONVERTER", "CLUTCH", "COMPLETE_ENGINE", "CYLINDER_HEAD_GASKET", "DIFFERENTIAL", "EXHAUST_MUFFLER", "FUEL_PUMP_HIGH_PRESSURE", "GEARBOX", "INJECTORS", "PARTICULATE_FILTER", "SHOCK_ABSORBER", "STARTER", "TIMING_BELT_CHAIN", "TURBO", "WATER_PUMP", "COSMETIC_REPAIR", "DAMAGE_REPAIR", "PRE_DELIVERY_INSPECTION", "REPAIR_WINDOW", "REPLACE_WINDOW", "RESTORATION", "NEW_TYRES", "REPAIR_TYRES", "SEASON_CHANGE_TYRES", "SEASON_CHANGE_TYRES_WITH_NEW_TYRES", "WHEEL_ALIGNMENT", "ROADSIDE_ASSISTANCE", "OTHER", "INVALID" ] } }, "description": "At least one activity needs to be provided but multiple are possible" }, "DescriptionDto": { "required": [ "activities", "jobDescriptions" ], "type": "object", "properties": { "activities": { "maxItems": 2147483647, "minItems": 1, "uniqueItems": true, "type": "array", "description": "At least one activity needs to be provided but multiple are possible", "items": { "$ref": "#/components/schemas/ActivityDto" } }, "jobDescriptions": { "uniqueItems": true, "type": "array", "description": "At least one jobDescription needs to be provided, multiple are possible\n\nA jobDescription has a max length of 500 characters", "items": { "type": "string", "description": "At least one jobDescription needs to be provided, multiple are possible\n\nA jobDescription has a max length of 500 characters" } }, "tyres": { "type": "array", "description": "Needs to be provided when the following subActivity is provided\n\n* NEW_TYRES\n* SEASON_CHANGE_TYRES_WITH_NEW_TYRES\n\nProvide a list of tyres indicating what has been installed, provided one tyre object for each modified tyre (up to a maximum of 6 and max 2 unique combinations)", "nullable": true, "items": { "$ref": "#/components/schemas/TyreDto" } } } }, "TyreDto": { "required": [ "brand", "size", "type" ], "type": "object", "properties": { "brand": { "maxLength": 100, "minLength": 0, "type": "string" }, "size": { "maximum": 30, "minimum": 8, "type": "number" }, "type": { "type": "string", "enum": [ "WINTER", "SUMMER", "ALL_SEASONS" ] }, "quantity": { "maximum": 6, "minimum": 1, "type": "integer", "format": "int32" } }, "description": "Needs to be provided when the following subActivity is provided\n\n* NEW_TYRES\n* SEASON_CHANGE_TYRES_WITH_NEW_TYRES\n\nProvide a list of tyres indicating what has been installed, provided one tyre object for each modified tyre (up to a maximum of 6 and max 2 unique combinations)", "nullable": true }, "IssueDescription": { "required": [ "de", "fr", "nl" ], "type": "object", "properties": { "nl": { "type": "string", "example": "Kilometerstand lager dan laatste." }, "fr": { "type": "string", "example": "Kilométrage inférieur au précédent." }, "de": { "type": "string", "example": "Kilometerstand niedriger als vorheriger." } }, "description": "Placeholder object for translations. The description explains the data issue that needs to be Corrected or Confirmed" }, "ProfessionalIssueDTO": { "required": [ "description", "type" ], "type": "object", "properties": { "type": { "type": "string", "description": "A unique key for the type of issue", "example": "001" }, "description": { "$ref": "#/components/schemas/IssueDescription" } }, "description": "Will be filled in with issues that require attention by the user", "nullable": true }, "StatusResponseDto": { "required": [ "descriptionToBeSent" ], "type": "object", "properties": { "status": { "type": "string", "description": "<ul>\n<li>PROCESSED: the observation has been successfully registered, no further action needed</li>\n<li>ISSUE: Car-Pass notices a data issue, explanation in the linked issue, a Correction or Confirm action is needed</li>\n<li>ERROR: the provided data was not able to be saved in the database, no further action is needed for this request</li>\n<li>ONGOING: The provided observation is still being validated by the Car-Pass system</li>\n<li>REVIEWING: The provided observation will be manually validated by a Car-Pass employee</li>\n<li>REJECTED: the provided data could not be accepted after manual review</li>\n<li>WAITING_FOR_DIV: the registration was done based on licensePlate and we're waiting feedback from the DIV to match the licensePlate</li>\n</ul>", "example": "ISSUE", "enum": [ "ERROR", "ISSUE", "ONGOING", "PROCESSED", "REJECTED", "REVIEWING", "WAITING_FOR_DIV" ] }, "issues": { "type": "array", "description": "Will be filled in with issues that require attention by the user", "nullable": true, "items": { "$ref": "#/components/schemas/ProfessionalIssueDTO" } }, "descriptionToBeSent": { "type": "boolean", "description": "Marks the fact a description is required to be sent for the linked registration." }, "rejectReason": { "maxLength": 1024, "minLength": 0, "type": "string", "description": "Will be shown if the transaction is in status REJECTED and will be a debrief by a Car-Pass employee, this has also been mailed to the feedback address of the organisation" } } }, "VehicleHistoryDto": { "type": "object", "properties": { "file": { "type": "array", "description": "A base64 encoded string that represents a pdf containing the vehicle history document", "example": "base64EncodedString", "items": { "type": "string", "description": "A base64 encoded string that represents a pdf containing the vehicle history document", "format": "byte", "example": "YmFzZTY0RW5jb2RlZFN0cmluZw==" } }, "publicUrl": { "type": "string", "description": "This url is an online version of the vehicle history document and can be used in online ads for a second hand vehicle", "example": "https://public.car-pass.be/vhr/124093841-214321-214321" } } }, "MainActivityDto": { "required": [ "de", "en", "fr", "mainActivity", "nl", "subActivities" ], "type": "object", "properties": { "en": { "type": "string" }, "nl": { "type": "string" }, "fr": { "type": "string" }, "de": { "type": "string" }, "mainActivity": { "type": "string", "enum": [ "MAINTENANCE", "DIAGNOSTICS_REVIEW", "REPAIR_ADJUST", "REPLACE_ASSEMBLE", "BODYWORK", "TYRES", "ROADSIDE_ASSISTANCE", "INVALID" ] }, "subActivities": { "type": "array", "items": { "$ref": "#/components/schemas/SubActivityDto" } } } }, "SubActivityDto": { "required": [ "de", "en", "fr", "nl", "subActivity", "tyreInfoRequired" ], "type": "object", "properties": { "en": { "type": "string" }, "nl": { "type": "string" }, "fr": { "type": "string" }, "de": { "type": "string" }, "tyreInfoRequired": { "type": "boolean" }, "subActivity": { "type": "string", "enum": [ "PERIODIC_MAINTENANCE", "SUMMER_CHECK", "WINTER_CHECK", "TECHNICAL_INSPECTION_CHECK", "VISUAL_INSPECTION", "AIR_CONDITIONING", "BRAKES", "ELECTRONICS", "ELECTRONIC_SYSTEM_HIGH_VOLTAGE", "ELECTRONIC_SYSTEM_LOW_VOLTAGE", "ELECTRIC_SYSTEM_HIGH_VOLTAGE", "ELECTRIC_SYSTEM_LOW_VOLTAGE", "ENGINE_FUEL_SYSTEM", "EXHAUST_EMISSION_TREATMENT", "INTERIOR", "LIGHTS", "POWERTRAIN_STEERING", "SUSPENSION", "ALTERNATOR", "ACCESSORIES", "BATTERY_HIGH_VOLTAGE", "BATTERY_LOW_VOLTAGE", "CARDAN_SHAFT", "CATALYTIC_CONVERTER", "CLUTCH", "COMPLETE_ENGINE", "CYLINDER_HEAD_GASKET", "DIFFERENTIAL", "EXHAUST_MUFFLER", "FUEL_PUMP_HIGH_PRESSURE", "GEARBOX", "INJECTORS", "PARTICULATE_FILTER", "SHOCK_ABSORBER", "STARTER", "TIMING_BELT_CHAIN", "TURBO", "WATER_PUMP", "COSMETIC_REPAIR", "DAMAGE_REPAIR", "PRE_DELIVERY_INSPECTION", "REPAIR_WINDOW", "REPLACE_WINDOW", "RESTORATION", "NEW_TYRES", "REPAIR_TYRES", "SEASON_CHANGE_TYRES", "SEASON_CHANGE_TYRES_WITH_NEW_TYRES", "WHEEL_ALIGNMENT", "ROADSIDE_ASSISTANCE", "OTHER", "INVALID" ] } } } }, "securitySchemes": { "basicAuth": { "type": "http", "scheme": "basic" } } } } |
...