Halteränderung (HA)
Ändert die Anschrift des eingetragenen Halters innerhalb desselben Zulassungsbezirks.
Abgrenzung. Eine Namensänderung ist über die GKS nicht möglich — auch nicht zusammen mit der Anschrift; das KBA wertet das als Umschreibung. Ein Wechsel des Halters oder des Zulassungsbezirks ist ebenfalls eine Umschreibung. Ohne Vollmacht stellen Sie die Halteränderung für sich selbst (etwa den eigenen Fuhrpark), mit Vollmacht für einen Dritten.
Endpunkt
POST /vehicleHolderChanges/holderChanges — Ereignistyp VEHICLE_HOLDER_CHANGE_XKFZ_EVENT.
Pflichtfelder und Regeln
| Feld | Regel |
|---|---|
email, externalOrderId | wie bei allen Anträgen: E-Mail Pflicht (3–255 Zeichen), Referenz optional (höchstens 100 Zeichen) |
customization.vehicleIdentificationNumber | Pflicht; Ziffern und Großbuchstaben, höchstens 25 Stellen |
customization.licensePlateNumberComponents | Pflicht: city, middle, end; usageType optional |
customization.vehicleRegistrationCertificateSecurityCode | Pflicht; der Sicherheitscode der ZB I ist hier der Nachweis der Berechtigung — sieben Zeichen |
customization.vehicleRegistrationCertificateNumber | optional; Nummer der ZB I — Form und 400 wie bei den Zulassungsvorgängen; Kleinbuchstaben werden großgeschrieben |
customization.vehicleRegistrationCertificateImprintNumber | optional; Druckstücknummer der ZB I, genau acht Zeichen: Großbuchstabe, sechs Ziffern oder Großbuchstaben, zuletzt Ziffer oder X — etwa GCGDSXR3 |
customization.vehicleRegistrationCertificatePartIINumber | optional; Nummer der ZB II — Form wie dort, wo das Feld vehicleRegistrationCertificatePartII.number heißt; Kleinbuchstaben werden großgeschrieben; wird nur auf ausdrückliche Angabe gesendet |
customization.deliveryToHolder | optional; die Zustellung der neuen ZB I. true: an den Halter. false: an den Bevollmächtigten, sofern der Antrag einen nennt (powerOfAttorney.representative), sonst ebenfalls an den Halter. Ohne Angabe geht keine Lieferinformation an das KBA; es stellt dann dem Halter zu, und der Abgleich mit einer Vollmacht wertet das wie true. deliveries wie bei den Zulassungen kennt die Halteränderung nicht — ein mitgeschicktes Feld wird ohne Meldung übergangen |
customization.customerNumber, customization.contractPartner | optional — siehe Vertragspartner und Kundennummer |
vehicleHolder | Pflicht — außer bei powerOfAttorney.processId; die neue Anschrift |
powerOfAttorney | nur für Dritte, siehe Vollmacht |
Für vehicleHolder.address gilt:
- Name entweder
firstNameundlastName(natürliche Person) odercompanyName(juristische Person), nie beides. streetName,houseNumber,zipCodeundcityNamesind Pflicht.houseNumberbesteht laut XKfz-Schema nur aus höchstens vier Ziffern; ein Zusatz wie „7a" gehört inaddressSuffix.countryCodeist der KBA-Staatsschlüssel, ohne AngabeD.gender(FEMALE,MALE,DIVERSE,UNSPECIFIED),dateOfBirth(JJJJ-MM-TT) undplaceOfBirthnur bei natürlichen Personen; an einer Firma führen sie zu400.vehicleHolder.partyTypeist freiwillig und sagt die Halterart ausdrücklich — siehe Halterarten. Ohne Angabe bleibt es bei der Ableitung am Namen.
vehicleHolder.occupationKey ist bei der Halteränderung optional; das amtliche Beispiel führt ihn nicht. Bei Zulassungen ist er für Firmen Pflicht (siehe Umschreibung). Zu einer Vollmacht muss er, wenn Sie ihn senden, dem darin unterschriebenen Wirtschaftszweig entsprechen — sonst 400 (siehe Vollmacht).
Halterarten
Ohne weitere Angabe gibt es zwei Arten, und sie ergeben sich aus dem Namen: companyName heisst juristische Person, firstName + lastName natürliche Person. Wer es ausdrücklich sagen will oder muss, setzt partyType:
partyType | Name im address | Im XKfz-Antrag | Wirtschaftszweig |
|---|---|---|---|
NATURAL_PERSON | firstName + lastName | natürliche Person | ohne Angabe 888 |
LEGAL_PERSON | companyName | juristische Person | Pflicht bei Zulassungen |
AUTHORITY | companyName | juristische Person — das Schema kennt keine eigene Art für Behörden | Pflicht bei Zulassungen |
SOLE_TRADER | companyName oder firstName + lastName | mit Unternehmensnamen juristische, sonst natürliche Person | Pflicht bei Zulassungen, auch ohne Unternehmensnamen |
ASSOCIATION | companyName = Name der Vereinigung | eigene Struktur NameVereinigung, dazu wahlweise ein Vertreter | Pflicht bei Zulassungen |
ASSOCIATION meint eine nicht rechtsfähige Personenmehrheit — eine GbR ohne Registereintrag, eine Erbengemeinschaft. Ein eingetragener Verein ist eine juristische Person und gehört zu LEGAL_PERSON. Den benannten Vertreter nennt associationRepresentative mit lastName (Pflicht) und wahlweise firstName — oder mit companyName, wenn eine juristische Person vertritt. Er ist freiwillig — außer bei einer als Formular lesbaren Vollmacht: Dann muss er zum Vertreterblock der Vollmacht passen, und schon eine einseitige Angabe ergibt 400 (siehe Vollmacht). Der Rückkanal gibt ihn als representative wieder aus.
Braucht eine Vereinigung eine Vollmacht, muss sie die gesiegelte PDF selbst mitbringen (powerOfAttorney.documentBase64) — über uns unterschreiben lässt sie nicht, siehe Vollmacht.
Die Angabe ist zusätzlich und abwärtskompatibel: Ein Antrag ohne partyType verhält sich unverändert. Zur Vollmacht siehe Vollmacht.
Die Sicherheitscodes der Stempelplaketten werden bei der Halteränderung nicht geprüft; das Antragsformat führt sie nicht. Schicken Sie customization.licensePlateSeals, frontLicensePlateSecurityCode oder rearLicensePlateSecurityCode mit, antwortet die Schnittstelle mit 400; null oder eine leere Liste gelten als nicht angegeben.
Beispiele
Für den eigenen Fuhrpark, die neue ZB I geht an die neue Anschrift:
{
"externalOrderId": "umzug-4711",
"email": "fuhrpark@example.de",
"customization": {
"vehicleIdentificationNumber": "WBA65432113218654",
"licensePlateNumberComponents": { "usageType": "EURO", "city": "HN", "middle": "LL", "end": "2418" },
"vehicleRegistrationCertificateSecurityCode": "8407251",
"deliveryToHolder": true
},
"vehicleHolder": {
"address": {
"companyName": "Muster Logistik GmbH",
"streetName": "Neue Straße",
"houseNumber": "7",
"addressSuffix": "a",
"zipCode": "74072",
"cityName": "Heilbronn",
"countryCode": "D"
}
}
}Für einen Dritten mit einer selbst beschafften, qualifiziert unterschriebenen Vollmacht als PDF. Den Weg über den Vertrauensdienst mit processId beschreibt die Seite Vollmacht.
{
"externalOrderId": "umzug-4712",
"email": "kunde@example.de",
"customization": {
"vehicleIdentificationNumber": "WVWZZZ7HZ8H444444",
"licensePlateNumberComponents": { "city": "HN", "middle": "MM", "end": "88" },
"vehicleRegistrationCertificateSecurityCode": "3Kd8Pq2",
"deliveryToHolder": false
},
"vehicleHolder": {
"address": {
"firstName": "Max",
"lastName": "Muster",
"gender": "MALE",
"streetName": "Neue Straße",
"houseNumber": "9",
"zipCode": "74072",
"cityName": "Heilbronn"
},
"dateOfBirth": "1980-05-04",
"placeOfBirth": "Heilbronn"
},
"powerOfAttorney": {
"representative": {
"address": {
"companyName": "Autohaus Beispiel GmbH",
"streetName": "Am Markt",
"houseNumber": "1",
"zipCode": "74072",
"cityName": "Heilbronn"
}
},
"documentBase64": "JVBERi0xLjcKJSVFT0YK"
}
}documentBase64 ist hier ein gekürztes PDF, damit das Beispiel lesbar bleibt; bei Ihnen steht dort die vollständige Datei (höchstens 8 MB, sie muss mit %PDF- beginnen).
Typische 400-Fehler
Ein Buchstabe in der Hausnummer:
{
"externalOrderId": "umzug-4713",
"email": "fuhrpark@example.de",
"customization": {
"vehicleIdentificationNumber": "WBA65432113218654",
"licensePlateNumberComponents": { "city": "HN", "middle": "LL", "end": "2418" },
"vehicleRegistrationCertificateSecurityCode": "8407251"
},
"vehicleHolder": {
"address": {
"companyName": "Muster Logistik GmbH",
"streetName": "Neue Straße",
"houseNumber": "7a",
"zipCode": "74072",
"cityName": "Heilbronn"
}
}
}Weitere häufige Meldungen:
Das Feld vehicleHolder fehlt — die neue Anschrift ist der Gegenstand des Antrags. …vehicleHolder.address führt sowohl einen Personennamen als auch einen Firmennamen — es kann nur eines von beidem sein.Der Sicherheitscode der Zulassungsbescheinigung Teil I fehlt — er ist bei der Halteränderung der Nachweis der Berechtigung (Fehlercode 04006).powerOfAttorney: processId und documentBase64 schliessen einander aus. …powerOfAttorney braucht entweder documentBase64 oder processId — ohne Vollmacht weist die Zulassungsbehoerde einen Antrag fuer Dritte ab (§ 37 Abs. 4 FZV).
Nach dem Antrag
Der Ablauf gleicht der Außerbetriebsetzung: Antwort mit order.id, dann ACCEPTED, FORWARDED oder FAILED, später der Bescheid. businessTransaction ist HA, licensePlate das Kennzeichen des Antrags. Die Belege stehen in files; die neue ZB I kommt auf dem Postweg — an wen, sagt customization.deliveryToHolder (siehe oben).
derivedStatus ist SUCCESS, PENDING oder bei einer Ablehnung FAILURE, VEHICLE_UNKNOWN, LICENSE_PLATE_CODE_INVALID, REGISTRATION_CERTIFICATE_CODE_INVALID bzw. LICENSE_PLATE_CODE_QTY_INVALID. Eine Schemaprüfung des KBA kommt hier als FAILURE, der Grund steht in messages[].additional.
Gebühren
Wie bei allen Anträgen: 0,30 € Nutzungsgebühr des KBA (costBreakdown.kbaCost), die Gebühr der Zulassungsbehörde nach dem Bescheid — sichtbar nur mit eigener KBA-Registrierung. Siehe Auskunft, Liste und Belege und die Preisseite.