Zum Hauptinhalt springen
POST
cURL

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

multipart/form-data
front_image
file
erforderlich

Vorderseite des Ausweisdokuments. Zulässige Dateiendungen: tiff, jpg, jpeg, png, webp, pdf. Maximale Upload-Größe: 10 MB (größere Dateien werden mit 400 abgelehnt). PDFs werden vor der OCR in ein Bild gerendert; verschlüsselte PDFs erfordern front_image_password. Bilder werden automatisch auf ca. 0,5 MB komprimiert und die EXIF-Ausrichtung wird angewendet. Laden Sie die vollständige, unbeschnittene Aufnahme hoch, auf der alle vier Ecken des Dokuments sichtbar sind.

front_image_password
string
write-only

Passwort zur Entschlüsselung von front_image, wenn es sich um eine verschlüsselte PDF-Datei handelt. Das Senden einer verschlüsselten PDF-Datei ohne (oder mit einem falschen) Passwort gibt 400 zurück.

back_image
file

Rückseite des Dokuments – senden Sie diese immer, wenn das Dokument eine hat (viele Ausweise tragen die MRZ oder einen Barcode auf der Rückseite; das Weglassen führt lediglich dazu, dass die MRZ und Felder der Rückseite in der Antwort leer bleiben – dieser Endpoint löst keine Warnung wegen fehlender MRZ aus). Gleiche Format- und Größenbeschränkungen wie bei front_image. Wenn weggelassen, sind back_image und Felder der Rückseite in der Antwort null.

back_image_password
string
write-only

Passwort zur Entschlüsselung von back_image, wenn es sich um eine verschlüsselte PDF-Datei handelt.

perform_document_liveness
boolean
Standard:true

Überprüft beide Bilder auf Präsentationsbetrug: Bildschirmwiedergaben (SCREEN_CAPTURE_DETECTED), gedruckte Kopien (PRINTED_COPY_DETECTED) und Porträtmanipulation (PORTRAIT_MANIPULATION_DETECTED). Jeder dieser Fälle führt zur automatischen Ablehnung. Standardmäßig aktiviert; setzen Sie den Wert auf false, um das Betrugsscreening zu überspringen und die Latenz zu verringern. Wenn die Funktion aktiviert ist und der Anbieter keinen verwertbaren Score zurückgibt, lautet die Antwort In Review mit einer DOCUMENT_LIVENESS_NOT_COMPUTED-Warnung anstelle von Approved.

Beispiel:

true

minimum_age
integer | null

Akzeptiert und validiert (1–120), wird jedoch derzeit von diesem Endpoint nicht angewendet – es erzeugt über dieses Feld niemals eine MINIMUM_AGE_NOT_MET-Warnung. Setzen Sie Altersregeln anhand des zurückgegebenen date_of_birth/age durch oder verwenden Sie einen Verifizierungssitzungs-Workflow mit Altersbeschränkungen.

Erforderlicher Bereich: 1 <= x <= 120
expiration_date_not_detected_action
enum<string>
Standard:NO_ACTION

Was zu tun ist, wenn kein Ablaufdatum gelesen werden kann (EXPIRATION_DATE_NOT_DETECTED). Standardwert ist NO_ACTION, da viele Ausweisdokumente kein Ablaufdatum aufgedruckt haben. Hinweis: Ein erkanntes und abgelaufenes Ablaufdatum führt immer zu einer Ablehnung (DOCUMENT_EXPIRED), unabhängig von dieser Option.

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

Was zu tun ist, wenn die extrahierte MRZ die Prüfziffernvalidierung nicht besteht (MRZ_VALIDATION_FAILED). Eine fehlende MRZ löst an diesem Endpoint keine Warnung aus. Nur relevant für Dokumente, die eine MRZ enthalten. REVIEW wird an diesem Endpoint nicht unterstützt und gibt 400 zurück.

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

Was zu tun ist, wenn extrahierte Daten in sich inkonsistent sind: DATA_INCONSISTENT, MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME (visuelle Zone stimmt nicht mit der MRZ überein) oder DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS.

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

