Zum Inhalt springen

Außerbetriebsetzung (AB)

Meldet ein zugelassenes Fahrzeug ab. Das ist der Antrag aus dem Vertrag von kennzeichen.dev; ein bestehender Aufrufer schickt ihn unverändert.

Abgrenzung. Die Außerbetriebsetzung kennt keine Vollmacht: Wer für einen Dritten abmeldet, weist sich über dessen Sicherheitscodes aus. Halterdaten schicken Sie nicht — das KBA kennt den Halter aus dem Fahrzeugregister.

Endpunkt

POST /vehicleDeregistrations/deregistrations — Ereignistyp VEHICLE_DEREGISTRATION_XKFZ_EVENT.

Pflichtfelder und Regeln

FeldRegel
emailPflicht, 3–255 Zeichen, Form einer E-Mail-Adresse
externalOrderIdoptional, höchstens 100 Zeichen; Schlüssel des Doppelantragsschutzes
customization.vehicleIdentificationNumberPflicht; Ziffern und Großbuchstaben, höchstens 25 Stellen (Kleinbuchstaben werden großgeschrieben)
customization.licensePlateNumberComponentsPflicht: city (1–3 Buchstaben), middle (1–2 Buchstaben ohne Umlaute), end (1–4 Ziffern); usageType optional EURO, ELECTRIC oder HISTORIC
customization.vehicleRegistrationCertificateSecurityCodePflicht; Sicherheitscode der Zulassungsbescheinigung Teil I, genau sieben Ziffern oder Buchstaben
customization.rearLicensePlateSecurityCodePflicht; Code der hinteren Stempelplakette, genau drei Zeichen
customization.frontLicensePlateSecurityCodeCode der vorderen Stempelplakette, drei Zeichen — anzugeben bei Fahrzeugen mit zwei Kennzeichenschildern
customization.licensePlateReservationIncludedlaut Vertrag Pflicht, true oder false: Kennzeichen fahrzeugbezogen reservieren. Fehlt es, reserviert die Schnittstelle nicht (wie false)
customization.productTypeoptional, laut Vertrag VEHICLE_DEREGISTRATION; der Wert wird nicht ausgewertet
customization.vehicleRegistrationCertificateNumberoptional; Nummer der ZB I, 18–20 Zeichen, beginnend mit einem Buchstaben (Kleinbuchstaben werden großgeschrieben)
customization.vehicleRegistrationCertificatePartIIoptional; securityCode ist dann Pflicht: zwölf Zeichen, beginnend mit B, zuletzt Ziffer oder X, Modulo-11-Prüfziffer
customization.recyclingoptional; Angaben zur Verwertung, siehe unten
customization.contractPartneroptional; KOPA-VP eines für Ihren Mandanten eingetragenen Vertragspartners (Referenztyp 28) — siehe Vertragspartner und Kundennummer
vehicleHolderwird angenommen, aber nicht an das KBA übermittelt

Die Schnittstelle leitet die Zahl der Kennzeichenschilder aus dem vorderen Code ab: Ist er angegeben, gilt das Fahrzeug als eines mit zwei Schildern, sonst als eines mit einem. Stimmt das nicht zum Register, weist das KBA den Antrag ab (derivedStatus LICENSE_PLATE_CODE_QTY_INVALID).

Verwertung

recycling.typeBedeutungzusätzlich PflichtReservierung
SCRAPPED_IN_GERMANYVerwertungsnachweis liegt vor (§ 15 Abs. 1/2 FZV)dismantlingCompanyNumber (höchstens 20 Zeichen) und certificateDate (JJJJ-MM-TT, 1940–2099)nicht möglich
NOT_DISPOSEDaußer Betrieb gesetzt, nicht als Abfall entsorgt (§ 15 Abs. 5 FZV)möglich
EXPORTED_FOR_DISPOSALzur Entsorgung außerhalb EU/EWR verbracht (§ 15 Abs. 4 FZV)countryCode, KBA-Staatsschlüssel aus 1–3 Großbuchstabennicht möglich

