CarAPI Integration
Einführung
Die CarAPI liefert Fahrzeugdaten zu deutschen HSN/TSN-Schlüsselnummern sowie darauf aufbauend Felgen- und Reifenfreigaben aus Teilegutachten und ABE. Alle Endpunkte sind GET-Anfragen und antworten mit JSON.
Basis-URL: https://api4cars.com/wp-json/carapi/v1/
Endpunkte ohne Kennzeichnung sind stabil. Endpunkte mit Alpha sind nutzbar; ihr Umfang und zusätzliche Antwortfelder können sich vor der stabilen Freigabe erweitern.
Begriffe
| Begriff | Parameter | Bedeutung |
|---|---|---|
| Fahrzeug | hsn + tsn | Herstellerschlüsselnummer (4 Ziffern) und Typschlüsselnummer (3 Zeichen) aus der Zulassungsbescheinigung Teil I (Felder 2.1 und 2.2). Jede fahrzeugbezogene Anfrage adressiert ein Fahrzeug über dieses Paar. |
| Variante | variant_key | Eine Fahrzeugvariante innerhalb eines HSN/TSN-Paars, z. B. eine bestimmte Motorisierung, Karosserie oder Radgeometrie. Die Varianten eines Fahrzeugs stehen in variants[]. |
| Konfiguration | configuration_id | Eine Genehmigungskonfiguration: Typgenehmigung einschließlich Nachtrag sowie Typ, Variante und Version. Sie beschreibt nicht die individuelle Ausstattung eines einzelnen Fahrzeugs. Die Konfigurationen eines Fahrzeugs liefert /vehicle-configurations. |
| Genehmigungsweg | – | Eine Fahrzeugzeile eines Gutachtens, die eine Felgen-/Reifenkombination für ein Fahrzeug freigibt. Mehrere Genehmigungswege für dieselbe Kombination sind Alternativen. |
| Ausführung | execution_key | Karosserieform einer Generation (z. B. Limousine, Avant). Dient ausschließlich der Navigation in /engines. |
| Passungsstatus | – | Ergebnis der Prüfung einer Felgen-/Reifenkombination: eintragungsfrei, mit_eintragung, nicht_passend oder unknown (siehe Passungsstatus). |
Authentifizierung
Alle Kundenanfragen erfordern einen gültigen API Key, das zugehörige API Secret und ein aktives Abonnement. Die Zugangsdaten stehen nach der Registrierung auf der Account-Seite. Zugangsdaten nur serverseitig verwenden und nie im Browser ausliefern.
Methode 1: Eigene Header
curl -H "X-API-Key: carapi_live_xxxx" \
-H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/compatibility?hsn=0603&tsn=COB"Methode 2: Bearer Token
curl -H "Authorization: Bearer carapi_live_xxxx:IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/compatibility?hsn=0603&tsn=COB"| HTTP | Code | Bedeutung |
|---|---|---|
401 | rest_unauthorized | Keine Zugangsdaten gesendet |
401 | rest_invalid_api_key | API Key unbekannt oder widerrufen |
401 | rest_invalid_api_secret | API Secret passt nicht zum API Key |
403 | rest_subscription_inactive | Abonnement nicht aktiv |
429 | – | Anfragekontingent des Tarifs ausgeschöpft |
Grundlagen
Antwortformat
Erfolgreiche Antworten sind JSON-Objekte oder JSON-Listen mit HTTP 200. Nicht belegte Werte sind null oder fehlen; leere Treffermengen sind leere Listen. Fehlerantworten haben die Form {"code", "message", "data": {"status"}} (siehe Fehlerreferenz).
Antwortprofile mit include
include gilt je Endpunkt: /compatibility wählt damit Antwortbereiche, /vehicle ergänzt Zusatzbereiche, /gutachten wählt den Umfang der Dokumentangaben, /generations ergänzt Ausführungen und /vehicle-search ergänzt Facetten. /fitments kennt include nicht und steuert den Umfang über compact.
Paginierung
Listenendpunkte mit großen Treffermengen nehmen page (ab 1) und per_page an. Grenzen und Standardwerte stehen beim jeweiligen Endpunkt. /fitments paginiert im Profil compact=1 vollständige Felgenserien und sichert Folgeseiten mit data_version ab.
Caching und ETag
Erfolgreiche Antworten tragen einen ETag, der Route, vollständige Query und Antwortdaten berücksichtigt, sowie Cache-Control: private, max-age=…, must-revalidate. /compatibility ist fünf Minuten gültig, andere Endpunkte eine Stunde; /intelligence/* und /configurator/* nennen ihre Gültigkeit beim Endpunkt. Eine identische Anfrage mit passendem If-None-Match erhält HTTP 304 ohne Inhalt. Fehlerantworten werden nicht zwischengespeichert. Einen eigenen Cache immer über die vollständige Query einschließlich variant_key und configuration_id bilden.
Unbekannte Parameter und Warnungen
Unbekannte Query-Parameter werden nicht abgewiesen, sondern in meta.warnings und im Header X-CarAPI-Warnings genannt (unknown query parameter: name). Gemeldete Parameter aus der Integration entfernen; künftig können sie mit HTTP 400 abgelehnt werden, eine solche Umstellung wird vorab angekündigt. Bereits heute mit HTTP 400 rest_unknown_param abgelehnt werden limit und include bei /fitments sowie unbekannte Parameter bei /intelligence/* und bei /vehicle mit include=market, safety oder environment. meta.warnings meldet außerdem selection_unavailable_release_mismatch (siehe Auswahlstatus).
Anfragekontingent
Jede erfolgreich authentifizierte Anfrage zählt auf das Kontingent des gebuchten Tarifs. Ist es ausgeschöpft, antwortet die API mit HTTP 429. Antworten im eigenen Cache halten und mit If-None-Match revalidieren.
Markennamen
Markenparameter akzeptieren gleichwertige Schreibweisen, z. B. VW und Volkswagen.
Fahrzeugauswahl
Jede fahrzeugbezogene Anfrage adressiert ein Fahrzeug über hsn und tsn. Optional wird das Fahrzeug weiter eingegrenzt: entweder mit variant_key (Variante) oder mit configuration_id (Genehmigungskonfiguration). Beide Wege sind gleichwertig; höchstens einen der beiden Parameter senden. Ohne Eingrenzung wertet die API alle Varianten des HSN/TSN-Paars aus.
Fahrzeugadresse
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn | String (4) | ja | Herstellerschlüsselnummer, z. B. 0603 |
tsn | String (3) | ja | Typschlüsselnummer, z. B. COB; Groß-/Kleinschreibung egal |
variant_key | String | nein | Schlüssel aus variants[].variant_key desselben Fahrzeugs. Groß-/Kleinschreibung egal; höchstens 160 Zeichen aus A–Z a–z 0–9 . _ -. |
configuration_id | String | nein | Schlüssel aus /vehicle-configurations, Format cfg_ + 64 Hexadezimalzeichen. |
variant_key und configuration_id sind undurchsichtige Schlüssel. Die Werte unverändert aus der API übernehmen und weder zerlegen noch selbst bilden.
Wege zur Fahrzeugadresse
A) Modell, Generation, Motorisierung – für vier Auswahlstufen Marke → Modell → Generation/Ausführung → Motorisierung:
GET /brands
GET /models?brand=BMW
GET /generations?brand=BMW&model=3er-Reihe&include=executions
GET /engines?brand=BMW&model=3er-Reihe&generation=3er-Reihe%20G20%2FG21%2FG80&execution_key=…B) Baureihe – Marke → Baureihe → HSN/TSN:
GET /brands?onlyWithFitments=1
GET /series?brand=VW&onlyWithFitments=1
GET /variants?brand=VW&series=Touareg%20(CR)%20(07%2F18%20-%2005%2F23)
GET /compatibility?hsn=0603&tsn=COBC) Direkte Eingabe – HSN und TSN aus der Zulassungsbescheinigung.
Wege A und B enden in selection_options[] mit hsn, tsn und variant_key (null, wenn kein einzelner Schlüssel zugeordnet ist). Diese drei Werte als Fahrzeugadresse weitergeben. /engines nennt zusätzlich selection_required: true bedeutet, dass die Motorgruppe mehrere Varianten umfasst und die Variante über variants[] von /vehicle oder /compatibility bestätigt werden sollte. pairs[] und execution_key dienen nur der Navigation.
Variante bestätigen
/vehicle, /compatibility und /fitments liefern variants[]. Bei mehr als einer Variante ist model_selection_available=true. Je Eintrag eine Auswahloption anzeigen: headline als Titel, engine_line und years als Zusatz. variant_selection.selection_required=true zeigt an, dass sich die Varianten in technisch relevanten Angaben unterscheiden (Karosserie, Antrieb, Leistung, Hubraum, Kraftstoff, Radgeometrie oder Handelsname). Eine Auswahl ist nie Pflicht: Ohne Auswahl bleiben alle Ergebnisse gültig, die für alle Varianten gelten.
Ohne Auswahl bewertet die API Modellbedingungen eines Gutachtens (z. B. „nur für Modell X“) anhand der Handelsnamen aller Varianten des Fahrzeugs. Trifft die Bedingung auf alle Varianten zu, ist sie entschieden (bei „nur für Modell X“ erfüllt, bei „nicht für Modell X“ ausgeschlossen). Trifft sie nur auf einen Teil der Varianten zu, lautet das Ergebnis „passt“ mit einem Hinweis in row_hints[], der das betroffene Modell nennt. Mit variant_key wird die Bedingung für die gewählte Variante entschieden.
Genehmigungskonfiguration
/vehicle-configurations listet die Genehmigungskonfigurationen eines Fahrzeugs; jeder Eintrag nennt seine Variante in variant_key (null, wenn die Konfiguration keiner einzelnen Variante zugeordnet ist). Mit configuration_id bewerten /fitments und /compatibility genau diese Konfiguration, auch wenn sie keiner einzelnen Variante zugeordnet ist. /vehicle und /workshop-profile liefern mit configuration_id die Daten dieser Konfiguration. Ausstattung, die nur am einzelnen Fahrzeug prüfbar ist (z. B. Bremsscheibendurchmesser), bleibt auch mit Konfiguration ein Hinweis.
Auswahlstatus variant_selection
/vehicle, /compatibility und /fitments beschreiben die angewendete Auswahl in variant_selection und selected_variant.
status | Bedeutung | selected_variant |
|---|---|---|
not_requested | Keine Auswahl gesendet. Die Antwort gilt für alle Varianten. | null |
selected | Variante angewendet: aus variant_key, aus einem ersetzten Schlüssel mit genau einem Nachfolger oder aus einer configuration_id mit eindeutig zugeordneter Variante. | die Variante |
configuration_without_variant | configuration_id angewendet; die Konfiguration ist keiner einzelnen Variante zugeordnet. | null |
superseded | Früher ausgegebener Schlüssel mit mehreren oder keinem Nachfolger. Mehrere Nachfolger: Auswertung für genau diese Nachfolger. Kein Nachfolger: Auswertung ohne Auswahl. | null |
not_found | Nur /vehicle: Schlüssel ist diesem Fahrzeug unbekannt. Die Fahrzeugdaten werden ohne Auswahl geliefert. | null |
| Feld | Typ | Beschreibung |
|---|---|---|
requested_key | String|null | Angewendeter Schlüssel. Bei selected der aktuelle variant_key, bei superseded und not_found der gesendete Schlüssel (kleingeschrieben). |
superseded_key | String | Nur bei ersetztem Schlüssel mit genau einem Nachfolger: der gesendete frühere Schlüssel. requested_key enthält dann den Nachfolger. |
candidate_keys | String[] | Nur bei superseded: aktuelle Nachfolger des gesendeten Schlüssels; leer, wenn es keinen gibt. |
applied_keys | String[] | Nur /compatibility und /fitments bei mehreren Nachfolgern: Varianten, für die die Passung ausgewertet wurde. |
evaluation_scope | String | configuration, wenn eine configuration_id angewendet wurde; candidate_variants, wenn für die Nachfolger eines ersetzten Schlüssels ausgewertet wurde. |
configuration_id, configuration_applied | String, Boolean | Bei angewendeter Konfiguration: ihre ID und true. |
selection_required | Boolean | true, wenn sich die Varianten technisch unterscheiden und noch keine Variante angewendet ist. |
Während einer Datenaktualisierung können Fahrzeug- und Passungsdaten kurzzeitig aus unterschiedlichen Datenständen stammen. /compatibility und /fitments werten eine Auswahl dann wie eine Anfrage ohne Auswahl aus und nennen selection_unavailable_release_mismatch in meta.warnings. Die gespeicherte Auswahl bleibt gültig; dieselbe Anfrage später wiederholen.
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/compatibility?hsn=0603&tsn=COB&variant_key=beispiel-variante-1"
{
"model_selection_available": true,
"selected_variant": { "variant_key": "beispiel-variante-1", "headline": "Touareg 3.0 V6 TDI", "engine_line": "170 kW · Diesel · Allrad", "years": "2018 - 2023" },
"variant_selection": { "status": "selected", "requested_key": "beispiel-variante-1", "selection_required": false },
"allowed_wheels": [ … ]
}"variant_selection": {
"status": "superseded",
"requested_key": "fruehere-variante",
"selection_required": true,
"candidate_keys": ["beispiel-variante-1", "beispiel-variante-2"],
"applied_keys": ["beispiel-variante-1", "beispiel-variante-2"],
"evaluation_scope": "candidate_variants"
}Schlüssel speichern
Die gewählte Fahrzeugadresse (hsn, tsn und variant_key oder configuration_id) vollständig in Garage, Warenkorb, Links und Cache speichern und bei Folgeanfragen unverändert mitsenden. Ein ausgegebener variant_key bezeichnet dauerhaft dieselbe Variante. Wird eine Variante neu gegliedert, bleibt der frühere Schlüssel gültig: mit einem Nachfolger wählt er diesen, mit mehreren grenzt er auf die Nachfolger ein, ohne Nachfolger liefert er die Auswertung ohne Auswahl. Nach superseded_key den gespeicherten Schlüssel durch requested_key ersetzen; nach status=superseded die Varianten aus candidate_keys zur Auswahl anbieten.
Reaktion auf Antworten
| Antwort | Reaktion |
|---|---|
HTTP 400 variant_not_for_vehicle oder HTTP 200 mit variant_selection.status=not_found | Nur die abgelehnte Auswahl entfernen, dasselbe Fahrzeug einmal ohne Auswahl laden und die aktuellen variants[] anbieten. Keine Variante automatisch wählen. |
HTTP 400 configuration_not_for_vehicle | Die configuration_id entfernen und die Konfiguration über /vehicle-configurations neu wählen. |
HTTP 400 conflicting_vehicle_selections | Nur einen der beiden Parameter senden. |
HTTP 200 mit status=superseded | Ergebnis anzeigen; Auswahl aus candidate_keys anbieten. |
| HTTP 409, HTTP 5xx, Zeitüberschreitung | Auswahl behalten und später erneut anfragen. |
Wirkung je Endpunkt
| Endpunkt | variant_key | configuration_id |
|---|---|---|
/compatibility, /fitments | Passung für diese Variante; Anzeige, Serienbereifung und Bauzeit der Variante. Unbekannter Schlüssel: HTTP 400. | Passung für genau diese Konfiguration. Beide Parameter zusammen: HTTP 400 conflicting_vehicle_selections. |
/vehicle | Anzeige, Bauzeit, Serienbereifung, Radgeometrie (wheels.pcd, wheels.bore) und zuordenbare Datenblätter der Variante. Unbekannter Schlüssel: HTTP 200 mit status=not_found. | Ergänzt das Objekt configuration mit den Daten der Konfiguration. |
/vehicle-configurations | – | Liefert die wählbaren Konfigurationen. |
/workshop-profile Alpha | Grenzt auf die passenden technischen Datensätze ein; nimmt auch den Suchschlüssel aus /vehicle-search an. | Daten dieser Konfiguration. Zusammen mit variant_key: HTTP 409 display_configuration_link_unverified. |
/vehicle-compare Alpha | Über variant_keys je HSN/TSN-Paar. | – |
/configurator/* Alpha | Wählt die Bildgruppe, wenn Karosserie und Bauzeitraum der Variante genau eine Bildgruppe treffen. | – |
Weitere Schlüssel
| Schlüssel | Herkunft | Verwendung |
|---|---|---|
execution_key | /generations?include=executions | Filter für /engines. Keine Fahrzeugadresse. |
vehicle_image_id | /configurator/availability, vehicle_image | Bildgruppe im Konfigurator. Keine Fahrzeugadresse. |
Suchschlüssel variant_key | /vehicle-search | Technischer Datensatz der Suche; für /workshop-profile und /vehicle-compare. Für /compatibility und /fitments den vehicle_variant_key desselben Treffers verwenden. |
wheel_id | /compatibility?include=wheel_overview | Eine physische Felgenvariante für /fitments?wheel_id=…. |
Liefert für ein Fahrzeug die freigegebenen Felgen mit Reifengrößen, Passungsstatus, Auflagen und Gutachten-Links, dazu Fahrzeugkontext, Varianten und Serienbereifung. Empfohlener Endpunkt für Shop-Integrationen.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn | String | ja | Herstellerschlüsselnummer |
tsn | String | ja | Typschlüsselnummer |
variant_key | String | nein | Variante (siehe Fahrzeugauswahl). Nicht zusammen mit configuration_id. |
configuration_id | String | nein | Genehmigungskonfiguration aus /vehicle-configurations. Nicht zusammen mit variant_key. |
wheel_codes | String/Liste | nein | Felgenmodelle, kommagetrennt oder wiederholt, höchstens 50, z. B. FF01,FF02. Begrenzt allowed_wheels, wheel_groups und rules. |
brand | String | nein | Felgenhersteller. Mit wheel_codes gilt die Schnittmenge; ein Hersteller ohne zugeordnete Felgenmodelle ergibt eine leere Auswahl. |
include | String | nein | Kommagetrennte Antwortbereiche: vehicle, allowed_wheels, wheel_overview, wheel_groups, rules, staggered, status_detail oder all. Standard: vehicle,allowed_wheels. |
compact | 0|1 | nein | Kurzform für das Profil: 1 = kompakt (Standard), 0 = vollständig. include hat Vorrang. |
Antwortprofile
Das Standardprofil kompakt enthält Fahrzeugkontext (vehicle, display_vehicle, variants, model_selection_available, selected_variant, variant_selection, tpms, oem_tires) und allowed_wheels mit den Auswahlfeldern selection_tires, selection_tire_sizes und best_fitment_status. Das Profil vollständig (include=all oder compact=0) liefert alle Antwortbereiche einschließlich wheel_groups, rules, staggered und der Statusdetails. meta.response_profile (slim, custom, all), meta.included, meta.omitted und meta.omitted_fields beschreiben die gelieferte Antwort.
Felgenübersicht: include=vehicle,wheel_overview liefert je physischer Felgenvariante Geometrie, wheel_id und den zusammengefassten Status ohne Reifen- und Auflagentexte. Die Details der gewählten Felge anschließend mit /fitments?hsn=…&tsn=…&wheel_id=… und derselben Fahrzeugauswahl abrufen. Für Reifenauswahl, Auflagen und Achspaare gelten die Details.
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
vehicle | Object | Fahrzeugdaten wie bei /vehicle |
vehicle_known, fitment_known | Boolean | Fahrzeug bekannt; Felgenfreigaben vorhanden |
match_scope | String | pair_exact (Freigaben für genau dieses HSN/TSN-Paar), pcd_bore_fallback (Zuordnung über Lochkreis und Mittenloch) oder no_fitment |
display_vehicle | Object | Anzeigeangaben: Marke, Modell, Ausstattungslinie, Baureihe, Bauzeit, Antrieb |
display_variants | Array | Anzeigevarianten im Kompatibilitätsformat. Für neue Auswahloberflächen nicht verwenden; stattdessen variants. |
variants | Array | Varianten des Fahrzeugs (siehe /vehicle) |
model_selection_available | Boolean | true bei mehr als einer Variante |
selected_variant, variant_selection | Object | Angewendete Auswahl (siehe Auswahlstatus) |
tpms | Object | Reifendruckkontrolle: type (active, passive, unknown), requires_sensor, label |
oem_tires | Object | Serienbereifung: front, rear, is_staggered; optional references und achsweise gekoppelte options. Enthalten sind nur gesicherte Seriengrößen: Größen aus der CoC-Reifenliste des Fahrzeugs oder Größen, die mindestens zwei unabhängige Quellen bestätigen. Liegt keine gesicherte Größe vor, bleiben front und rear leer. is_staggered ist nur true, wenn Mischbereifung für dieses Fahrzeug Serienstandard ist; optionale Mischbereifungs-Pakete erscheinen nicht als Serienbereifung. |
factory_wheels | Object|null | Serienfelgen als references; options hält Reifen und Felgen einer Serienkonfiguration zusammen |
vehicle_bore_mm, wheel_specs | Number|null, Object | Mittenlochdurchmesser (Nabenbohrung) des Fahrzeugs in mm; Lochkreis und Mittenloch des Fahrzeugs |
allowed_wheels[] | Array | Freigegebene Felgen je Felgencode, Größe, Lochkreis, Mittenloch und ET mit best_fitment_status, gutachten_url, selection_mode, selection_tire_sizes, selection_tires, is_recommended_et, et_rank sowie Zentrierung (centering_status, bore_compatible) |
allowed_wheels[].selection_tire_sizes | String[] | Wählbare Reifengrößen für diese Felge und ET |
allowed_wheels[].selection_tires[] | Array | Je Reifengröße und Achse: size, axle (both, front, rear), fitment_status, codes, requires_registration, requires_bodywork, condition_requirements, installation_requirements; mit status_detail zusätzlich status_options und status_conflict |
allowed_wheels[].selection_mode | String | single, mixed_optional, mixed_required oder restricted_pairs (nur Achspaare aus staggered.allowed_pairs) |
allowed_wheels[].centering_status | String | direct_nominal, centering_ring_required, wheel_bore_too_small oder unknown |
wheel_overview[] | Array | Nur mit include=wheel_overview: wheel_id, wheel_code, Größe, ET, Lochkreis, Mittenloch, best_fitment_status |
wheel_groups[] | Array | Felgen je Modell und Größe mit allen ET-Varianten in ets[] und recommended_et. Für Konfiguratoren wheel_groups[].ets[] verwenden. |
rules[] | Array | Alle Freigaben einschließlich Auflagencodes und Klartext |
status_summary | Object | Mit status_detail: Anzahl der Reifenoptionen je Status |
staggered | Object | Mischbereifung (siehe Mischbereifung) |
meta | Object | Zähler, Profilangaben und warnings |
Fehler
| HTTP | Code | Ursache |
|---|---|---|
| 400 | rest_invalid_param | Ungültiger Wert für variant_key, configuration_id, wheel_codes, include oder compact |
| 400 | variant_not_for_vehicle | variant_key gehört nicht zu diesem Fahrzeug |
| 400 | conflicting_vehicle_selections | variant_key und configuration_id gemeinsam gesendet |
| 400 | invalid_configuration_id, configuration_not_for_vehicle | Konfiguration ungültig oder gehört nicht zu diesem Fahrzeug |
| 404 | vehicle_not_found | HSN/TSN unbekannt |
| 409 | variant_facts_unavailable, configuration_evidence_required, fitment_evidence_required | Für die gewählte Auswahl oder das Fahrzeug liegen nicht genug Daten für eine Passungsaussage vor |
| 503 | fitment_data_invalid, fitment_data_unavailable | Passungsdaten vorübergehend nicht lesbar |
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/compatibility?hsn=0603&tsn=COB&wheel_codes=FF01"{
"vehicle": { "hsn": "0603", "tsn": "COB", "brand": "Volkswagen", "model": "Touareg", "years": "2018 - 2023" },
"variants": [ { "variant_key": "beispiel-variante-1", "headline": "Touareg 3.0 V6 TDI", "engine_line": "170 kW · Diesel · Allrad", "years": "2018 - 2023", "geometry": { "pcd": "5x112", "bore": 66.6 } } ],
"model_selection_available": false,
"selected_variant": null,
"variant_selection": { "status": "not_requested", "requested_key": null, "selection_required": false },
"tpms": { "type": "active", "requires_sensor": true, "label": "direktes System" },
"oem_tires": { "front": "235/55R18V", "rear": null, "is_staggered": false },
"allowed_wheels": [
{
"wheel_code": "FF01",
"pcd": "5x112",
"bore": "66.6",
"et": "35",
"width_inch": 8.5,
"diameter_inch": 19,
"is_recommended_et": true,
"et_rank": 1,
"selection_mode": "single",
"selection_tire_sizes": ["235/55R19", "255/50R19"],
"best_fitment_status": "eintragungsfrei",
"gutachten_url": "https://cdn.api4cars.com/gutachten/FF01/example.pdf",
"selection_tires": [
{ "size": "235/55R19", "axle": "both", "fitment_status": "eintragungsfrei" },
{ "size": "255/50R19", "axle": "both", "fitment_status": "eintragungsfrei" }
]
}
],
"meta": { "response_profile": "slim", "included": ["vehicle", "allowed_wheels"] }
}Liefert die einzelnen Felgenfreigaben eines Fahrzeugs je Gutachten mit allen Genehmigungswegen, Reifen und Auflagen. Geeignet, wenn Gruppierung und Darstellung selbst umgesetzt werden oder die Details einer Felge aus der Felgenübersicht benötigt werden.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn | String | ja | Herstellerschlüsselnummer |
tsn | String | ja | Typschlüsselnummer |
variant_key | String | nein | Variante. Nicht zusammen mit configuration_id. |
configuration_id | String | nein | Genehmigungskonfiguration. Nicht zusammen mit variant_key. |
wheel_code | String | nein | Felgenmodell, z. B. FF01; kommagetrennt bis zu 50 Codes |
wheel_id | String | nein | Physische Felgenvariante aus wheel_overview (wheel_ + 64 Hexadezimalzeichen). Alle Genehmigungswege dieser Felge sind enthalten; ohne Treffer ist die Liste leer. |
et | String | nein | Einpresstiefe |
pcd | String | nein | Lochkreis, z. B. 5x112 |
tire_size | String | nein | Reifengröße, z. B. 235/55R19 |
min_confidence | Integer | nein | Mindestwert für confidence (Standard 0). Zuordnungen tragen 1; 0 und 1 liefern dieselbe Menge. Kein Filter für den Passungsstatus. |
compact | 0|1 | nein | 1 fasst wiederholte Auflagentexte in dictionaries.obligations zusammen und ermöglicht Paginierung |
page | Integer | nein | Nur mit compact=1: Seite, ab 1 |
per_page | Integer | nein | Nur mit compact=1: Felgenserien je Seite, 1–100 (Standard 20) |
data_version | String | nein | Für Folgeseiten: meta.dataset_generation der ersten Seite |
limit und include gibt es bei /fitments nicht; sie werden mit HTTP 400 rest_unknown_param abgelehnt.
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
hsn, tsn, count | String, Integer | Fahrzeug und Anzahl der Freigaben |
variants, selected_variant, variant_selection | Array, Object | Varianten und angewendete Auswahl |
fitments[].wheel_code, et, pcd, bore, width_inch, diameter_inch | String, Number | Felgengeometrie |
fitments[].best_fitment_status | String | Status dieses Genehmigungswegs (siehe Passungsstatus) |
fitments[].tires[] | Array | Reifen dieses Wegs mit size, axle, status, codes, condition_requirements, installation_requirements, fastener_codes, fastener_resolution und optional tire_spec |
fitments[].approved_tires | Array | Reifengrößen mit positivem Status |
fitments[].auflagen | Object | Auflagentext je Code, z. B. F24; mit compact=1 ersetzt durch obligation_refs |
fitments[].configuration_selection | Object | recommended: true, wenn Reifenzeilen dieser Felge von Variante oder Konfiguration abhängen und ohne Auswahl unknown bleiben; unresolved_configuration_dependent_tires zählt sie. Ist der Weg ohne Auswahl nicht positiv, für einzelne Varianten aber schon, folgen variant_dependent: true und fits_variants[] (variant_key, label). |
fitments[].vehicle_bore_mm, wheel_bore_mm, centering_status, requires_centering_ring | Number, String, Boolean | Zentrierung von Felge und Nabe |
fitments[].gutachten_url, source_gutachten | String|null | Link zum Gutachten-PDF und sein Dateipfad |
meta.total_groups, meta.total_pages, meta.dataset_generation | Integer | Mit compact=1: Umfang der Paginierung und Datenstand |
tire_spec enthält die Reifenkennzeichnung der Gutachtenzeile: width_mm, aspect_ratio, rim_inch sowie, falls angegeben, load_index (String, auch Doppelangaben wie 100/98), speed_symbol und tire_description.
Fehler
| HTTP | Code | Ursache |
|---|---|---|
| 400 | rest_invalid_param | Ungültiger Parameterwert; page/per_page ohne compact=1 |
| 400 | rest_unknown_param | limit oder include gesendet |
| 400 | variant_not_for_vehicle, conflicting_vehicle_selections, invalid_configuration_id, configuration_not_for_vehicle | Siehe Fahrzeugauswahl |
| 404 | vehicle_not_found | HSN/TSN unbekannt |
| 409 | fitment_dataset_changed | Datenstand seit der ersten Seite geändert; Paginierung ab Seite 1 neu beginnen |
| 409 | variant_facts_unavailable, configuration_evidence_required, fitment_evidence_required | Nicht genug Daten für eine Passungsaussage zur gewählten Auswahl oder zum Fahrzeug |
| 503 | fitment_data_invalid, fitment_data_unavailable | Passungsdaten vorübergehend nicht lesbar |
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/fitments?hsn=1313&tsn=ABK&wheel_code=AF18"{
"hsn": "1313",
"tsn": "ABK",
"count": 1,
"variant_selection": { "status": "not_requested", "requested_key": null, "selection_required": false },
"fitments": [
{
"wheel_code": "AF18",
"et": "21",
"pcd": "5x112",
"bore": "66.6",
"width_inch": 10,
"diameter_inch": 22,
"best_fitment_status": "eintragungsfrei",
"approved_tires": ["255/40R22"],
"tires": [ { "size": "255/40R22", "axle": "both", "status": "eintragungsfrei", "codes": ["F24", "S01"], "fastener_codes": ["S01"], "fastener_resolution": "exact" } ],
"auflagen": { "F24": "Radschrauben M14x1,5x38 verwenden. Anzugsdrehmoment 120 Nm." },
"configuration_selection": { "recommended": false, "unresolved_configuration_dependent_tires": 0 },
"gutachten_url": "https://cdn.api4cars.com/gutachten/AF18/example.pdf"
}
]
}Liefert den fahrzeugunabhängigen Gutachten-Katalog, gruppiert nach Felgencode. Ohne Filter liefert der Endpunkt den vollständigen Katalog.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
wheel_code / wheel_codes | String/Liste | nein | Felgencodes, kommagetrennt oder wiederholt, höchstens 50 |
brand | String | nein | Felgenhersteller; ein Hersteller ohne zugeordnete Felgencodes ergibt eine leere Auswahl |
include | String | nein | fasteners (Standard), obligations (zusätzlich die Auflagenlegende je Dokument) oder all |
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
models.{wheel_code}[] | Array | Je Gutachten: source_gutachten, gutachten_url, pcd, bore, et, width_inch, diameter_inch, approval, fasteners, fastener_status |
model_statuses.{wheel_code} | Object | model_status, is_legacy, is_discontinued |
fasteners | Object | Befestigungsalternativen des Dokuments je S-Code; type ist serienschraube, schraube, serienmutter oder mutter |
fastener_status | String | parsed_complete, parsed_partial, parse_error oder not_documented; bei Teilangaben nennen row_status und missing_fields die fehlenden Werte |
total_pdfs | Integer | Anzahl der Dokumente |
Für ein konkretes Fahrzeug gelten ausschließlich die S-Codes der passenden Reifenzeile aus /fitments bzw. /compatibility. Bleiben mehrere reifengrößenabhängige Alternativen, ist fastener_resolution=ambiguous, bis die Reifengröße gewählt ist. Bei gewöhnlichen Muttern kennzeichnet shaft_length_status=not_applicable einen im Dokument ausdrücklich gesetzten Strich in der Schaftlängenspalte.
Fehler
HTTP 400 rest_invalid_param bei ungültigen Felgencodes oder include-Werten.
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/gutachten?wheel_codes=DM08"
{
"models": {
"DM08": [ { "source_gutachten": "DM08/DM08 8,5x19 5x112 ET35.pdf", "gutachten_url": "https://cdn.api4cars.com/gutachten/DM08/example.pdf", "pcd": "5x112", "bore": "66,6", "et": "35", "width_inch": 8.5, "diameter_inch": 19, "fastener_status": "parsed_complete" } ]
},
"model_statuses": { "DM08": { "model_status": "active", "is_legacy": false, "is_discontinued": false } },
"total_pdfs": 1
}Passungsstatus
| Wert | Bedeutung |
|---|---|
eintragungsfrei | Die Freigabe deckt die Kombination ohne Eintragung ab. Mitgelieferte Auflagen und Hinweise gelten. |
mit_eintragung | Eintragung durch eine Prüforganisation (z. B. TÜV) oder Arbeiten am Fahrzeug erforderlich. |
nicht_passend | Die Kombination ist für dieses Fahrzeug ausgeschlossen: Ein Fahrzeugmerkmal, die Geometrie oder die Gutachtenzeile schließt sie aus. Nicht auswählbar anzeigen. Eine Felge ohne Freigabe erscheint dagegen gar nicht. |
unknown | Die Voraussetzungen lassen sich mit den vorhandenen Fahrzeugdaten nicht entscheiden; manuelle Prüfung erforderlich. condition_requirements[].missing_fields nennt die fehlenden Angaben. |
best_fitment_status in allowed_wheels, wheel_groups[].ets[] und wheel_overview fasst alle zutreffenden Gutachten derselben Felge (Größe, Lochkreis, Mittenloch, ET) zusammen; ebenso selection_tires[].fitment_status je Reifengröße und Achse. Es gilt der strengste Wert: nicht_passend vor mit_eintragung vor unknown vor eintragungsfrei. Innerhalb eines Gutachtens sind mehrere Zeilen für dieselbe Reifengröße alternative Genehmigungswege; dort zählt der beste belegte Weg. status_options nennt alle vorkommenden Werte, status_conflict=true zeigt abweichende Gutachten an. Positive Statuswerte gelten unter den mitgelieferten Auflagen; verification_status kennzeichnet sie mit equipment_conditions_apply bzw. installation_conditions_apply.
Auflagen und Hinweise
Jede Reifenoption trägt die Auflagen ihres Gutachtens. Die Auflagen bei der Auswahl anzeigen und vor der Montage erfüllen.
| Feld | Bedeutung |
|---|---|
codes | Auflagencodes des Gutachtens, z. B. F24; Klartext in auflagen bzw. rules |
installation_requirements[].kind | registration: Abnahme erforderlich. paperwork: Berichtigung der Fahrzeugpapiere mit den genannten Ausnahmen; allein keine Abnahmepflicht. installation: Montage- oder Nutzungshinweis. modification: Arbeiten am Fahrzeug erforderlich. speedometer: Tachonachweis; liegt der Abrollumfang außerhalb der Toleranz aller Serienreifengrößen, ist der Status mit_eintragung, sonst bleibt es ein Hinweis (condition_evaluation.requirement_evidence nennt das Ergebnis). vehicle_condition: Achslastgrenzen einschließlich Hinweis zum Anhängerbetrieb. |
condition_requirements[] | Originaltext und Zustand jeder Fahrzeugbedingung. kind=equipment_condition mit state=not_verified bedeutet „passt, sofern das Fahrzeug diese Ausstattung hat“ (z. B. Bremsscheibendurchmesser). missing_fields nennt fehlende Fahrzeugangaben wie is_plugin_hybrid, is_five_door_hatchback oder national_axle_loads; das sind Antwortfelder, keine Eingabeparameter. |
row_hints[] | Hinweise der Gutachtenzeile, die am Fahrzeug zu prüfen sind (z. B. Modell oder Ausführung, Genehmigungsnachtrag), mit condition_type, values und text. Der Status bleibt positiv. |
condition_evaluation | blocking_codes: belegte Ausschlüsse. unresolved_codes: offene Prüfungen. pending_codes: Ausstattungsbedingungen, die bei positivem Status am Fahrzeug zu prüfen sind. |
Ausstattung, die nur am einzelnen Fahrzeug prüfbar ist, ergibt „passt“ mit Hinweis. Achslastgrenzen prüft die API je Achse über alle betroffenen Konfigurationen. Plug-in- und Mildhybrid-Bedingungen wertet die API anhand der spezifischen Antriebsangaben aus. Eine Bestätigung durch den Kunden wird nicht abgefragt.
Mischbereifung (staggered)
staggered ist kein eigener REST-Endpunkt, sondern ein Antwortbereich von GET /compatibility, abrufbar mit include=staggered oder include=all. Bei Mischbereifung Vorder- und Hinterachse nicht aus flachen Reifenlisten kombinieren: Ist staggered.allowed_pairs gefüllt, sind nur diese Paare zulässig. source_code nennt den Gutachten-Code, z. B. V19.
| Feld | Typ | Beschreibung |
|---|---|---|
staggered_oe | Boolean | Serienbereifung mit unterschiedlichen Größen vorne und hinten |
oe_front_tire, oe_rear_tire | String|null | Serienreifen vorne und hinten |
front_allowed_tires, rear_allowed_tires, both_axle_tires | String[] | Freigegebene Größen je Achse bzw. für beide Achsen |
allowed_pairs[] | Array | Zulässige Achspaare {front, rear, source_code}, z. B. aus V18–V22 |
gutachten_coverage | String | not_applicable, restricted_pairs, full, partial, unknown oder none; gutachten_coverage_detail beschreibt den Wert |
{
"staggered": {
"gutachten_coverage": "restricted_pairs",
"allowed_pairs": [
{ "front": "225/35R19", "rear": "255/30R19", "source_code": "V19" },
{ "front": "235/35R19", "rear": "255/30R19", "source_code": "V19" }
]
}
}Einen Achsreifen-Konfigurator gegen allowed_pairs prüfen. Für die normale Reifenauswahl selection_tires bzw. selection_tire_sizes der gewählten Felge verwenden.
Liefert die Fahrzeugdaten zu einem HSN/TSN-Paar: Anzeige, Varianten, Radanschluss, Serienbereifung, Reifendruckkontrolle und technische Datenblätter.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn | String | ja | Herstellerschlüsselnummer |
tsn | String | ja | Typschlüsselnummer |
variant_key | String | nein | Variante: Anzeige, Bauzeit, Serienbereifung, Radgeometrie und zuordenbare Datenblätter dieser Variante |
configuration_id | String | nein | Ergänzt das Objekt configuration mit den Daten dieser Konfiguration |
include | String | nein | Alpha optional market,safety,environment: kompakte Markt-, Rückruf- und Umweltangaben. safety liefert Modell-Rückrufe mit hsn_tsn_exact=false und nennt fehlende Treffer über reason (z. B. no_validated_model_recall_match). environment liefert nur exakt auf HSN/TSN bezogene Werte; Aggregate werden nicht auf Einzeltypen verteilt und mit scope=no_safe_hsn_tsn_projection und reason (no_exact_hsn_tsn_environment_fact oder aggregate_environment_fact_not_projectable_to_hsn_tsn) erklärt. |
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
hsn, tsn, brand, model, years | String | Fahrzeug und Bauzeit; mit Variante deren Bauzeit |
kba_identity_only | Boolean | true, wenn die Fahrzeugidentität bestätigt ist, technische Daten, Radgeometrie und Freigaben aber noch fehlen |
display_vehicle | Object|null | Anzeigeangaben: Ausstattungslinie, Baureihe, Bauzeit, Antrieb, Getriebe |
display_variants | Array | Anzeigevarianten im Kompatibilitätsformat. Für neue Auswahloberflächen nicht verwenden; stattdessen variants. |
variants[] | Array | Varianten mit variant_key, headline, engine_line, years, series_code, series_start_year, optional production_start_year, kw, ps, displacement_ccm, fuel, optional hybrid_type, drivetrain, body_type, oe_tires, optional staggered_standard, trade_identity und technical_data. oe_tires enthält nur gesicherte Seriengrößen (CoC-Reifenliste der Variante oder Bestätigung durch mindestens zwei unabhängige Quellen) und kann leer sein. staggered_standard (Boolean) ist true, wenn alle zugelassenen Serienkombinationen der Variante unterschiedliche Größen vorne und hinten haben; dann enthält oe_tires nur Mischbereifungs-Paare, sonst nur Paare mit gleicher Größe auf beiden Achsen. |
variants[].geometry | Object | Radgeometrie der Variante: pcd (Lochkreis) und bore (Mittenloch in mm), jeweils null, wenn für die Variante nicht belegt. Varianten mit unterschiedlicher Radgeometrie werden immer getrennt geführt. |
model_selection_available | Boolean | true bei mehr als einer Variante |
selected_variant, variant_selection | Object | Angewendete Auswahl (siehe Auswahlstatus) |
wheels | Object | Radanschluss: pcd, bore, fastening, thread, torque |
wheels.pcd_status, wheels.bore_status | String | verified, unverified oder missing. Sicherheitsrelevante Entscheidungen nur auf verified stützen. |
wheels.mounting | Object | Serienrad-Befestigung: seat (ball, cone, flat), Radius oder Winkel, shaft_length_mm; nicht belegte Werte null |
tpms, oem_tires | Object | Reifendruckkontrolle und Serienbereifung |
vehicle_data | Array|null | Technische Datenblätter, immer als Liste. Messwerte tragen ihre Bezugsgröße im Namen, z. B. CO2-Ausstoß (NEFZ); NEFZ, WLTP und WLTP bei leerer Plug-in-Batterie sind getrennte Werte. 0 g/km ist ein Messwert. |
configuration | Object | Nur mit configuration_id: Konfiguration wie in /vehicle-configurations |
vehicle_image | Object | Alpha Bildverfügbarkeit und neutrales Vorschaubild (320 px), sofern ein freigegebenes Bildset existiert; bei mehreren Bildgruppen ambiguous=true mit matches |
series_start_year bezeichnet den Beginn der Baureihe, production_start_year den Beginn der konkreten Motorisierung. hybrid_type=mild_hybrid ergänzt die Antriebsangabe und kann zusammen mit fuel=diesel auftreten.
Fehler
| HTTP | Code | Ursache |
|---|---|---|
| 400 | rest_invalid_param | Ungültiges Format von variant_key, configuration_id oder include |
| 400 | invalid_configuration_id, configuration_not_for_vehicle | Konfiguration ungültig oder gehört nicht zu diesem Fahrzeug |
| 400 | rest_unknown_param | Unbekannter Parameter zusammen mit include=market|safety|environment |
| 404 | – | HSN/TSN unbekannt; Antwort {"error": "Vehicle not found", "hsn", "tsn"} (mit configuration_id: vehicle_not_found) |
Ein unbekannter variant_key ist kein Fehler: Die Antwort ist HTTP 200 mit variant_selection.status=not_found und selected_variant=null.
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/vehicle?hsn=0603&tsn=COB"{
"hsn": "0603",
"tsn": "COB",
"brand": "Volkswagen",
"model": "Touareg",
"years": "2018 - 2023",
"kba_identity_only": false,
"display_vehicle": { "brand": "Volkswagen", "model": "Touareg", "trim": "3.0 V6 TDI", "series_code": "CR", "years": "2018 - 2023", "drivetrain": "Allradantrieb" },
"variants": [
{ "variant_key": "beispiel-variante-1", "headline": "Touareg 3.0 V6 TDI", "engine_line": "170 kW · Diesel · Allrad", "years": "2018 - 2023", "kw": 170, "fuel": "Diesel", "geometry": { "pcd": "5x112", "bore": 66.6 } }
],
"model_selection_available": false,
"selected_variant": null,
"variant_selection": { "status": "not_requested", "requested_key": null, "selection_required": false },
"wheels": { "pcd": "5x112", "pcd_status": "verified", "bore": "66.6", "bore_status": "verified", "fastening": "Schraube", "thread": "M14x1,5", "torque": "180 Nm" },
"tpms": { "type": "active", "requires_sensor": true, "label": "direktes System" },
"oem_tires": { "front": "235/55R18V", "rear": null, "is_staggered": false },
"vehicle_data": [ { "Leistung": "170 kW / 231 PS", "Kraftstoff": "Diesel" } ]
}Listet die Genehmigungskonfigurationen eines Fahrzeugs. Eine configuration_id daraus grenzt /compatibility, /fitments, /vehicle und /workshop-profile auf genau diese Konfiguration ein.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn | String (4 Ziffern) | ja | Herstellerschlüsselnummer |
tsn | String (3 Zeichen) | ja | Typschlüsselnummer |
page | Integer | nein | Seite, ab 1 (Standard 1) |
per_page | Integer | nein | Einträge je Seite, höchstens 100 (Standard 50) |
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
configurations[].configuration_id | String | Schlüssel der Konfiguration |
configurations[].type_approval, approval_base, approval_extension | String | Vollständige Typgenehmigung, ihre Basis und der Nachtrag |
configurations[].type, variant, version | String | Typ, Variante und Version laut Genehmigung |
configurations[].variant_key | String|null | Zugeordnete Fahrzeugvariante; null, wenn die Konfiguration keiner einzelnen Variante zugeordnet ist |
configurations[].technical_observations[] | Array | Technische Werte der Konfiguration (z. B. Hubraum, Leistung, Massen, Achslasten) mit field, value, unit und Messbezug. Eine nicht angegebene Einheit ist null mit unit_status: not_documented. |
configurations[].approval_observations[], approval_validity | Array, String | Rücknahmeeinträge zur Genehmigung mit reported_start, reported_end (ohne Zeitzone; fehlendes Ende null) und record_position (Kennung, keine Reihenfolge). Liegen Einträge vor, ist approval_validity=not_determined. |
configurations[].registration_observations[] | Array | Jährliche Zulassungsstatistik (siehe unten) |
meta.page, per_page, total | Integer | Paginierung |
meta.status | String | verified_identity_links oder, bei leerer Liste, configuration_links_not_verified |
meta.selection_required | Boolean | true bei mehr als einer Konfiguration |
Zulassungsstatistik: registration_observations[].context nennt Jahr, Land und mit provisional den vorläufigen Stand. Jede Gruppe enthält in combinations gemeinsam beobachtete Messwertkombinationen; Werte verschiedener Kombinationen nicht zu einer neuen Kombination zusammensetzen. rows zählt die Datensätze, represented_registrations summiert deren bekannte Zulassungen, unknown_registration_count_rows zählt Datensätze ohne Anzahl. earliest_registration_date und latest_registration_date begrenzen die bekannten Zulassungsdaten (null, wenn keine bekannt sind); unknown_registration_date_rows zählt fehlende Daten. Eine leere Kombination kennzeichnet Datensätze ohne Messwerte. observation_id und combination_id kennzeichnen Statistikeinträge und sind keine configuration_id. Die Statistik beschreibt Zulassungen, nicht ein einzelnes Fahrzeug.
Fehler
| HTTP | Code | Ursache |
|---|---|---|
| 400 | invalid_vehicle_key | HSN oder TSN im falschen Format |
| 400 | rest_invalid_param | page oder per_page ungültig |
| 404 | vehicle_not_found | HSN/TSN unbekannt |
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/vehicle-configurations?hsn=0603&tsn=COB&per_page=10"
{
"hsn": "0603",
"tsn": "COB",
"configurations": [
{ "configuration_id": "cfg_9b2e…d41a", "type_approval": "e1*2007/46*1234*05", "approval_base": "e1*2007/46*1234", "approval_extension": "05", "type": "CR", "variant": "CRCCMA", "version": "FD6FD6E1", "variant_key": "beispiel-variante-1" }
],
"meta": { "page": 1, "per_page": 10, "total": 1, "status": "verified_identity_links", "selection_required": false }
}Liefert die Versicherungs-Typklassen (Haftpflicht, Teilkasko, Vollkasko) mit Jahreswerten, für ein HSN/TSN-Paar oder für alle Fahrzeuge einer Marke bzw. eines Modells.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn, tsn | String | bedingt | Ein Fahrzeug; immer beide zusammen senden |
brand, model | String | bedingt | Suche nach Marke und/oder Modell (Teiltreffer im Modellnamen), wenn kein HSN/TSN gesendet wird |
page | Integer | nein | Nur Marken-/Modellsuche: Seite, 1–1000000 |
per_page | Integer | nein | Nur Marken-/Modellsuche: 1–100 (Standard 50) |
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
insurance.kh, tk, vk | String|Integer | Aktuelle Typklassen Haftpflicht, Teilkasko, Vollkasko |
insurance.typklassen_history | Object | Typklasse je Sparte und Jahr |
results[] | Array | Marken-/Modellsuche: {hsn, tsn, insurance} je Fahrzeug, sortiert nach HSN/TSN |
meta | Object | Mit page oder per_page: page, per_page, total, total_pages. Ohne diese Parameter enthält results alle Treffer. |
Fehler
| HTTP | Code | Ursache |
|---|---|---|
| 400 | invalid_vehicle_key | Unvollständiges oder ungültiges HSN/TSN-Paar |
| 400 | invalid_pagination, invalid_insurance_query | Ungültige Seitenangaben oder Parametertypen |
| 400 | – | Weder HSN/TSN noch Marke/Modell; Antwort {"error": "Provide hsn/tsn OR brand/model"} |
| 404 | – | HSN/TSN unbekannt; Antwort {"error": "Vehicle not found", "hsn", "tsn"} |
| 500 | insurance_query_failed | Daten vorübergehend nicht lesbar |
Beispiel
curl -H "X-API-Key: carapi_live_xxxx" -H "X-API-Secret: IHR_SECRET" \
"https://api4cars.com/wp-json/carapi/v1/insurance?hsn=0603&tsn=COB"
{
"hsn": "0603",
"tsn": "COB",
"insurance": {
"kh": "19",
"tk": "18",
"vk": "17",
"typklassen_history": {
"Haftpflicht": { "2025": 19, "2026": 19 },
"Teilkasko": { "2025": 18, "2026": 18 },
"Vollkasko": { "2025": 18, "2026": 17 }
}
}
}Markenübergreifende Suche und technische Daten auf Ebene technischer Datensätze. Jeder Treffer nennt seinen Suchschlüssel variant_key und, falls zugeordnet, die Fahrzeugvariante vehicle_variant_key (sonst null). Für /compatibility und /fitments den vehicle_variant_key verwenden. Gemeinsamer Fehler: HTTP 503 vehicle_discovery_dataset_not_ready, wenn der Suchindex nicht verfügbar ist; HTTP 400 rest_invalid_param bei ungültigen Filterwerten.
/vehicle-search
Sucht Fahrzeugvarianten nach technischen Merkmalen.
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
q, brand, model | String | nein | Freitext, Marke, Modell |
body_type, fuel, transmission, drive_type | String/Liste | nein | Karosserie, Kraftstoff, Getriebe, Antrieb; kommagetrennt |
doors, seats | Integer | nein | Türen, Sitzplätze |
min_/max_length_mm, min_/max_width_mm, min_/max_height_mm | Integer | nein | Maße in mm |
min_power_kw, max_power_kw | Integer | nein | Leistung in kW |
production_year, production_start, production_end | Integer | nein | Bauzeit |
min_/max_braked_kg, min_/max_nose_weight_kg | Integer | nein | Anhängelast gebremst, Stützlast |
include | String | nein | facets: Trefferzahlen je Hersteller, Karosserie, Kraftstoff, Getriebe, Antrieb |
page, per_page | Integer | nein | Seite (ab 1), Treffer je Seite (Standard 25) |
Produktionszeiträume beschreiben die dokumentierte Bauzeit. Sie sind keine Zusage, dass ein Modell aktuell in Deutschland bestellbar ist. production.end_status: documented (belegtes Ende; der Jahresfilter prüft das Intervall), ongoing (laufende Produktion; der Jahresfilter gilt ab dem Startjahr) oder unknown (der Jahresfilter bestätigt nur das Startjahr).
GET /vehicle-search?body_type=suv&fuel=hybrid,electric&transmission=automatic&seats=5&max_length_mm=4700&include=facets/engine-search und /engine-applications
/engine-search durchsucht Motorcodes (q, brand, fuel, page, per_page). /engine-applications liefert zu einem exakten Code (code, Pflicht) die Fahrzeugvarianten und HSN/TSN-Paare.
GET /engine-search?q=M271
GET /engine-applications?code=M271.820/vehicle-compare
Vergleicht zwei bis fünf HSN/TSN-Paare. vehicles (Pflicht) ist eine kommagetrennte Liste HSN/TSN. variant_keys (optional) ist ein URL-kodiertes JSON-Objekt, das einzelnen Paaren einen Suchschlüssel oder vehicle_variant_key zuordnet. Mehrere Datensätze einer Variante bleiben getrennt. Marke und Modell stehen an jeder Variante; auf Ebene des HSN/TSN-Paars sind sie null, wenn sich die Varianten darin unterscheiden. Fehler: HTTP 400 variant_not_for_vehicle, wenn ein Schlüssel nicht zum Paar gehört.
GET /vehicle-compare?vehicles=0588/AXM,1313/ABK&variant_keys=%7B%220588%2FAXM%22%3A%22beispiel-variante-1%22%7D/workshop-profile
Liefert Füllmengen, Achslasten und Radbefestigung. Parameter: hsn, tsn (Pflicht), variant_key (Suchschlüssel oder Fahrzeugvariante) oder configuration_id. Unterschiedliche technische Angaben bleiben als getrennte profiles[] erhalten. Nicht dokumentierte Werte bleiben null, ebenso Wertebereiche und widersprüchliche Angaben. Vor Wartungsarbeiten die Herstellerunterlagen heranziehen. Fehler: HTTP 404 vehicle_not_found bei unbekanntem Fahrzeug, HTTP 404 {"error": "Vehicle or variant not found"} bei unbekannter Variante; HTTP 409 display_configuration_link_unverified bei variant_key zusammen mit configuration_id; HTTP 409 configuration_evidence_required, wenn für die Auswahl keine technischen Daten vorliegen.
GET /workshop-profile?hsn=1313&tsn=ABK/towing-search
Findet Varianten nach Anhängelast. min_braked_kg ist Pflicht; alle Filter von /vehicle-search außer include sind zusätzlich möglich. Maßgeblich bleibt die Zulassungsbescheinigung.
GET /towing-search?min_braked_kg=1800&seats=5Felgenkatalog mit technischen Varianten, Gutachten und freigestellten Produktbildern. Die Passung für ein Fahrzeug liefern /compatibility und /fitments.
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
brand, q | String | nein | Felgenhersteller, Suchtext |
status | String | nein | Modellstatus, z. B. active |
with_images | Boolean | nein | Bildangaben je Felge ergänzen |
page, per_page | Integer | nein | Seite (ab 1), Einträge je Seite (1–100, Standard 50) |
GET /wheels liefert {total, page, per_page, wheels: [{wheel_code, brand, model_name, design, classification, status, counts, preview}]}. GET /wheels/{wheel_code} liefert Details mit classification, Varianten, Gutachten, colors, showcase und images; für Bildintegrationen colors[].views verwenden. Die Antwort enthält ausschließlich die dokumentierten Kundenfelder. Ein fehlendes Bild sagt nichts über die Passung aus. Fehler: HTTP 404 carapi_wheel_not_found bei unbekanntem Felgencode.
GET /wheels?brand=…&status=active&with_images=1
GET /wheels/FF01Klassifizierung
Jeder Listeneintrag, die Detailantwort sowie jeder Eintrag in colors[] und variants[] enthält das Objekt classification mit Oberfläche, Speichenform und Wintereignung. Die Werte sind Katalogangaben aus beobachteten Produktausführungen (basis=catalog_reference, scope=observed_samples) und dienen der Anzeige und Filterung. Sie sind keine technische Freigabe und beeinflussen weder Passung noch Fitment-Status; maßgeblich für ein Fahrzeug sind /compatibility und /fitments.
| Feld | Typ | Beschreibung |
|---|---|---|
classification.status | String | available: mindestens ein Merkmal ist angegeben; unknown: keine Angabe für diese Felge bzw. Farbe |
classification.observed_sizes_inch | Integer[] | Zollgrößen, in denen die Angaben beobachtet wurden; leer bei unknown |
classification.finish | Object | Oberfläche: glossy (glänzend) oder matte (matt) |
classification.spoke_style | Object | Speichenform: five_spoke, y_spoke, v_spoke, double_spoke, cross_spoke oder multi_spoke (Viel- bzw. Mehrspeiche) |
classification.winter_suitable | Object | Wintereignung laut Katalogangabe: true (wintergeeignet) oder false (ausdrücklich nicht wintergeeignet) |
{merkmal}.status | String | Je Merkmal (finish, spoke_style, winter_suitable): known (genau ein Wert), mixed (unterschiedliche Werte über Farben oder Größen) oder unknown (keine Angabe) |
{merkmal}.value | String|Boolean|null | Der Wert bei known, sonst null |
{merkmal}.values | Array | Alle angegebenen Werte: einer bei known, mehrere bei mixed, leer bei unknown |
Die Angabe auf Modellebene fasst alle beobachteten Farben und Größen zusammen. colors[].classification und variants[].classification gelten für die jeweilige Farbe; eine Farbe ohne eigene Angabe liefert status=unknown und übernimmt keine Werte des Modells. winter_suitable.value=false ist eine ausdrückliche Negativangabe, eine fehlende Angabe ist null mit status=unknown. Für den Wintereinsatz am Fahrzeug gelten die Herstellerangaben und die Fahrzeugpapiere.
"classification": {
"basis": "catalog_reference",
"scope": "observed_samples",
"status": "available",
"observed_sizes_inch": [18, 19],
"finish": { "status": "mixed", "value": null, "values": ["glossy", "matte"] },
"spoke_style": { "status": "known", "value": "multi_spoke", "values": ["multi_spoke"] },
"winter_suitable": { "status": "known", "value": false, "values": [false] }
}Kostenpflichtiges Zusatzmodul für fahrzeug- und felgenspezifische Konfiguratorbilder. Es erfordert zusätzlich zur API-Berechtigung die Freischaltung configurator_images. Der Endpunkt ordnet HSN/TSN einer Bildgruppe zu und gibt nur Felgen aus, die für das HSN/TSN-Paar freigegeben sind. Antworten sind fünf Minuten gültig.
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hsn, tsn | String | bedingt | Fahrzeug; alternativ vehicle_image_id |
vehicle_image_id | String | bedingt | Bildgruppe; wählt bei mehreren Treffern eine Gruppe |
variant_key | String | nein | Wählt die Bildgruppe, wenn Karosserie und gesamter Bauzeitraum der Variante genau eine Bildgruppe treffen |
wheel, paint, finish | String | ja* | *Nur images und layers: Felgencode, Lack, Felgenfinish |
size | Integer | nein | Felgengröße in Zoll |
/configurator/availability liefert verfügbare Felgen, Lacke, Finishes, Ansichten und Größen. Trifft das Fahrzeug mehrere Bildgruppen, antwortet der Endpunkt mit HTTP 200, ambiguous=true und den wählbaren vehicle_image_id-Werten in matches; /configurator/images und /configurator/layers antworten dann mit HTTP 409 configurator_vehicle_ambiguous.
GET /configurator/images?hsn=0603&tsn=ABC&wheel=FF01&paint=pure_white&finish=anthrazit
GET /configurator/layers?hsn=0603&tsn=ABC&wheel=FF01&paint=pure_white&finish=anthrazit&size=19/configurator/layers liefert je Ansicht eine verlustfreie WebP-Basis mit positionierten Rad- und Lack-Ebenen in large (1400 px Breite) und medium (800 px). Der Client zeichnet base → wheel → paint; Basis und Lack-Ebenen gelten für alle Felgen desselben Fahrzeugs. Die Antworten enthalten die Ansichten front_three_quarter, rear_three_quarter, side und wheel_focus. delivery gibt das Format an: full_images (Vollbilder full in nativer Auflösung und small mit 800 px) oder edge_render (kurzzeitig signierte URLs large mit 1400 px und medium mit 800 px).
{
"vehicle": { "vehicle_image_id": "vw-golf-viii", "label": "VW Golf VIII" },
"delivery": "full_images",
"selection": { "wheel": "FF01", "paint": "pure_white", "finish": "anthrazit" },
"revision": "a1b2c3d4e5f6a7b8",
"views": {
"front_three_quarter": {
"full": { "url": "https://cdn.api4cars.com/.../front_three_quarter-full.webp", "format": "webp", "width": 2747, "height": 1531 },
"small": { "url": "https://cdn.api4cars.com/.../front_three_quarter-small.webp", "format": "webp", "width": 800, "height": 446 }
}
}
}| HTTP | Code | Ursache |
|---|---|---|
| 400 | rest_missing_vehicle, rest_missing_selection | Fahrzeug oder wheel/paint/finish fehlt |
| 403 | feature_not_enabled | Zusatzmodul nicht freigeschaltet |
| 404 | configurator_not_found, wheel_not_approved_for_vehicle, configurator_wheel_not_published, configurator_size_not_found, configurator_selection_not_found | Kein Bildset, Felge nicht freigegeben oder Kombination nicht veröffentlicht |
| 409 | configurator_vehicle_ambiguous | Mehrere Bildgruppen; vehicle_image_id senden |
| 409 | configurator_layers_unavailable | Bildset ohne Ebenen; /configurator/images verwenden |
Amtlich gestützte Pkw-Markt-, Regional-, Umwelt-, Sicherheits- und Infrastrukturdaten für Deutschland. Die Antworten sind je nach Endpunkt 1 bis 24 Stunden gültig, paginiert und nennen meta.included, meta.omitted, Evidenzkategorie, Geltungsbereich und Qualitätsstatus. Unbekannte Parameter werden mit HTTP 400 rest_unknown_param abgelehnt.
| Endpunkt | Zweck | Wichtige Parameter |
|---|---|---|
/intelligence/vehicle | HSN/TSN-Historie und zugeordnete Bereiche | hsn, tsn (Pflicht), include, from, to, region |
/intelligence/market | Bestand, Marktbewegungen, Umwelt-, Sicherheits- und Verkehrsaggregate | metric, brand, model_series, segment, fuel, from, to und weitere Filter |
/intelligence/regions | Pkw-Zeitreihen nach Bundesland, Zulassungsbezirk oder veröffentlichter Gebietsebene | ags, nuts, metric, Filter wie bei market |
/intelligence/recalls | Rückrufe mit geprüfter Marken-/Modellzuordnung | hsn+tsn, brand, model, status, from, to |
/intelligence/charging | Ladeinfrastruktur | profile=statistics oder sites, region, metric; Orts-/Radiusfilter nur mit sites |
/intelligence/opportunity | Potenziale für Fahrzeug, Modellreihe, Marke oder Felge | entity_type, key (Pflicht), region |
/intelligence/sources | Evidenzkategorie, Berichtszeitraum, Granularität und Qualitätsstatus | family_key, status |
Geltungsbereich: HSN/TSN-Werte sind exakt, wenn die amtliche Statistik diese Granularität veröffentlicht; jede Metrik nennt scope.hsn_tsn_exact und eine stabile source_family. Handelsnamen-, Typgenehmigungs-, Regional-, Sicherheits- und Verkehrsaggregate werden nur auf ihrer veröffentlichten Ebene ausgegeben. Rückrufe sind geprüfte Modellzuordnungen. Unterdrückte Werte sind suppressed, nicht 0. Eigene Auswertungen tragen is_estimate=true und eine method_version. Halterdaten beschreiben Halter, nicht Fahrer.
Beispiele
Regionaler Bestand
/intelligence/regions?ags=08115&metric=registered_stock&from=2019-01-01geography.code enthält den amtlichen Gebietsschlüssel (AGS).
Markt nach Marke
/intelligence/market?brand=BMW&metric=new_registrations&holder_group=private&from=2019-01-01
/intelligence/regions?ags=09&brand=BMW&metric=new_registrations
Weitere Filter: trade_name, tsn, age_band, gender.
Regionale Bewegung
/intelligence/regions?ags=08111&metric=ownership_transfers&from=2019-01-01Weitere Metriken: new_registrations, deregistrations; economic_sector filtert die veröffentlichte Haltergruppe.
Modellreihe / Segment
/intelligence/market?model_series=VW%20GOLF&metric=new_registrations&from=2019-01-01
/intelligence/market?segment=SUVs&metric=market_share_pct
/intelligence/market?all_wheel=1&metric=new_registrations
Aggregate ohne HSN/TSN-Granularität: dimensions.hsn_tsn_exact=false. Weitere Filter: fuel, body_type=cabriolet; weitere Metriken: segment_share_pct, registered_stock, registered_stock_yoy_pct.
Typgenehmigung
/intelligence/market?type_approval=e1*2007/46*2014&metric=avg_co2_wltp_g_km&from=2020-01-01Weitere Metriken: new_registrations, avg_co2_nedc_g_km, avg_empty_mass_kg. Vorläufige Berichtsstände sind im Qualitätsstatus erkennbar.
Verkehrssicherheit / Infrastruktur
/intelligence/market?metric=road_safety_unfaelle_personenschaden&accident_category=Unfall%20mit%20Personenschaden
/intelligence/market?metric=annual_vehicle_km&road_class=federal_motorway
Filter: vehicle_scope, injury_severity, location. Die Zeitreihen beschreiben Deutschland bzw. Bundesfernstraßen.
Umwelt / Antrieb
/intelligence/market?model_series=VW%20GOLF&metric=avg_co2_g_km&from=2022-01-01
/intelligence/market?fuel=bev&motor_power_kw_band=81_100&metric=new_registrations
/intelligence/market?co2_class=A&metric=new_registrations
Teilmengen tragen dimensions.is_subset=true; nicht zusätzlich zur Obergruppe summieren.
Monatswerte
/intelligence/market?drive_type=bev&metric=new_registrations&from=2025-01-01
/intelligence/regions?drive_type=plug_in_hybrid&metric=new_registrations&from=2025-01-01
Veröffentlichte Ranglisten tragen ranking_scope und rank; sie sind keine vollständige Modellrangliste. Weitere Filter: color, co2_emission_band, fuel_consumption_band, gross_vehicle_mass_band.
Halter / Flotte
/intelligence/market?metric=registered_stock&economic_sector=rental_carsharing&from=2019-01-01Weitere Filter: engine_displacement_band, vehicle_age_band (Fahrzeugalter). age_band und gender bezeichnen veröffentlichte Haltermerkmale.
Ladeinfrastruktur
/intelligence/charging?profile=statistics&metric=charging_points_total®ion=DE:federal_state:09&from=2019-01-01Ohne Standortdaten im Statistikstand ist site_level_available=false.
Fehlerreferenz
Fehlerantworten haben diese Form:
{
"code": "variant_not_for_vehicle",
"message": "Select a current variant returned for this vehicle.",
"data": { "status": 400, "variant_key": "unbekannter-schluessel" }
}Ausnahmen: Ein unbekanntes HSN/TSN-Paar bei /vehicle (ohne configuration_id) und /insurance sowie eine unbekannte Variante bei /workshop-profile liefern HTTP 404 mit {"error", "hsn", "tsn"}; vehicle_discovery_dataset_not_ready liefert {"code", "message"}. Für die Reaktion den code auswerten, nicht den Text von message.
HTTP-Status
| HTTP | Bedeutung |
|---|---|
200 | Erfolg |
304 | Unverändert (If-None-Match) |
400 | Fehlender, ungültiger oder unzulässiger Parameter; Auswahl passt nicht zum Fahrzeug |
401 | Zugangsdaten fehlen oder sind ungültig |
403 | Abonnement nicht aktiv oder Zusatzmodul nicht freigeschaltet |
404 | Fahrzeug, Felge oder Bildset nicht gefunden |
409 | Anfrage gültig, aber für die gewählte Auswahl liegen nicht genug Daten vor, der Datenstand hat sich während der Paginierung geändert oder die Bildauswahl ist mehrdeutig. Eine gespeicherte Auswahl bleibt gültig. |
429 | Anfragekontingent ausgeschöpft |
500 | Interner Fehler |
503 | Daten vorübergehend nicht verfügbar; später erneut anfragen |
Fehlercodes
| Code | HTTP | Endpunkte | Bedeutung | Reaktion |
|---|---|---|---|---|
rest_unauthorized | 401 | alle | Keine Zugangsdaten gesendet | Header X-API-Key/X-API-Secret oder Bearer Token senden |
rest_invalid_api_key | 401 | alle | API Key unbekannt oder widerrufen | Zugangsdaten im Account prüfen |
rest_invalid_api_secret | 401 | alle | Secret passt nicht zum Key | Zugangsdaten im Account prüfen |
rest_subscription_inactive | 403 | alle | Abonnement nicht aktiv | Tarif aktivieren |
feature_not_enabled | 403 | /configurator/* | Zusatzmodul nicht freigeschaltet | Modul buchen |
| – | 429 | alle | Anfragekontingent ausgeschöpft | Tarif erweitern oder später erneut anfragen |
rest_missing_callback_param | 400 | alle | Pflichtparameter fehlt | Parameter ergänzen |
rest_invalid_param | 400 | alle | Parameterwert hat ein ungültiges Format oder liegt außerhalb des Wertebereichs | Wert korrigieren; data.params nennt den Parameter |
rest_unknown_param | 400 | /fitments, /intelligence/*, /vehicle mit Intelligence-include | Unzulässiger Parameter | Parameter entfernen |
invalid_vehicle_key | 400 | /vehicle-configurations, /insurance | HSN/TSN im falschen Format oder unvollständig | Eingabe korrigieren |
invalid_pagination | 400 | /insurance | Ungültige Seitenangabe | Wert korrigieren |
invalid_insurance_query | 400 | /insurance | Parameter mehrfach oder als Liste gesendet | Einzelwerte senden |
invalid_execution | 400 | /engines | execution_key gehört nicht zu dieser Generation | /generations?include=executions neu laden |
variant_not_for_vehicle | 400 | /compatibility, /fitments, /vehicle-compare | Schlüssel gehört nicht zu diesem Fahrzeug | Auswahl entfernen, Fahrzeug ohne Auswahl laden, variants[] anbieten |
conflicting_vehicle_selections | 400 | /compatibility, /fitments | variant_key und configuration_id gemeinsam gesendet | Nur einen Parameter senden |
invalid_configuration_id | 400 | /vehicle, /compatibility, /fitments, /workshop-profile | configuration_id hat ein ungültiges Format | ID aus /vehicle-configurations verwenden |
configuration_not_for_vehicle | 400 | /vehicle, /compatibility, /fitments, /workshop-profile | Konfiguration gehört nicht zu diesem Fahrzeug | Konfiguration neu wählen |
rest_missing_vehicle, rest_missing_selection | 400 | /configurator/* | Fahrzeug bzw. Felge, Lack oder Finish fehlt | Parameter ergänzen |
vehicle_not_found | 404 | /compatibility, /fitments, /vehicle-configurations, /workshop-profile, /vehicle mit configuration_id | HSN/TSN unbekannt | Eingabe prüfen |
carapi_wheel_not_found | 404 | /wheels/{wheel_code} | Felgencode unbekannt | Code aus /wheels verwenden |
configurator_not_found, wheel_not_approved_for_vehicle, configurator_wheel_not_published, configurator_size_not_found, configurator_selection_not_found | 404 | /configurator/images, /configurator/layers | Kein Bildset für Fahrzeug, Felge, Größe oder Kombination | Verfügbarkeit über /configurator/availability prüfen |
variant_facts_unavailable | 409 | /compatibility, /fitments | Für die gewählte Variante fehlen technische Daten | Auswahl behalten; Ergebnis ohne Auswahl anzeigen |
configuration_evidence_required | 409 | /compatibility, /fitments, /workshop-profile | Für die Konfiguration fehlen belegte Fahrzeugdaten (z. B. Radgeometrie) | Auswahl behalten; ohne Konfiguration oder mit variant_key anfragen |
fitment_evidence_required | 409 | /compatibility, /fitments | Für das Fahrzeug liegen keine belegten Anwendungsdaten vor | Keine Passungsaussage anzeigen |
display_configuration_link_unverified | 409 | /workshop-profile | variant_key zusammen mit configuration_id | Nur einen Parameter senden |
fitment_dataset_changed | 409 | /fitments | Datenstand seit der ersten Seite geändert | Paginierung ab Seite 1 ohne data_version neu beginnen |
configurator_vehicle_ambiguous | 409 | /configurator/images, /configurator/layers | Mehrere Bildgruppen | vehicle_image_id aus data.matches senden |
configurator_layers_unavailable | 409 | /configurator/layers | Bildset ohne Ebenen | /configurator/images verwenden |
insurance_query_failed | 500 | /insurance | Daten nicht lesbar | Später erneut anfragen |
fitment_data_invalid, fitment_data_unavailable | 503 | /compatibility, /fitments | Passungsdaten vorübergehend nicht lesbar | Später erneut anfragen; Auswahl behalten |
vehicle_catalog_unavailable | 503 | Navigationsendpunkte | Fahrzeugkatalog vorübergehend nicht lesbar | Später erneut anfragen |
vehicle_discovery_dataset_not_ready | 503 | Alpha Fahrzeugsuche und Technik | Suchindex nicht verfügbar | Später erneut anfragen |
Warnungen in meta.warnings sind keine Fehler: unknown query parameter: … und selection_unavailable_release_mismatch (siehe Grundlagen).