Was zu tun ist, wenn ein kritisches gedrucktes Feld auf der Aufnahme physisch verdeckt war (CRITICAL_FIELD_OCCLUSION_DETECTED) - eine Identifikationsnummer, ein Name, das Geburtsdatum oder das Ablaufdatum. Lehnt standardmäßig ab, wie die anderen Dokumentintegritätsrisiken dieses Endpoints: Das Verdecken von Nummern, mit denen ein Bericht abgeglichen wird, entspricht einem geschwärzten Dokument. Der für ein verdecktes Feld ausgelesene Wert wird bei der Extraktion ohnehin verworfen, sodass die passende Warnung *_NOT_DETECTED üblicherweise hinzukommt. REVIEW wird auf diesem Endpoint nicht unterstützt und gibt 400 zurück.

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

Was zu tun ist, wenn eine Nummer nicht dem Format entspricht, das die ausstellende Behörde für diesen Dokumenttyp verwendet (DOCUMENT_NUMBER_FORMAT_MISMATCH, PERSONAL_NUMBER_FORMAT_MISMATCH). Standardwert ist NO_ACTION, wodurch die Warnung gemeldet wird, ohne den Status zu ändern. REVIEW wird auf diesem Endpoint nicht unterstützt und gibt 400 zurück.

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

Bevorzugtes Schriftsystem für Namens-/Adressfelder auf Dokumenten, die sowohl lateinischen als auch nicht-lateinischen Text enthalten (Arabisch, Kyrillisch, CJK, …). latin gibt transliterierte/lateinische Werte zurück; non_latin bevorzugt das native Schriftsystem.

Verfügbare Optionen:
latin,
non_latin
save_api_request
boolean
Standard:true

Wenn true (Standard), wird der Aufruf als Sitzung vom Typ API persistent gespeichert — sichtbar in der Business Console, abrufbar über GET /v3/session/{sessionId}/decision/ unter Verwendung der zurückgegebenen request_id, angekündigt über einen status.updated-Webhook und mit Dokumentenbildern, die als Medien-URLs zurückgegeben werden. Wenn false, wird nichts gespeichert, request_id ist eine flüchtige UUID und Bilder werden inline als Base64-JPEG-Strings zurückgegeben.

Beispiel:

true

vendor_data
string

Optionale opake Zeichenfolge (Ihre interne Benutzer-ID, E-Mail, UUID…), die in der gespeicherten Sitzung hinterlegt und in der Antwort zurückgegeben wird. Verwenden Sie sie, um API-Aufrufe mit Ihren eigenen Datensätzen abzugleichen und Sitzungen später zu filtern.

Beispiel:

"user-123"

metadata
object

Optionales JSON-Objekt, das mit der Sitzung gespeichert (wenn save_api_request=true) und in der Antwort zurückgegeben wird. Senden Sie es bei Multipart-Anfragen als JSON-codiertes String-Feld (z. B. metadata={"flow":"onboarding"}) – es wird in ein Objekt geparst.

Beispiel:

Antwort

Dokument verarbeitet. id_verification.status ist Approved, Declined oder In Review; jedes erkannte Problem wird einzeln in id_verification.warnings aufgeführt. In Review wird zurückgegeben, wenn eine angeforderte Dokumenten-Liveness-Prüfung kein verwertbares Ergebnis geliefert hat (DOCUMENT_LIVENESS_NOT_COMPUTED). Ein problematisches Dokument gibt dennoch 200 mit status: "Declined" zurück – prüfen Sie den Body, nicht nur den HTTP-Code. Wenn save_api_request=true, ist request_id die persistierte Sitzungs-ID und Bildfelder sind kurzlebige Medien-URLs; bei save_api_request=false sind sie Inline-Base64-JPEG-Strings.

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.

id_verification
object
vendor_data
string | null

Rückgabe der von Ihnen gesendeten vendor_data oder null.

metadata
object | null

Rückgabe des von Ihnen gesendeten metadata-Objekts oder null.

created_at
string<date-time>

ISO 8601-Zeitstempel (UTC), wann die Antwort generiert wurde.

Zuletzt geändert am 7. November 2026