Ohne countryCode setzt die Schnittstelle bei SCRAPPED_IN_GERMANY den Staat D.

Beispiele

Pkw mit zwei Schildern, ohne Reservierung:

POST /vehicleDeregistrations/deregistrations
{
  "externalOrderId": "abmeldung-4711",
  "email": "kunde@example.de",
  "customization": {
    "productType": "VEHICLE_DEREGISTRATION",
    "licensePlateNumberComponents": { "usageType": "EURO", "city": "HN", "middle": "LL", "end": "2418" },
    "frontLicensePlateSecurityCode": "Vbg",
    "rearLicensePlateSecurityCode": "K7m",
    "vehicleIdentificationNumber": "WBA65432113218654",
    "vehicleRegistrationCertificateSecurityCode": "8407251",
    "licensePlateReservationIncluded": false
  }
}

Fahrzeug mit einem Schild und Elektrokennzeichen, das Kennzeichen wird reserviert:

POST /vehicleDeregistrations/deregistrations
{
  "externalOrderId": "abmeldung-4712",
  "email": "kunde@example.de",
  "customization": {
    "licensePlateNumberComponents": { "usageType": "ELECTRIC", "city": "BO", "middle": "CD", "end": "123" },
    "rearLicensePlateSecurityCode": "RC2",
    "vehicleIdentificationNumber": "W0L000051T2123456",
    "vehicleRegistrationCertificateSecurityCode": "VCSC123",
    "licensePlateReservationIncluded": true
  }
}

Mit Verwertungsnachweis:

POST /vehicleDeregistrations/deregistrations
{
  "externalOrderId": "verschrottung-4713",
  "email": "kunde@example.de",
  "customization": {
    "licensePlateNumberComponents": { "city": "HN", "middle": "AB", "end": "77" },
    "frontLicensePlateSecurityCode": "a1B",
    "rearLicensePlateSecurityCode": "c2D",
    "vehicleIdentificationNumber": "WVWZZZ1KZAW000001",
    "vehicleRegistrationCertificateSecurityCode": "2H5Fktp",
    "licensePlateReservationIncluded": false,
    "recycling": {
      "type": "SCRAPPED_IN_GERMANY",
      "dismantlingCompanyNumber": "12345678",
      "certificateDate": "2026-09-10"
    }
  }
}

Typische 400-Fehler

Reservierung bei Entsorgung:

POST /vehicleDeregistrations/deregistrations 400
{
  "externalOrderId": "verschrottung-4714",
  "email": "kunde@example.de",
  "customization": {
    "licensePlateNumberComponents": { "city": "HN", "middle": "AB", "end": "78" },
    "rearLicensePlateSecurityCode": "c2D",
    "vehicleIdentificationNumber": "WVWZZZ1KZAW000002",
    "vehicleRegistrationCertificateSecurityCode": "2H5Fktp",
    "licensePlateReservationIncluded": true,
    "recycling": { "type": "EXPORTED_FOR_DISPOSAL", "countryCode": "NL" }
  }
}

Eine Vollmacht am Antrag — das KBA lehnt sie ab (Quittungscode 00300), die Schnittstelle sagt es vorher:

POST /vehicleDeregistrations/deregistrations 400
{
  "email": "kunde@example.de",
  "customization": {
    "licensePlateNumberComponents": { "city": "HN", "middle": "LL", "end": "2418" },
    "rearLicensePlateSecurityCode": "K7m",
    "vehicleIdentificationNumber": "WBA65432113218654",
    "vehicleRegistrationCertificateSecurityCode": "8407251",
    "licensePlateReservationIncluded": false
  },
  "powerOfAttorney": { "processId": 1 }
}

