person_addRegistrieren
Referenz

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

BegriffParameterBedeutung
Fahrzeughsn + tsnHerstellerschlü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.
Variantevariant_keyEine Fahrzeugvariante innerhalb eines HSN/TSN-Paars, z. B. eine bestimmte Motorisierung, Karosserie oder Radgeometrie. Die Varianten eines Fahrzeugs stehen in variants[].
Konfigurationconfiguration_idEine 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ührungexecution_keyKarosserieform 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"
HTTPCodeBedeutung
401rest_unauthorizedKeine Zugangsdaten gesendet
401rest_invalid_api_keyAPI Key unbekannt oder widerrufen
401rest_invalid_api_secretAPI Secret passt nicht zum API Key
403rest_subscription_inactiveAbonnement 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

NameTypPflichtBeschreibung
hsnString (4)jaHerstellerschlüsselnummer, z. B. 0603
tsnString (3)jaTypschlüsselnummer, z. B. COB; Groß-/Kleinschreibung egal
variant_keyStringneinSchlüssel aus variants[].variant_key desselben Fahrzeugs. Groß-/Kleinschreibung egal; höchstens 160 Zeichen aus A–Z a–z 0–9 . _ -.
configuration_idStringneinSchlü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=COB

C) 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.

statusBedeutungselected_variant
not_requestedKeine Auswahl gesendet. Die Antwort gilt für alle Varianten.null
selectedVariante 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_variantconfiguration_id angewendet; die Konfiguration ist keiner einzelnen Variante zugeordnet.null
supersededFrüher ausgegebener Schlüssel mit mehreren oder keinem Nachfolger. Mehrere Nachfolger: Auswertung für genau diese Nachfolger. Kein Nachfolger: Auswertung ohne Auswahl.null
not_foundNur /vehicle: Schlüssel ist diesem Fahrzeug unbekannt. Die Fahrzeugdaten werden ohne Auswahl geliefert.null
FeldTypBeschreibung
requested_keyString|nullAngewendeter Schlüssel. Bei selected der aktuelle variant_key, bei superseded und not_found der gesendete Schlüssel (kleingeschrieben).
superseded_keyStringNur bei ersetztem Schlüssel mit genau einem Nachfolger: der gesendete frühere Schlüssel. requested_key enthält dann den Nachfolger.
candidate_keysString[]Nur bei superseded: aktuelle Nachfolger des gesendeten Schlüssels; leer, wenn es keinen gibt.
applied_keysString[]Nur /compatibility und /fitments bei mehreren Nachfolgern: Varianten, für die die Passung ausgewertet wurde.
evaluation_scopeStringconfiguration, wenn eine configuration_id angewendet wurde; candidate_variants, wenn für die Nachfolger eines ersetzten Schlüssels ausgewertet wurde.
configuration_id, configuration_appliedString, BooleanBei angewendeter Konfiguration: ihre ID und true.
selection_requiredBooleantrue, 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

AntwortReaktion
HTTP 400 variant_not_for_vehicle oder HTTP 200 mit variant_selection.status=not_foundNur 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_vehicleDie configuration_id entfernen und die Konfiguration über /vehicle-configurations neu wählen.
HTTP 400 conflicting_vehicle_selectionsNur einen der beiden Parameter senden.
HTTP 200 mit status=supersededErgebnis anzeigen; Auswahl aus candidate_keys anbieten.
HTTP 409, HTTP 5xx, ZeitüberschreitungAuswahl behalten und später erneut anfragen.

Wirkung je Endpunkt

