Zum Hauptinhalt springen
POST
curl

Adressbasierte Dienste

Für Dienste, die eine Wohn- oder Versorgungsadresse prüfen, können Sie eine einzelne address senden. Didit zerlegt sie vor der Prüfung. Für die beste Trefferquote übermitteln Sie die strukturierten Adressfelder von Didit direkt: Strukturierte Felder überschreiben den Wert von address. postal_code wird als Alias für address_element_5 akzeptiert.

Einwilligung

Einige Datenbankdienste erfordern die ausdrückliche Einwilligung des Endbenutzers, bevor der Anbieter abgefragt werden darf. Im Dienstkatalog sind diese Zeilen mit requires_consent=true gekennzeichnet. Senden Sie consent=true, wenn die Einwilligung des Benutzers für die ausgewählten Dienste gilt. Didit lehnt die Anfrage ab, bevor ein Anbieteraufruf oder ein Abrechnungsereignis erfolgt, wenn ein ausgewählter Dienst eine Einwilligung erfordert und Sie diese nicht übermitteln.

Datei-Uploads

Die Datenbankvalidierung verwendet multipart/form-data. Biometrische Dienste, die selfie erfordern, stellen dieses Feld im API-Playground als Datei-Upload-Feld bereit. Sie können ein Bild direkt auswählen, statt einen Pfad oder einen Base64-String einzufügen. Laden Sie die Datei im Code mit der üblichen Multipart-Syntax hoch:

Validierungsfehler

Didit prüft Pflichtfelder, die Struktur der Adresse und dienstspezifische Formate, bevor der Anbieter aufgerufen wird. Zum Beispiel erwarten die chinesischen Registerdienste chn_national_id und chn_passport_verification den Wert full_name in chinesischer Originalschrift. chn_national_id verlangt außerdem eine gültige chinesische nationale Ausweisnummer mit 15 oder 18 Zeichen und einer korrekten Prüfsumme. Wenn eine Anfrage nicht ausgeführt werden kann, gibt die API eindeutige Feldfehler zurück und es wird keine Nutzung abgerechnet. Schlägt ein Anbieter nach der Vorabprüfung fehl, enthält die Antwort validation_errors. Bei gespeicherten API-Anfragen werden diese Fehler im Ergebnis der Datenbankvalidierung gespeichert.

Abgelehnte Eingaben und nicht verfügbare Ergebnisse

Wenn kein Dienst ein brauchbares Ergebnis liefert, prüfen Sie jeden Eintrag in validation_errors, bevor Sie entscheiden, ob Sie es erneut versuchen. Der HTTP-Statuscode allein entscheidet nicht, ob ein erneuter Versuch sinnvoll ist. Eine Antwort 400 mit code: "provider_rejected_input" und retryable: false bedeutet, dass jeder unbeantwortete Versuch die Eingabe ausdrücklich abgelehnt hat. Korrigieren Sie die übermittelten Daten, bevor Sie es erneut versuchen. Diese Versuche werden nicht abgerechnet. Eine Antwort 502 mit code: "empty_provider_response" und retryable: true bedeutet, dass der Dienst aus einem anderen Grund kein brauchbares Ergebnis liefern konnte. Dazu gehört eine abgelehnte Eingabe, auf die ein nicht verfügbarer Ausweichdienst folgt, oder ein Ausweichdienst, der keine Begründung liefert. Versuchen Sie es später erneut. Die Antwort belegt nicht, dass die Eingabe fehlerhaft ist. Wenn eine Datenbank dauerhaft ausfällt, sendet Didit den Organisationen, die sie kürzlich verwendet haben, eine E-Mail, sobald die Störung anhält, und eine weitere, sobald tatsächliche Prüfungen bestätigen, dass sie wieder antwortet (siehe Verfügbarkeitsbenachrichtigungen). Wenn nur einige der ausgewählten Dienste fehlschlagen, ist die Anfrage dennoch erfolgreich: Die Antwort hat den Statuscode 200, und die fehlgeschlagenen Dienste werden unter database_validation.errors[] aufgelistet, jeweils mit denselben Feldern code und retryable. database_validation.status richtet sich dann nach den Diensten, die geantwortet haben, und kann Approved lauten. Prüfen Sie errors[] deshalb bei jeder Antwort und nicht nur bei einem Fehler 4xx oder 5xx. Ein dort gemeldeter Dienst fehlt in validations und services_used und wird nicht abgerechnet. Wiederholen Sie die Anfrage für diesen Dienst allein. Andere 502-Fehler können korrigierte Eingaben erfordern. Zum Beispiel beschreiben provider_invalid_input und provider_validation_error Eingaben, die die Quelle abgelehnt hat. Sie dürfen nicht unverändert erneut gesendet werden, auch wenn die Legacy-Antwort kein retryable enthält. Die Hinweise zum erneuten Versuch bei empty_provider_response gelten für diese Codes nicht. Ein eindeutiges Ergebnis ohne Übereinstimmung ist eine abgeschlossene Prüfung und kein Verfügbarkeitsfehler.

