> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# E-Mail-Verifizierungs-API: OTP & Risikobewertung

> Didit verifiziert E-Mails per OTP & Risikobewertung. Erkennt Wegwerf- und geleakte Adressen. Pay-per-Call für $0.02, ohne Mindestumsatz.

Die E-Mail-Verifizierung von Didit bietet eine zuverlässige Methode zur Verifizierung von Benutzer-E-Mail-Adressen über Einmalcodes (OTP) und eine fortschrittliche Risikobewertung. Diese Funktion stellt gültige, erreichbare Kontaktinformationen sicher und schützt gleichzeitig vor risikoreichen sowie kompromittierten E-Mails.

Prompt zur Integration der E-Mail-Verifizierung
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\````# Goal
Integrate Didit Email Verification (OTP send + check + deliverability / breach / disposable lookup) into your app. Pick ONE mode.

\# Mode A — Session-based
Use this when the user completes verification through a hosted Didit flow.

1\. Add the EMAIL feature to the workflow (Business Console or POST /v3/workflows/). Configure risk actions: duplicated_email_action, breached_email_action, disposable_email_action.
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open session.url for the user (or mount the Web/Mobile SDK).
4\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

Decision surface: `email_verifications[]` array on the decision payload.

\# Mode B — Standalone API (server-to-server, OTP pair)
Two endpoints paired by email address.