Endpunktvariant_keyconfiguration_id
/compatibility, /fitmentsPassung 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.
/vehicleAnzeige, 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 AlphaGrenzt 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/* AlphaWählt die Bildgruppe, wenn Karosserie und Bauzeitraum der Variante genau eine Bildgruppe treffen.–

Weitere Schlüssel

SchlüsselHerkunftVerwendung
execution_key/generations?include=executionsFilter für /engines. Keine Fahrzeugadresse.
vehicle_image_id/configurator/availability, vehicle_imageBildgruppe im Konfigurator. Keine Fahrzeugadresse.
Suchschlüssel variant_key/vehicle-searchTechnischer 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_overviewEine physische Felgenvariante für /fitments?wheel_id=….

GET /compatibility

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

NameTypPflichtBeschreibung
hsnStringjaHerstellerschlüsselnummer
tsnStringjaTypschlüsselnummer
variant_keyStringneinVariante (siehe Fahrzeugauswahl). Nicht zusammen mit configuration_id.
configuration_idStringneinGenehmigungskonfiguration aus /vehicle-configurations. Nicht zusammen mit variant_key.
wheel_codesString/ListeneinFelgenmodelle, kommagetrennt oder wiederholt, höchstens 50, z. B. FF01,FF02. Begrenzt allowed_wheels, wheel_groups und rules.
brandStringneinFelgenhersteller. Mit wheel_codes gilt die Schnittmenge; ein Hersteller ohne zugeordnete Felgenmodelle ergibt eine leere Auswahl.
includeStringneinKommagetrennte Antwortbereiche: vehicle, allowed_wheels, wheel_overview, wheel_groups, rules, staggered, status_detail oder all. Standard: vehicle,allowed_wheels.
compact0|1neinKurzform 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

FeldTypBeschreibung
vehicleObjectFahrzeugdaten wie bei /vehicle
vehicle_known, fitment_knownBooleanFahrzeug bekannt; Felgenfreigaben vorhanden
match_scopeStringpair_exact (Freigaben für genau dieses HSN/TSN-Paar), pcd_bore_fallback (Zuordnung über Lochkreis und Mittenloch) oder no_fitment
display_vehicleObjectAnzeigeangaben: Marke, Modell, Ausstattungslinie, Baureihe, Bauzeit, Antrieb
display_variantsArrayAnzeigevarianten im Kompatibilitätsformat. Für neue Auswahloberflächen nicht verwenden; stattdessen variants.
variantsArrayVarianten des Fahrzeugs (siehe /vehicle)
model_selection_availableBooleantrue bei mehr als einer Variante
selected_variant, variant_selectionObjectAngewendete Auswahl (siehe Auswahlstatus)
tpmsObjectReifendruckkontrolle: type (active, passive, unknown), requires_sensor, label
oem_tiresObjectSerienbereifung: 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_wheelsObject|nullSerienfelgen als references; options hält Reifen und Felgen einer Serienkonfiguration zusammen
vehicle_bore_mm, wheel_specsNumber|null, ObjectMittenlochdurchmesser (Nabenbohrung) des Fahrzeugs in mm; Lochkreis und Mittenloch des Fahrzeugs
allowed_wheels[]ArrayFreigegebene 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_sizesString[]Wählbare Reifengrößen für diese Felge und ET
allowed_wheels[].selection_tires[]ArrayJe 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_modeStringsingle, mixed_optional, mixed_required oder restricted_pairs (nur Achspaare aus staggered.allowed_pairs)
allowed_wheels[].centering_statusStringdirect_nominal, centering_ring_required, wheel_bore_too_small oder unknown
wheel_overview[]ArrayNur mit include=wheel_overview: wheel_id, wheel_code, Größe, ET, Lochkreis, Mittenloch, best_fitment_status
wheel_groups[]ArrayFelgen je Modell und Größe mit allen ET-Varianten in ets[] und recommended_et. Für Konfiguratoren wheel_groups[].ets[] verwenden.
rules[]ArrayAlle Freigaben einschließlich Auflagencodes und Klartext
status_summaryObjectMit status_detail: Anzahl der Reifenoptionen je Status
staggeredObjectMischbereifung (siehe Mischbereifung)
metaObjectZähler, Profilangaben und warnings

Fehler

HTTPCodeUrsache
400rest_invalid_paramUngültiger Wert für variant_key, configuration_id, wheel_codes, include oder compact
400variant_not_for_vehiclevariant_key gehört nicht zu diesem Fahrzeug
400conflicting_vehicle_selectionsvariant_key und configuration_id gemeinsam gesendet
400invalid_configuration_id, configuration_not_for_vehicleKonfiguration ungültig oder gehört nicht zu diesem Fahrzeug
404vehicle_not_foundHSN/TSN unbekannt
409variant_facts_unavailable, configuration_evidence_required, fitment_evidence_requiredFür die gewählte Auswahl oder das Fahrzeug liegen nicht genug Daten für eine Passungsaussage vor
503fitment_data_invalid, fitment_data_unavailablePassungsdaten 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"] }
}
GET /fitments

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

NameTypPflichtBeschreibung
hsnStringjaHerstellerschlüsselnummer
tsnStringjaTypschlüsselnummer
variant_keyStringneinVariante. Nicht zusammen mit configuration_id.
configuration_idStringneinGenehmigungskonfiguration. Nicht zusammen mit variant_key.
wheel_codeStringneinFelgenmodell, z. B. FF01; kommagetrennt bis zu 50 Codes
wheel_idStringneinPhysische Felgenvariante aus wheel_overview (wheel_ + 64 Hexadezimalzeichen). Alle Genehmigungswege dieser Felge sind enthalten; ohne Treffer ist die Liste leer.
etStringneinEinpresstiefe
pcdStringneinLochkreis, z. B. 5x112
tire_sizeStringneinReifengröße, z. B. 235/55R19
min_confidenceIntegerneinMindestwert für confidence (Standard 0). Zuordnungen tragen 1; 0 und 1 liefern dieselbe Menge. Kein Filter für den Passungsstatus.
compact0|1nein1 fasst wiederholte Auflagentexte in dictionaries.obligations zusammen und ermöglicht Paginierung
pageIntegerneinNur mit compact=1: Seite, ab 1
per_pageIntegerneinNur mit compact=1: Felgenserien je Seite, 1–100 (Standard 20)
data_versionStringneinFü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

FeldTypBeschreibung
hsn, tsn, countString, IntegerFahrzeug und Anzahl der Freigaben
variants, selected_variant, variant_selectionArray, ObjectVarianten und angewendete Auswahl
fitments[].wheel_code, et, pcd, bore, width_inch, diameter_inchString, NumberFelgengeometrie
fitments[].best_fitment_statusStringStatus dieses Genehmigungswegs (siehe Passungsstatus)
fitments[].tires[]ArrayReifen dieses Wegs mit size, axle, status, codes, condition_requirements, installation_requirements, fastener_codes, fastener_resolution und optional tire_spec
fitments[].approved_tiresArrayReifengrößen mit positivem Status
fitments[].auflagenObjectAuflagentext je Code, z. B. F24; mit compact=1 ersetzt durch obligation_refs
fitments[].configuration_selectionObjectrecommended: 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_ringNumber, String, BooleanZentrierung von Felge und Nabe
fitments[].gutachten_url, source_gutachtenString|nullLink zum Gutachten-PDF und sein Dateipfad
meta.total_groups, meta.total_pages, meta.dataset_generationIntegerMit 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

HTTPCodeUrsache
400rest_invalid_paramUngültiger Parameterwert; page/per_page ohne compact=1
400rest_unknown_paramlimit oder include gesendet
400variant_not_for_vehicle, conflicting_vehicle_selections, invalid_configuration_id, configuration_not_for_vehicleSiehe Fahrzeugauswahl
404vehicle_not_foundHSN/TSN unbekannt
409fitment_dataset_changedDatenstand seit der ersten Seite geändert; Paginierung ab Seite 1 neu beginnen
409variant_facts_unavailable, configuration_evidence_required, fitment_evidence_requiredNicht genug Daten für eine Passungsaussage zur gewählten Auswahl oder zum Fahrzeug
503fitment_data_invalid, fitment_data_unavailablePassungsdaten 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"
    }
  ]
}
GET /gutachten

Liefert den fahrzeugunabhängigen Gutachten-Katalog, gruppiert nach Felgencode. Ohne Filter liefert der Endpunkt den vollständigen Katalog.

Parameter

NameTypPflichtBeschreibung
wheel_code / wheel_codesString/ListeneinFelgencodes, kommagetrennt oder wiederholt, höchstens 50
brandStringneinFelgenhersteller; ein Hersteller ohne zugeordnete Felgencodes ergibt eine leere Auswahl
includeStringneinfasteners (Standard), obligations (zusätzlich die Auflagenlegende je Dokument) oder all

Antwortfelder

FeldTypBeschreibung
models.{wheel_code}[]ArrayJe Gutachten: source_gutachten, gutachten_url, pcd, bore, et, width_inch, diameter_inch, approval, fasteners, fastener_status
model_statuses.{wheel_code}Objectmodel_status, is_legacy, is_discontinued
fastenersObjectBefestigungsalternativen des Dokuments je S-Code; type ist serienschraube, schraube, serienmutter oder mutter
fastener_statusStringparsed_complete, parsed_partial, parse_error oder not_documented; bei Teilangaben nennen row_status und missing_fields die fehlenden Werte
total_pdfsIntegerAnzahl 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

WertBedeutung
eintragungsfreiDie Freigabe deckt die Kombination ohne Eintragung ab. Mitgelieferte Auflagen und Hinweise gelten.
mit_eintragungEintragung durch eine Prüforganisation (z. B. TÜV) oder Arbeiten am Fahrzeug erforderlich.
nicht_passendDie 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.
unknownDie 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.

FeldBedeutung
codesAuflagencodes des Gutachtens, z. B. F24; Klartext in auflagen bzw. rules
installation_requirements[].kindregistration: 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_evaluationblocking_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.

FeldTypBeschreibung
staggered_oeBooleanSerienbereifung mit unterschiedlichen Größen vorne und hinten
oe_front_tire, oe_rear_tireString|nullSerienreifen vorne und hinten
front_allowed_tires, rear_allowed_tires, both_axle_tiresString[]Freigegebene Größen je Achse bzw. für beide Achsen
allowed_pairs[]ArrayZulässige Achspaare {front, rear, source_code}, z. B. aus V18–V22
gutachten_coverageStringnot_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.


GET /vehicle

Liefert die Fahrzeugdaten zu einem HSN/TSN-Paar: Anzeige, Varianten, Radanschluss, Serienbereifung, Reifendruckkontrolle und technische Datenblätter.

Parameter

NameTypPflichtBeschreibung
hsnStringjaHerstellerschlüsselnummer
tsnStringjaTypschlüsselnummer
variant_keyStringneinVariante: Anzeige, Bauzeit, Serienbereifung, Radgeometrie und zuordenbare Datenblätter dieser Variante
configuration_idStringneinErgänzt das Objekt configuration mit den Daten dieser Konfiguration
includeStringneinAlpha 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

FeldTypBeschreibung
hsn, tsn, brand, model, yearsStringFahrzeug und Bauzeit; mit Variante deren Bauzeit
kba_identity_onlyBooleantrue, wenn die Fahrzeugidentität bestätigt ist, technische Daten, Radgeometrie und Freigaben aber noch fehlen
display_vehicleObject|nullAnzeigeangaben: Ausstattungslinie, Baureihe, Bauzeit, Antrieb, Getriebe
display_variantsArrayAnzeigevarianten im Kompatibilitätsformat. Für neue Auswahloberflächen nicht verwenden; stattdessen variants.
variants[]ArrayVarianten 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[].geometryObjectRadgeometrie 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_availableBooleantrue bei mehr als einer Variante
selected_variant, variant_selectionObjectAngewendete Auswahl (siehe Auswahlstatus)
wheelsObjectRadanschluss: pcd, bore, fastening, thread, torque
wheels.pcd_status, wheels.bore_statusStringverified, unverified oder missing. Sicherheitsrelevante Entscheidungen nur auf verified stützen.
wheels.mountingObjectSerienrad-Befestigung: seat (ball, cone, flat), Radius oder Winkel, shaft_length_mm; nicht belegte Werte null
tpms, oem_tiresObjectReifendruckkontrolle und Serienbereifung
vehicle_dataArray|nullTechnische 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.
configurationObjectNur mit configuration_id: Konfiguration wie in /vehicle-configurations
vehicle_imageObjectAlpha 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

HTTPCodeUrsache
400rest_invalid_paramUngültiges Format von variant_key, configuration_id oder include
400invalid_configuration_id, configuration_not_for_vehicleKonfiguration ungültig oder gehört nicht zu diesem Fahrzeug
400rest_unknown_paramUnbekannter 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" } ]
}
GET /vehicle-configurations

Listet die Genehmigungskonfigurationen eines Fahrzeugs. Eine configuration_id daraus grenzt /compatibility, /fitments, /vehicle und /workshop-profile auf genau diese Konfiguration ein.

Parameter

NameTypPflichtBeschreibung
hsnString (4 Ziffern)jaHerstellerschlüsselnummer
tsnString (3 Zeichen)jaTypschlüsselnummer
pageIntegerneinSeite, ab 1 (Standard 1)
per_pageIntegerneinEinträge je Seite, höchstens 100 (Standard 50)

Antwortfelder

FeldTypBeschreibung
configurations[].configuration_idStringSchlüssel der Konfiguration
configurations[].type_approval, approval_base, approval_extensionStringVollständige Typgenehmigung, ihre Basis und der Nachtrag
configurations[].type, variant, versionStringTyp, Variante und Version laut Genehmigung
configurations[].variant_keyString|nullZugeordnete Fahrzeugvariante; null, wenn die Konfiguration keiner einzelnen Variante zugeordnet ist
configurations[].technical_observations[]ArrayTechnische 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_validityArray, StringRü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[]ArrayJährliche Zulassungsstatistik (siehe unten)
meta.page, per_page, totalIntegerPaginierung
meta.statusStringverified_identity_links oder, bei leerer Liste, configuration_links_not_verified
meta.selection_requiredBooleantrue 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

HTTPCodeUrsache
400invalid_vehicle_keyHSN oder TSN im falschen Format
400rest_invalid_parampage oder per_page ungültig
404vehicle_not_foundHSN/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 }
}
GET /insurance

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

NameTypPflichtBeschreibung
hsn, tsnStringbedingtEin Fahrzeug; immer beide zusammen senden
brand, modelStringbedingtSuche nach Marke und/oder Modell (Teiltreffer im Modellnamen), wenn kein HSN/TSN gesendet wird
pageIntegerneinNur Marken-/Modellsuche: Seite, 1–1000000
per_pageIntegerneinNur Marken-/Modellsuche: 1–100 (Standard 50)

Antwortfelder

FeldTypBeschreibung
insurance.kh, tk, vkString|IntegerAktuelle Typklassen Haftpflicht, Teilkasko, Vollkasko
insurance.typklassen_historyObjectTypklasse je Sparte und Jahr
results[]ArrayMarken-/Modellsuche: {hsn, tsn, insurance} je Fahrzeug, sortiert nach HSN/TSN
metaObjectMit page oder per_page: page, per_page, total, total_pages. Ohne diese Parameter enthält results alle Treffer.

Fehler

HTTPCodeUrsache
400invalid_vehicle_keyUnvollständiges oder ungültiges HSN/TSN-Paar
400invalid_pagination, invalid_insurance_queryUngü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"}
500insurance_query_failedDaten 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 }
    }
  }
}

Navigation

Die Navigationsendpunkte führen von der Marke zur Fahrzeugadresse (siehe Wege zur Fahrzeugadresse). Alle Werte unverändert und URL-kodiert an den nächsten Schritt übergeben. onlyWithFitments=1 beschränkt auf Einträge mit mindestens einer Felgenfreigabe; ohne Treffer ist die Liste leer. Fehler: HTTP 400 rest_missing_callback_param bei fehlendem Pflichtparameter, HTTP 503 vehicle_catalog_unavailable, wenn die Daten vorübergehend nicht lesbar sind.

GET /brands

Liste der Fahrzeugmarken.

NameTypPflichtBeschreibung
onlyWithFitments0|1neinNur Marken mit Felgenfreigaben

Antwort: Liste von {brand, count, withFitments, logo_url}. brand ist der Wert für die Folgeschritte.

GET /brands?onlyWithFitments=1
[ { "brand": "Audi", "count": 1826, "withFitments": 842, "logo_url": "https://…/audi.png" } ]

GET /models

Modelle einer Marke, alphabetisch.

NameTypPflichtBeschreibung
brandStringjaWert aus /brands
onlyWithFitments0|1neinNur Modelle mit Felgenfreigaben

Antwort: Liste von {value, label, withFitments}. value ist der Modellschlüssel für /generations; withFitments zählt HSN/TSN-Paare mit Freigaben.

GET /models?brand=BMW
[ { "value": "3er-Reihe", "label": "3er-Reihe", "withFitments": 87 } ]

GET /generations

Generationen eines Modells.

NameTypPflichtBeschreibung
brandStringjaWert aus /brands
modelStringjavalue aus /models oder modelKey aus /series
includeStringneinexecutions ergänzt je Generation die Ausführungen

Antwort: Liste von {value, label, years}; mit include=executions zusätzlich executions[] mit value, label, body_type und engine_count. Jede Ausführung entspricht einer belegten Karosserieform der Generation; unspecified fasst Fahrzeuge ohne belegte Karosserieform zusammen. Ausführungsschlüssel sind stabil.

Darstellung: Generation und Ausführung in einer Auswahlliste kombinieren, etwa „A4 B8 Facelift · Avant“, und generation.value sowie executions[].value getrennt speichern. Bei nur einer Ausführung entfällt die Auswahl.

GET /generations?brand=BMW&model=3er-Reihe&include=executions
[ { "value": "3er-Reihe G20/G21/G80", "label": "3er-Reihe G20/G21/G80", "years": "2019 - 2022",
    "executions": [ { "value": "limousine", "label": "Limousine", "body_type": "Limousine", "engine_count": 12 } ] } ]

GET /engines

Motorgruppen einer Generation, optional einer Ausführung. Motorisierungen mit gleicher Leistung, Kraftstoffart und gleichem Antrieb werden zusammengefasst; engine_labels[], periods[] und transmissions[] enthalten die Einzelangaben. Diese nicht wieder in einzelne Motoroptionen aufteilen.

NameTypPflichtBeschreibung
brand, modelStringjaWie bei /generations
generationStringjavalue aus /generations
execution_keyStringneinexecutions[].value aus /generations; ohne Angabe alle Motorgruppen der Generation

Antwort: Liste von Motorgruppen mit label, kw, ps, fuel, years, transmission, drivetrain, periods[], transmissions[], execution, pairs[], selection_options[] (hsn, tsn, variant_key, selection_required) und selection_required. Fehler: HTTP 400 invalid_execution, wenn execution_key zu dieser Generation nicht existiert. Cache-Schlüssel aus Marke, Modell, Generation und Ausführung bilden; bei Änderung eines übergeordneten Schritts abhängige Auswahl verwerfen.

GET /engines?brand=BMW&model=3er-Reihe&generation=3er-Reihe%20G20%2FG21%2FG80&execution_key=limousine
[ { "label": "320i (184 PS / 135 kW)", "kw": 135, "ps": 184, "fuel": "Benzin", "years": "03/19 - 04/22",
    "pairs": [ { "hsn": "0005", "tsn": "CNA" } ],
    "selection_options": [ { "hsn": "0005", "tsn": "CNA", "variant_key": "beispiel-variante-1", "selection_required": false } ],
    "selection_required": false } ]

GET /series

Baureihen einer Marke.

NameTypPflichtBeschreibung
brandStringjaMarke
onlyWithFitments0|1neinNur Baureihen mit Felgenfreigaben

Antwort: {brand, models: [{series, seriesCode, modelKey, modelFamily, total, withFitments}]}. series ist der Wert für /variants. modelKey ist der Modellschlüssel für /generations (null, wenn keine Generation zugeordnet ist); modelFamily ist nur ein Anzeigefeld.

GET /series?brand=VW&onlyWithFitments=1
{ "brand": "VW", "models": [ { "series": "Touareg (CR) (07/18 - 05/23)", "seriesCode": "CR", "modelKey": "Touareg", "modelFamily": "Touareg", "total": 8, "withFitments": 7 } ] }

GET /variants

HSN/TSN-Paare einer Baureihe.

NameTypPflichtBeschreibung
brandStringjaMarke
seriesStringjaseries aus /series, URL-kodiert
onlyWithFitments0|1neinNur Paare mit Felgenfreigaben

Antwort: {total, variants: [...]} mit id (HSN_TSN), hsn, tsn, model, series, seriesCode, type, drivetrain, years, hasFitments, vehicle_image und selection_options[] (je Variante ein Eintrag {hsn, tsn, variant_key}). Paare mit Freigaben stehen zuerst.

GET /variants?brand=VW&series=Touareg%20(CR)%20(07%2F18%20-%2005%2F23)
{ "total": 8, "variants": [ { "id": "0603_COB", "hsn": "0603", "tsn": "COB", "model": "Touareg 3.0 V6 TDI SCR", "years": "10/20 – 05/23", "hasFitments": true,
  "selection_options": [ { "hsn": "0603", "tsn": "COB", "variant_key": "beispiel-variante-1" } ] } ] }

GET Alpha /vehicle-search · /engine-search · /engine-applications · /vehicle-compare · /workshop-profile · /towing-search

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.

NameTypPflichtBeschreibung
q, brand, modelStringneinFreitext, Marke, Modell
body_type, fuel, transmission, drive_typeString/ListeneinKarosserie, Kraftstoff, Getriebe, Antrieb; kommagetrennt
doors, seatsIntegerneinTüren, Sitzplätze
min_/max_length_mm, min_/max_width_mm, min_/max_height_mmIntegerneinMaße in mm
min_power_kw, max_power_kwIntegerneinLeistung in kW
production_year, production_start, production_endIntegerneinBauzeit
min_/max_braked_kg, min_/max_nose_weight_kgIntegerneinAnhängelast gebremst, Stützlast
includeStringneinfacets: Trefferzahlen je Hersteller, Karosserie, Kraftstoff, Getriebe, Antrieb
page, per_pageIntegerneinSeite (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=5
GET Alpha /wheels

Felgenkatalog mit technischen Varianten, Gutachten und freigestellten Produktbildern. Die Passung für ein Fahrzeug liefern /compatibility und /fitments.

NameTypPflichtBeschreibung
brand, qStringneinFelgenhersteller, Suchtext
statusStringneinModellstatus, z. B. active
with_imagesBooleanneinBildangaben je Felge ergänzen
page, per_pageIntegerneinSeite (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/FF01

Klassifizierung

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.

FeldTypBeschreibung
classification.statusStringavailable: mindestens ein Merkmal ist angegeben; unknown: keine Angabe für diese Felge bzw. Farbe
classification.observed_sizes_inchInteger[]Zollgrößen, in denen die Angaben beobachtet wurden; leer bei unknown
classification.finishObjectOberfläche: glossy (glänzend) oder matte (matt)
classification.spoke_styleObjectSpeichenform: five_spoke, y_spoke, v_spoke, double_spoke, cross_spoke oder multi_spoke (Viel- bzw. Mehrspeiche)
classification.winter_suitableObjectWintereignung laut Katalogangabe: true (wintergeeignet) oder false (ausdrücklich nicht wintergeeignet)
{merkmal}.statusStringJe Merkmal (finish, spoke_style, winter_suitable): known (genau ein Wert), mixed (unterschiedliche Werte über Farben oder Größen) oder unknown (keine Angabe)
{merkmal}.valueString|Boolean|nullDer Wert bei known, sonst null
{merkmal}.valuesArrayAlle 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] }
}
GET Alpha /configurator/availability · /configurator/images · /configurator/layers

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.

NameTypPflichtBeschreibung
hsn, tsnStringbedingtFahrzeug; alternativ vehicle_image_id
vehicle_image_idStringbedingtBildgruppe; wählt bei mehreren Treffern eine Gruppe
variant_keyStringneinWählt die Bildgruppe, wenn Karosserie und gesamter Bauzeitraum der Variante genau eine Bildgruppe treffen
wheel, paint, finishStringja**Nur images und layers: Felgencode, Lack, Felgenfinish
sizeIntegerneinFelgengröß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 }
    }
  }
}
HTTPCodeUrsache
400rest_missing_vehicle, rest_missing_selectionFahrzeug oder wheel/paint/finish fehlt
403feature_not_enabledZusatzmodul nicht freigeschaltet
404configurator_not_found, wheel_not_approved_for_vehicle, configurator_wheel_not_published, configurator_size_not_found, configurator_selection_not_foundKein Bildset, Felge nicht freigegeben oder Kombination nicht veröffentlicht
409configurator_vehicle_ambiguousMehrere Bildgruppen; vehicle_image_id senden
409configurator_layers_unavailableBildset ohne Ebenen; /configurator/images verwenden
GETAlpha/intelligence/*

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.

EndpunktZweckWichtige Parameter
/intelligence/vehicleHSN/TSN-Historie und zugeordnete Bereichehsn, tsn (Pflicht), include, from, to, region
/intelligence/marketBestand, Marktbewegungen, Umwelt-, Sicherheits- und Verkehrsaggregatemetric, brand, model_series, segment, fuel, from, to und weitere Filter
/intelligence/regionsPkw-Zeitreihen nach Bundesland, Zulassungsbezirk oder veröffentlichter Gebietsebeneags, nuts, metric, Filter wie bei market
/intelligence/recallsRückrufe mit geprüfter Marken-/Modellzuordnunghsn+tsn, brand, model, status, from, to
/intelligence/chargingLadeinfrastrukturprofile=statistics oder sites, region, metric; Orts-/Radiusfilter nur mit sites
/intelligence/opportunityPotenziale für Fahrzeug, Modellreihe, Marke oder Felgeentity_type, key (Pflicht), region
/intelligence/sourcesEvidenzkategorie, Berichtszeitraum, Granularität und Qualitätsstatusfamily_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-01

geography.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-01

Weitere 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-01

Weitere 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-01

Weitere 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&region=DE:federal_state:09&from=2019-01-01

Ohne 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

HTTPBedeutung
200Erfolg
304Unverändert (If-None-Match)
400Fehlender, ungültiger oder unzulässiger Parameter; Auswahl passt nicht zum Fahrzeug
401Zugangsdaten fehlen oder sind ungültig
403Abonnement nicht aktiv oder Zusatzmodul nicht freigeschaltet
404Fahrzeug, Felge oder Bildset nicht gefunden
409Anfrage 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.
429Anfragekontingent ausgeschöpft
500Interner Fehler
503Daten vorübergehend nicht verfügbar; später erneut anfragen

Fehlercodes

CodeHTTPEndpunkteBedeutungReaktion
rest_unauthorized401alleKeine Zugangsdaten gesendetHeader X-API-Key/X-API-Secret oder Bearer Token senden
rest_invalid_api_key401alleAPI Key unbekannt oder widerrufenZugangsdaten im Account prüfen
rest_invalid_api_secret401alleSecret passt nicht zum KeyZugangsdaten im Account prüfen
rest_subscription_inactive403alleAbonnement nicht aktivTarif aktivieren
feature_not_enabled403/configurator/*Zusatzmodul nicht freigeschaltetModul buchen
–429alleAnfragekontingent ausgeschöpftTarif erweitern oder später erneut anfragen
rest_missing_callback_param400allePflichtparameter fehltParameter ergänzen
rest_invalid_param400alleParameterwert hat ein ungültiges Format oder liegt außerhalb des WertebereichsWert korrigieren; data.params nennt den Parameter
rest_unknown_param400/fitments, /intelligence/*, /vehicle mit Intelligence-includeUnzulässiger ParameterParameter entfernen
invalid_vehicle_key400/vehicle-configurations, /insuranceHSN/TSN im falschen Format oder unvollständigEingabe korrigieren
invalid_pagination400/insuranceUngültige SeitenangabeWert korrigieren
invalid_insurance_query400/insuranceParameter mehrfach oder als Liste gesendetEinzelwerte senden
invalid_execution400/enginesexecution_key gehört nicht zu dieser Generation/generations?include=executions neu laden
variant_not_for_vehicle400/compatibility, /fitments, /vehicle-compareSchlüssel gehört nicht zu diesem FahrzeugAuswahl entfernen, Fahrzeug ohne Auswahl laden, variants[] anbieten
conflicting_vehicle_selections400/compatibility, /fitmentsvariant_key und configuration_id gemeinsam gesendetNur einen Parameter senden
invalid_configuration_id400/vehicle, /compatibility, /fitments, /workshop-profileconfiguration_id hat ein ungültiges FormatID aus /vehicle-configurations verwenden
configuration_not_for_vehicle400/vehicle, /compatibility, /fitments, /workshop-profileKonfiguration gehört nicht zu diesem FahrzeugKonfiguration neu wählen
rest_missing_vehicle, rest_missing_selection400/configurator/*Fahrzeug bzw. Felge, Lack oder Finish fehltParameter ergänzen
vehicle_not_found404/compatibility, /fitments, /vehicle-configurations, /workshop-profile, /vehicle mit configuration_idHSN/TSN unbekanntEingabe prüfen
carapi_wheel_not_found404/wheels/{wheel_code}Felgencode unbekanntCode aus /wheels verwenden
configurator_not_found, wheel_not_approved_for_vehicle, configurator_wheel_not_published, configurator_size_not_found, configurator_selection_not_found404/configurator/images, /configurator/layersKein Bildset für Fahrzeug, Felge, Größe oder KombinationVerfügbarkeit über /configurator/availability prüfen
variant_facts_unavailable409/compatibility, /fitmentsFür die gewählte Variante fehlen technische DatenAuswahl behalten; Ergebnis ohne Auswahl anzeigen
configuration_evidence_required409/compatibility, /fitments, /workshop-profileFür die Konfiguration fehlen belegte Fahrzeugdaten (z. B. Radgeometrie)Auswahl behalten; ohne Konfiguration oder mit variant_key anfragen
fitment_evidence_required409/compatibility, /fitmentsFür das Fahrzeug liegen keine belegten Anwendungsdaten vorKeine Passungsaussage anzeigen
display_configuration_link_unverified409/workshop-profilevariant_key zusammen mit configuration_idNur einen Parameter senden
fitment_dataset_changed409/fitmentsDatenstand seit der ersten Seite geändertPaginierung ab Seite 1 ohne data_version neu beginnen
configurator_vehicle_ambiguous409/configurator/images, /configurator/layersMehrere Bildgruppenvehicle_image_id aus data.matches senden
configurator_layers_unavailable409/configurator/layersBildset ohne Ebenen/configurator/images verwenden
insurance_query_failed500/insuranceDaten nicht lesbarSpäter erneut anfragen
fitment_data_invalid, fitment_data_unavailable503/compatibility, /fitmentsPassungsdaten vorübergehend nicht lesbarSpäter erneut anfragen; Auswahl behalten
vehicle_catalog_unavailable503NavigationsendpunkteFahrzeugkatalog vorübergehend nicht lesbarSpäter erneut anfragen
vehicle_discovery_dataset_not_ready503Alpha Fahrzeugsuche und TechnikSuchindex nicht verfügbarSpäter erneut anfragen

Warnungen in meta.warnings sind keine Fehler: unknown query parameter: … und selection_unavailable_release_mismatch (siehe Grundlagen).