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
| Feld | Regel |
|---|---|
email | Pflicht, 3–255 Zeichen, Form einer E-Mail-Adresse |
externalOrderId | optional, höchstens 100 Zeichen; Schlüssel des Doppelantragsschutzes |
customization.vehicleIdentificationNumber | Pflicht; Ziffern und Großbuchstaben, höchstens 25 Stellen (Kleinbuchstaben werden großgeschrieben) |
customization.licensePlateNumberComponents | Pflicht: city (1–3 Buchstaben), middle (1–2 Buchstaben ohne Umlaute), end (1–4 Ziffern); usageType optional EURO, ELECTRIC oder HISTORIC |
customization.vehicleRegistrationCertificateSecurityCode | Pflicht; Sicherheitscode der Zulassungsbescheinigung Teil I, genau sieben Ziffern oder Buchstaben |
customization.rearLicensePlateSecurityCode | Pflicht; Code der hinteren Stempelplakette, genau drei Zeichen |
customization.frontLicensePlateSecurityCode | Code der vorderen Stempelplakette, drei Zeichen — anzugeben bei Fahrzeugen mit zwei Kennzeichenschildern |
customization.licensePlateReservationIncluded | laut Vertrag Pflicht, true oder false: Kennzeichen fahrzeugbezogen reservieren. Fehlt es, reserviert die Schnittstelle nicht (wie false) |
customization.productType | optional, laut Vertrag VEHICLE_DEREGISTRATION; der Wert wird nicht ausgewertet |
customization.vehicleRegistrationCertificateNumber | optional; Nummer der ZB I, 18–20 Zeichen, beginnend mit einem Buchstaben (Kleinbuchstaben werden großgeschrieben) |
customization.vehicleRegistrationCertificatePartII | optional; securityCode ist dann Pflicht: zwölf Zeichen, beginnend mit B, zuletzt Ziffer oder X, Modulo-11-Prüfziffer |
customization.recycling | optional; Angaben zur Verwertung, siehe unten |
customization.contractPartner | optional; KOPA-VP eines für Ihren Mandanten eingetragenen Vertragspartners (Referenztyp 28) — siehe Vertragspartner und Kundennummer |
vehicleHolder | wird 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.type | Bedeutung | zusätzlich Pflicht | Reservierung |
|---|---|---|---|
SCRAPPED_IN_GERMANY | Verwertungsnachweis liegt vor (§ 15 Abs. 1/2 FZV) | dismantlingCompanyNumber (höchstens 20 Zeichen) und certificateDate (JJJJ-MM-TT, 1940–2099) | nicht möglich |
NOT_DISPOSED | außer Betrieb gesetzt, nicht als Abfall entsorgt (§ 15 Abs. 5 FZV) | — | möglich |
EXPORTED_FOR_DISPOSAL | zur Entsorgung außerhalb EU/EWR verbracht (§ 15 Abs. 4 FZV) | countryCode, KBA-Staatsschlüssel aus 1–3 Großbuchstaben | nicht möglich |
Ohne countryCode setzt die Schnittstelle bei SCRAPPED_IN_GERMANY den Staat D.
Beispiele
Pkw mit zwei Schildern, ohne Reservierung:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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
- Die Antwort
{ "order": { "id": … } }kommt sofort; der Vorgang steht aufangelegt. - Nach dem Versand wertet die Schnittstelle die Quittung aus:
eingereichtoderinBearbeitung(EreignisACCEPTED),weitergeleitetan die Zulassungsbehörde (FORWARDED) oderfehlgeschlagen(FAILED). - Die Entscheidung kommt über den Rückkanal:
beschieden(APPROVED_WITH_DOCUMENTSmit der Abmeldebescheinigung,APPROVEDohne Belege) oderabgelehnt(REJECTED_WITH_DOCUMENTSbzw.REJECTED). Eine Ablehnung kann auch die Statusabfrage der Schnittstelle beim KBA ergeben; sie kommt dann alsREJECTEDohnefiles.
derivedStatus ist bei Erfolg SUCCESS, in der Schwebe PENDING, bei einer Ablehnung FAILURE oder genauer — nur bei der Außerbetriebsetzung gibt es:
derivedStatus | Anlass |
|---|---|
VEHICLE_ALREADY_DEREGISTERED | der Text des KBA sagt, das Fahrzeug ist bereits außer Betrieb |
RESERVATION_IMPOSSIBLE | das Kennzeichen darf nicht reserviert werden, weil es bei einer Umschreibung beibehalten wurde — ohne Reservierung neu einreichen |
ERROR_UNHANDLED | die 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:
{
"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.