Autorisierungen

x-api-key
string
header
erforderlich

Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.

Body

issuing_state
string
erforderlich

ISO 3166-1-Alpha-3-Ländercode des Registers, anhand dessen validiert werden soll (z. B. BRA, ESP, COL). Bestimmt, welche Dienste verfügbar sind. Nicht unterstützte Codes geben 400 mit der vollständigen Liste der gültigen Optionen zurück.

Beispiel:

"BRA"

services
string[]

Katalog-service_ids, die für dieses Land ausgeführt werden sollen (z. B. ["bra_cpf"]). Akzeptiert auch eine einzelne Zeichenkette oder eine kommagetrennte/JSON-codierte Zeichenkette. Wird sie weggelassen oder ist sie leer, wird genau ein Standarddienst ausgeführt — der am längsten etablierte Live-Dienst für das Land; neuere, biometrische und nutzungsbasierte Dienste müssen explizit benannt werden. Das Senden von services stellt die Antwort auf die erweiterte Struktur um (fügt services_used und match_score hinzu). Jede ID muss für den issuing_state existieren und live sein; Dienste, die ein Onboarding erfordern, geben 400 zurück, bis sie für Ihre Organisation aktiviert sind. Entdecken Sie verfügbare Dienste pro Land über GET /v1/organization/database-validation-countries/ (ein Katalog-Endpoint, der in dieser Spezifikation nicht dokumentiert ist) oder den Workflow-Editor der Business Console.

Beispiel:
validation_type
string
veraltet

VERALTET. Aus Gründen der Abwärtskompatibilität akzeptiert, aber ignoriert – der validation_type der Antwort wird jetzt daraus abgeleitet, wie viele Dienste eine vollständige Übereinstimmung ergaben. Verwenden Sie services, um bestimmte Dienste festzulegen.

Auf true setzen, wenn der Endbenutzer ausdrücklich in die ausgewählten Validierungsdienste eingewilligt hat. Erforderlich für Dienste, die im Katalog mit requires_consent=true gekennzeichnet sind – ohne dies geben diese Dienste 400 mit services_requiring_consent zurück.

identification_number
string

Universelle Identifikationsnummer — wird automatisch dem korrekten länderspezifischen Feld zugeordnet, sodass Sie sie anstelle von personal_number/tax_number/document_number verwenden können: ARG→document_number (DNI), BOL→document_number (CI), BRA→tax_number (CPF, 11 Ziffern), CHL→personal_number (RUT), COL→personal_number (Cédula), CRI→personal_number (Cédula), DOM→personal_number (Cédula, 11 Ziffern), ECU→personal_number (Cédula, 10 Ziffern), ESP→personal_number (DNI/NIE), GTM→document_number (DPI), HND→document_number (DNI), MEX→personal_number (CURP, 18 Zeichen), PAN→personal_number (Cédula), PER→personal_number (DNI, 8 Ziffern), PRY→document_number (CI), SLV→document_number (DUI), URY→personal_number (CI), VEN→document_number (Cédula). Sie überschreibt niemals ein explizit angegebenes länderspezifisches Feld.

first_name
string

Der Vorname der Person. Von einigen Diensten/Ländern erforderlich.

