Zum Inhalt springen

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

FeldRegel
email, externalOrderIdwie bei allen Anträgen: E-Mail Pflicht (3–255 Zeichen), Referenz optional (höchstens 100 Zeichen)
customization.vehicleIdentificationNumberPflicht; Ziffern und Großbuchstaben, höchstens 25 Stellen
customization.licensePlateNumberComponentsPflicht: city, middle, end; usageType optional
customization.vehicleRegistrationCertificateSecurityCodePflicht; der Sicherheitscode der ZB I ist hier der Nachweis der Berechtigung — sieben Zeichen
customization.vehicleRegistrationCertificateNumberoptional; Nummer der ZB I — Form und 400 wie bei den Zulassungsvorgängen; Kleinbuchstaben werden großgeschrieben
customization.vehicleRegistrationCertificateImprintNumberoptional; Druckstücknummer der ZB I, genau acht Zeichen: Großbuchstabe, sechs Ziffern oder Großbuchstaben, zuletzt Ziffer oder X — etwa GCGDSXR3
customization.vehicleRegistrationCertificatePartIINumberoptional; 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.deliveryToHolderoptional; 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.contractPartneroptional — siehe Vertragspartner und Kundennummer
vehicleHolderPflicht — außer bei powerOfAttorney.processId; die neue Anschrift
powerOfAttorneynur für Dritte, siehe Vollmacht

Für vehicleHolder.address gilt:

  • Name entweder firstName und lastName (natürliche Person) oder companyName (juristische Person), nie beides.
  • streetName, houseNumber, zipCode und cityName sind Pflicht. houseNumber besteht laut XKfz-Schema nur aus höchstens vier Ziffern; ein Zusatz wie „7a" gehört in addressSuffix.
  • countryCode ist der KBA-Staatsschlüssel, ohne Angabe D.
  • gender (FEMALE, MALE, DIVERSE, UNSPECIFIED), dateOfBirth (JJJJ-MM-TT) und placeOfBirth nur bei natürlichen Personen; an einer Firma führen sie zu 400.
  • vehicleHolder.partyType ist 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:

partyTypeName im addressIm XKfz-AntragWirtschaftszweig
NATURAL_PERSONfirstName + lastNamenatürliche Personohne Angabe 888
LEGAL_PERSONcompanyNamejuristische PersonPflicht bei Zulassungen
AUTHORITYcompanyNamejuristische Person — das Schema kennt keine eigene Art für BehördenPflicht bei Zulassungen
SOLE_TRADERcompanyName oder firstName + lastNamemit Unternehmensnamen juristische, sonst natürliche PersonPflicht bei Zulassungen, auch ohne Unternehmensnamen
ASSOCIATIONcompanyName = Name der Vereinigungeigene Struktur NameVereinigung, dazu wahlweise ein VertreterPflicht 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:

POST /vehicleHolderChanges/holderChanges
{
  "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.

POST /vehicleHolderChanges/holderChanges
{
  "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:

POST /vehicleHolderChanges/holderChanges 400
{
  "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.