Step 1 — send the code:
\```bash
curl -X POST 'https://verification.didit.me/v3/email/send/' \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "alice@example.com",
"options": { "code_size": 6, "locale": "en", "use_white_label_customization": false },
"vendor_data": "user-1234"
}'
\```
Default: 6 numeric digits and Didit-branded delivery. Set `options.alphanumeric_code: true` for letters+digits (check is case-insensitive). Set `options.use_white_label_customization: true` to use your application's configured white-label sender and branding for this standalone OTP email; the default is `false`. `options.code_size` 4–8. Codes expire in **5 minutes**; one free retry per email within the window.

Step 2 — check the code (user types it into your UI):
\```bash
curl -X POST 'https://verification.didit.me/v3/email/check/' \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "alice@example.com",
"code": "123456",
"disposable_email_action": "DECLINE"
}'
\```
Each session accepts **up to 3** code-entry attempts. The check response always includes the full email metadata (breaches[], disposable flag, deliverable flag).

\# Status enum (per email_verifications[].status / email.status)
"Not Started" | "In Progress" | "Approved" | "Declined" | "Failed" | "Undeliverable" | "Expired or Not Found" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.EMAIL)
warnings[] risk codes include:
DUPLICATED_EMAIL, BREACHED_EMAIL, DISPOSABLE_EMAIL, UNDELIVERABLE_EMAIL, INVALID_EMAIL, OTP_MAX_ATTEMPTS_REACHED, OTP_EXPIRED.
Full catalogue: /core-technology/email-verification/warnings-email-verification.

\# Failure modes to handle
\- send response status="Undeliverable" — bounce/invalid domain; no charge, surface to the user.
\- check response status="Failed" — wrong code, attempts remaining; re-prompt.
\- check response status="Declined" — third failed attempt; restart with /v3/email/send/.
\- check response status="Expired or Not Found" — outside the 5-minute window; restart.
\- BREACHED_EMAIL warning — the address appears in known breaches; route to review per policy.

\# See also
\- Canonical schema: /reference/data-models#email-verification
\- Per-feature report: /core-technology/email-verification/report-email-verification
\- Risk catalogue: /core-technology/email-verification/warnings-email-verification
\- Full integration playbook: /integration/integration-prompt````

\</pre>



      
      

Einfügen in

Die Academy-Lektion zum Lesen eines Verifizierungsergebnisses behandelt die Prüfung der E-Mail-Verifizierung bei 8:34.[E-Mail-Verifizierung — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=514\&rel=0\&playsinline=1)![Ablaufdiagramm der E-Mail-Verifizierung](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/email-verification-flow.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=23d035a261faa2063d6d941290ecf752)## FunktionsweiseUnsere Lösung zur E-Mail-Verifizierung kombiniert die OTP-Verifizierung mit Informationssignalen wie Datenleck-Exposition, Zustellbarkeit und Anbieterreputation.**1. E-Mail-Erfassung**Das System erfasst sicher:| Eingabe | Beschreibung |
| - | - |
| **E-Mail-Adresse** | Wird sie bei der Sitzungserstellung nicht übergeben, gibt der Benutzer seine E-Mail-Adresse ein. Wird sie bei der Sitzungserstellung übergeben, muss der Benutzer die vorausgefüllte E-Mail verifizieren. |
| **Bevorzugte Sprache** | Wird gegebenenfalls für lokalisierte Mitteilungen verwendet. |**2. OTP-Generierung und -Zustellung**Unser Verifizierungssystem:- Generiert einen sicheren, zeitlich begrenzten Einmalcode
- Stellt den Code per E-Mail an die angegebene Adresse zu
- Setzt bewährte Verfahren für die Zustellbarkeit um, um die Platzierung im Posteingang zu maximieren
- Bietet Abläufe zum erneuten Senden mit Schutzmaßnahmen gegen Missbrauch**3. Code-Validierung**Der Benutzer schließt die Verifizierung ab, indem er:- den empfangenen Code in die Verifizierungsoberfläche eingibt
- diesen innerhalb des konfigurierten Zeitfensters (5 Minuten) absendet
- bei Bedarf einen neuen Code anfordert (mit einem angemessenen Rate-Limit)**4. Risikobewertung**Unser System führt fortschrittliche Prüfungen durch:| Prüfung | Beschreibung |
| - | - |
| **Datenleck-Exposition** | Sucht nach der E-Mail in bekannten Datenlecks und listet betroffene Dienste auf. |
| **Erkennung von Wegwerf-Anbietern** | Markiert E-Mails von temporären Anbietern oder Wegwerf-E-Mail-Diensten. |
| **Zustellbarkeitsprüfungen** | Erkennt unzustellbare oder syntaktisch ungültige Adressen. |
| **Reputationssignale** | Identifiziert potenziell risikoreiche E-Mail-Muster. |
| **Mehrfachnutzung** | Gleicht mit historischen Verifizierungsdaten ab. |**5. Ergebnisübermittlung**Greifen Sie über mehrere Kanäle auf die Verifizierungsergebnisse zu:| Kanal | Beschreibung |
| - | - |
| **Dashboard** | Dashboard-Aktualisierungen in Echtzeit. |
| **Webhooks** | Webhook-Benachrichtigungen. |
| **API** | RESTful-API-Antworten. |
| **Berichte** | Umfassende Berichte mit detaillierten Verifizierungsinformationen. |## VerifizierungsfunktionenUnser E-Mail-Verifizierungsdienst bietet mehrere wichtige Funktionen zur Optimierung Ihres Verifizierungsprozesses:#### OTP-Verifizierung- **Sichere Codegenerierung**: Zufällige, zeitlich begrenzte Einmalcodes
- **E-Mail-Zustellung**: Zuverlässige und lokalisierte E-Mail-Zustellung
- **Konfigurierbare Timeouts**: Legen Sie Ablaufzeiten basierend auf Ihren Sicherheitsanforderungen fest
- **Optionen für Wiederholungsversuche**: Ermöglichen Sie es Benutzern, neue Codes mit angemessenen Limits anzufordern#### E-Mail-Analyse- **Syntaxvalidierung**: Stellt sicher, dass die E-Mail-Adresse einem RFC-konformen Format entspricht
- **Anbieterprüfungen**: Identifiziert Wegwerf- oder temporäre Anbieter
- **Einblicke in die Zustellbarkeit**: Erkennt unzustellbare Adressen
- **Datenleck-Erkenntnisse**: Zeigt bekannte Datenleck-Einträge mit Details an#### Risikobewertung- **Erkennung von Datenlecks**: Stellt fest, ob die E-Mail in bekannten Datenlecks auftaucht
- **Wegwerf-E-Mail-Erkennung**: Markiert temporäre oder Wegwerf-E-Mails
- **Aktivitätsüberwachung**: Verfolgt verdächtige Muster über Versuche hinweg
- **Prüfung gegen Sperrlisten**: Prüft gegen interne Listen zuvor missbräuchlich genutzter E-Mails


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.