Beispiel:

"John"

last_name
string

Der Nachname der Person. Von einigen Diensten/Ländern erforderlich.

Beispiel:

"Doe"

middle_name
string

Zweitname, der von einigen Länderdiensten verwendet wird (AUS, NZL, …).

full_name
string

Vollständiger Name – einige Dienste akzeptieren diesen anstelle von Vor-/Nachname (z. B. CHN-Dienste, die den Namen im nativen Schriftsystem abgleichen).

date_of_birth
string<date>

Geburtsdatum, YYYY-MM-DD. Von vielen Diensten verlangt.

Beispiel:

"1980-01-01"

personal_number
string

Staatlich ausgestellte eindeutige Personen-ID. Verwendet von: CHL (RUT), COL (Cédula), CRI, DOM, ECU, ESP (DNI/NIE), MEX (CURP), PAN (Cédula), PER (DNI), URY. Ziehen Sie stattdessen identification_number in Betracht.

tax_number
string

Steueridentifikationsnummer. Verwendet von: BRA (CPF, 11 Ziffern). Ziehen Sie stattdessen identification_number in Betracht.

document_number
string

Dokumentennummer. Verwendet von: ARG (DNI), BOL (CI), GTM (DPI), HND (DNI), PRY (CI), SLV (DUI), VEN (Cédula). Ziehen Sie stattdessen identification_number in Betracht.

document_type
enum<string>

Art des validierten Dokuments: P Reisepass, DL Führerschein, ID Personalausweis, RP Aufenthaltstitel (sowie SSC, HIC, WP, TC, VISA, PSC, BC, OTHER). Erforderlich für einige Dienste (z. B. ESP).

Verfügbare Optionen:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

Dokumentenablaufdatum, YYYY-MM-DD. Erforderlich für die ESP-Validierung (Spanien).

Beispiel:

"2030-01-15"

date_of_issue
string<date>

Dokumentenausstellungsdatum, YYYY-MM-DD (fecha de expedición). Erforderlich für die COL-Validierung der Cédula (Kolumbien).

Beispiel:

"2015-06-20"

nationality
string

Staatsangehörigkeit nach ISO 3166-1 alpha-3. Von einigen Diensten benötigt.

gender
enum<string>

Geschlecht: M, F oder X (sonstiges/unbekannt). Erforderlich für die argentinische RENAPER-Validierung (arg_renaper).

Verfügbare Optionen:
M,
F,
X
address