Weitere häufige Meldungen:

  • licensePlateNumberComponents muss city, middle und end enthalten.
  • Der Sicherheitscode der hinteren Stempelplakette ("…") muss aus genau drei Ziffern oder Buchstaben bestehen. — der zwölfstellige Code steht auf der ZB II, der siebenstellige auf der ZB I.
  • usageType "…" wird nicht unterstützt (zulässig: EURO, ELECTRIC, HISTORIC).
  • customization.licensePlateReservationIncluded muss true oder false sein. — auch "false" als Zeichenkette wird abgewiesen.
  • Bei Verwertung in Deutschland sind Betriebsnummer des Demontagebetriebs und Ausstellungsdatum anzugeben (Fehlercode 00301).

Nach dem Antrag

  1. Die Antwort { "order": { "id": … } } kommt sofort; der Vorgang steht auf angelegt.
  2. Nach dem Versand wertet die Schnittstelle die Quittung aus: eingereicht oder inBearbeitung (Ereignis ACCEPTED), weitergeleitet an die Zulassungsbehörde (FORWARDED) oder fehlgeschlagen (FAILED).
  3. Die Entscheidung kommt über den Rückkanal: beschieden (APPROVED_WITH_DOCUMENTS mit der Abmeldebescheinigung, APPROVED ohne Belege) oder abgelehnt (REJECTED_WITH_DOCUMENTS bzw. REJECTED). Eine Ablehnung kann auch die Statusabfrage der Schnittstelle beim KBA ergeben; sie kommt dann als REJECTED ohne files.

derivedStatus ist bei Erfolg SUCCESS, in der Schwebe PENDING, bei einer Ablehnung FAILURE oder genauer — nur bei der Außerbetriebsetzung gibt es:

derivedStatusAnlass
VEHICLE_ALREADY_DEREGISTEREDder Text des KBA sagt, das Fahrzeug ist bereits außer Betrieb
RESERVATION_IMPOSSIBLEdas Kennzeichen darf nicht reserviert werden, weil es bei einer Umschreibung beibehalten wurde — ohne Reservierung neu einreichen
ERROR_UNHANDLEDdie Schemaprüfung des KBA hat an Registerdaten abgewiesen; Korrektur und erneutes Einreichen helfen nicht

Für alle Vorgangsarten gelten außerdem VEHICLE_UNKNOWN, LICENSE_PLATE_CODE_INVALID, REGISTRATION_CERTIFICATE_CODE_INVALID und LICENSE_PLATE_CODE_QTY_INVALID — Einzelheiten unter Webhooks.

Ein Ereignis nach dem Bescheid:

Ereignis VEHICLE_DEREGISTRATION_XKFZ_EVENT
{
  "eventType": "VEHICLE_DEREGISTRATION_XKFZ_EVENT",
  "order": { "id": 1, "externalId": "abmeldung-4711" },
  "attemptOf": 1,
  "attempt": 1,
  "businessTransaction": "AB",
  "status": "APPROVED_WITH_DOCUMENTS",
  "derivedStatus": "SUCCESS",
  "applicationId": "88888020260915000001",
  "licensePlate": "HN-LL 2418",
  "files": [
    {
      "purposeType": "CERTIFICATE",
      "mediaType": "application/pdf",
      "fileAccessKey": "k-3c1f0e2a",
      "expirationTime": "2026-09-18T10:15:30",
      "filename": "Vorgang-1_HN-LL-2418_Abmeldebescheinigung.pdf"
    }
  ],
  "eventTime": "2026-09-15T10:15:30"
}

Die Abmeldebescheinigung holen Sie mit dem fileAccessKey ab — siehe Auskunft, Liste und Belege.

Gebühren

Das KBA erhebt je Antrag, der das Prüfmodul passiert, 0,30 € nach Nr. 129 GebOSt. Die Schnittstelle weist sie als costBreakdown.kbaCost (30 Cent) aus, sobald der Bescheid (0709) vorliegt — nicht schon mit der Quittung, die sie mit 07085 ankündigt. Die Gebühren der Zulassungsbehörde stehen nach dem Bescheid in costBreakdown.registrationOfficeCosts. Beides sehen nur Mandanten mit eigener KBA-Registrierung — Einzelheiten unter Auskunft, Liste und Belege. Den Preis von kfz-api.de nennt die Preisseite.