Wohnadresse. Bevorzugen Sie das strukturierte Objekt {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"}; ein vollständiger einzeiliger String wird weiterhin akzeptiert. Erforderlich für Adressverifizierungsdienste; wenn ein Dienst Adressanforderungen definiert, geben fehlende Teile 400 mit address_fields_required_by zurück.

address_element_1
string

Straßenadresse einschließlich Hausnummer und Straßentyp. Falls weggelassen, wird sie aus address abgeleitet.

address_element_2
string

Wohnung, Einheit, Gebäude, Etage oder zusätzliche Adresszeile. Nur senden, wenn explizit vorhanden.

address_element_3
string

Stadt, Vorort, Bezirk, Ortschaft oder Stadtteil. Falls weggelassen, wird der Wert aus address abgeleitet.

address_element_4
string

Bundesland, Provinz, Region oder Ort. Falls weggelassen, abgeleitet aus address.

address_element_5
string

Postleitzahl. postal_code wird als Alias akzeptiert.

postal_code
string

Postleitzahl für adressbasierte Dienste (Alias von address_element_5).

driver_license_number
string

Führerscheinnummer für staatliche Dokumentenprüfungsdienste (AUS, NZL, IND).

driver_license_card_number
string

Physische Führerscheinkartennummer, sofern separat von der Führerscheinnummer erforderlich (AUS).

driver_license_state
string

Ausstellungsstaat oder -territorium des Führerscheins (AUS).

driver_license_version
string

Führerschein-Versionscode (NZL).

passport_number
string

Reisepassnummer für behördliche Reisepass-Verifizierungsdienste (AUS, NZL, IND, CHN).

passport_expiration_date
string<date>

Ablaufdatum des Reisepasses, YYYY-MM-DD, für Reisepass-Verifizierungsdienste.

passport_file_number
string

Reisepass-Aktenzeichen (IND).

passport_issue_country
string

Ausstellungsland des Reisepasses (ISO 3166-1 Alpha-3) für Passverifizierungsdienste.

medicare_card_number
string

Medicare-Kartennummer (AUS).

immi_card_number
string

Nummer der australischen ImmiCard.

immi_card_expiry_date
string<date>

Ablaufdatum der australischen ImmiCard.

citizenship_certificate_number
string

Staatsbürgerschaftszertifikatsnummer (AUS).

birth_registration_number
string

Registrierungsnummer der Geburtsurkunde (AUS).

birth_registration_date
string<date>

Registrierungsdatum der Geburtsurkunde (AUS).

birth_registration_state
string

Registrierungsstaat der Geburtsurkunde (AUS).

marriage_certificate_number
string

Nummer der Heiratsurkunde (AUS).

change_of_name_certificate_number
string

Nummer der Namensänderungsurkunde (AUS).

first_partner_name
string

Vorname des Partners auf einer Heiratsurkunde (AUS).

last_partner_name
string

Nachname des Partners auf einer Heiratsurkunde (AUS).

voter_id
string

Wählerregisternummer (IND EPIC, IRL).

epic_card
string

Indische EPIC-Wählerausweisnummer.

pan
string

Indische PAN (Permanent Account Number).

national_id
string

Nationale Identifikationsnummer (CHN, MYS, KEN, KHM, NGA, ZAF, …).

cic
string

Mexikanischer INE/IFE Código de Identificación de Credencial (CIC), 9 Ziffern. Wird vom mexikanischen INE-Ausweisgültigkeitsdienst (mex_ine_vigencia) verwendet.

identificador_ciudadano
string

Mexikanischer INE Identificador del Ciudadano (9 Ziffern). Wird zusammen mit cic für moderne INE-Modelle (E/F/G/H) in mex_ine_vigencia verwendet.

ocr
string

Mexikanische INE-OCR-Nummer (13 Ziffern, Rückseite der Karte). Wird zusammen mit cic für Modell D in mex_ine_vigencia verwendet.

voter_number
string

Mexikanische INE Clave de Elector (18 Zeichen). Wird zusammen mit emission_number für ältere IFE-Modelle (A/B/C) in mex_ine_vigencia verwendet.

emission_number
string

Mexikanische INE Número de Emisión. Wird zusammen mit voter_number für ältere IFE-Modelle (A/B/C) in mex_ine_vigencia verwendet.

bvn
string

Nigerianische Bank Verification Number.

bank_card_number
string

Bankkartennummer (CHN-Bankkartenverifizierung).

company_registration_number
string

Vom Unternehmensregister ausgestellte Unternehmensregisternummer: der CNPJ in Brasilien (z. B. 11222333000181), die Registernummer in Südafrika (z. B. 1936/007721/06). Erforderlich für die Dienste für Unternehmensregister und Unternehmensgeschäftsführer (bra_company_registry, bra_company_directors, zaf_company_registry, zaf_company_directors).

company_name
string

Eingetragener Unternehmensname, abgeglichen mit dem Registereintrag. Optional für zaf_company_registry.

initials
string

Die Initialen der Person, wie auf dem Dokument aufgedruckt. Erforderlich für zaf_drivers_license; akzeptiert von zaf_bank_account_holder.

licence_number
string

Führerscheinnummer wie auf der Karte aufgedruckt, für zaf_drivers_license. Bei Weglassen wird document_number verwendet.

refugee_file_number
string

Flüchtlingsaktennummer, ausgestellt vom Department of Home Affairs in Südafrika. Erforderlich für zaf_refugee.

bank_name
string

Name der kontoführenden Bank. Erforderlich für zaf_bank_account_holder.

bank_account_number
string

Bankkontonummer. Erforderlich für zaf_bank_account_holder; akzeptiert von zaf_fraud_prevention.

account_type
string

Bankkontotyp für zaf_bank_account_holder: current, savings, transmission, subscriptionShare oder notKnown, ohne Berücksichtigung der Groß-/Kleinschreibung. Jeder andere Wert gibt 400 zurück. Lassen Sie das Feld weg, wenn Sie den Typ nicht kennen: Der Kontotyp-Abgleich wird dann als nicht bestätigt gemeldet.

phone_number
string

Mobiltelefonnummer des Kontakts für die Dienste, die die Erreichbarkeit überprüfen (zaf_bank_account_holder, zaf_fraud_prevention, zaf_refugee).

right_thumb
string

Base64-kodierter rechter Daumenabdruck für zaf_dha_fingerprint_match, zusammen mit left_thumb oder alleinstehend.

left_thumb
string

Base64-kodierter linker Daumenabdruck für zaf_dha_fingerprint_match, zusammen mit right_thumb oder alleinstehend.

score_level
integer

Minimale biometrische Score-Stufe für zaf_criminal_face_screening. Standardwert ist 3.

max_matches
integer

Maximale Anzahl potenzieller Treffer, die zaf_criminal_face_screening zurückgibt. Standardwert ist 1.

vehicle_register_number
string

Fahrzeugregisternummer. Erforderlich, zusammen mit vehicle_licence_plate und vin, für zaf_vehicle_ownership.

vehicle_licence_plate
string

Kfz-Kennzeichen. Erforderlich, zusammen mit vehicle_register_number und vin, für zaf_vehicle_ownership.

vin
string

Fahrzeug-Identifizierungsnummer (FIN bzw. Fahrgestellnummer). Erforderlich, zusammen mit vehicle_register_number und vehicle_licence_plate, für zaf_vehicle_ownership.

ssn
string

Social Security Number (USA).

phone
string

Telefonnummer für Telefonverifizierungsdienste.

landline
string

Festnetznummer für Telefonverifizierungsdienste.

email
string<email>

E-Mail-Adresse für Identitätsverifizierungsdienste.

country_of_residence
string

ISO 3166-1-Alpha-2-Wohnsitzland. Wird von globalen Identitätsanreicherungsdiensten (z. B. glb_identity_enrichment) verwendet, um die Abfrage einzugrenzen.

Beispiel:

"US"

partial_match_action
enum<string>
Standard:NO_ACTION

Auswirkung von partial_match auf database_validation.status. Standardwert ist NO_ACTION (Status bleibt Approved, mit einer Warnung).

Verfügbare Optionen:
DECLINE,
NO_ACTION
no_match_action
enum<string>
Standard:DECLINE

Auswirkung von no_match auf database_validation.status. Standardwert ist DECLINE.

Verfügbare Optionen:
DECLINE,
NO_ACTION
save_api_request
boolean
Standard:true

Die Validierung als Sitzung beibehalten (Sichtbarkeit in der Konsole, Entscheidungs-Endpoint, status.updated-Webhook). Ändert auch die Struktur der validations-Antwort: Pro-Dienst-Objekte bei true (Standard), eine zusammengeführte Feldzuordnung bei false.

vendor_data
string

Ihre Kennung für den validierten Benutzer; wird zurückgegeben und mit der Sitzung gespeichert.

metadata
object | null

Freiform-JSON, das mit der Anfrage gespeichert und zurückgegeben wird.

Antwort

Validierung abgeschlossen – mindestens ein ausgewählter Dienst hat ein verwertbares Ergebnis zurückgegeben. Prüfen Sie database_validation.match_type für das Gesamtergebnis, validations für die feldbezogenen Vergleiche und outcome_codes pro Dienst sowie errors (sofern vorhanden) für Dienste, die fehlgeschlagen sind.

request_id
string<uuid>

Beibehaltene Sitzungs-ID, wenn save_api_request=true (verwendbar mit GET /v3/session/{sessionId}/decision/); andernfalls eine vorübergehende Korrelations-UUID.

database_validation
object
vendor_data
string | null

Wiedergabe der von Ihnen gesendeten vendor_data.

metadata
object | null

Rückgabe der von Ihnen gesendeten metadata.

created_at
string<date-time>
Zuletzt geändert am 7. November 2026