> ## 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.

# API de verificación de correo electrónico: OTP y riesgo

> Didit verifica correos con OTP y evalúa su riesgo: detecta direcciones filtradas, desechables y no entregables. $0.02 por llamada, sin mínimos mensuales.

La verificación de correo electrónico de Didit ofrece un método fiable para verificar las direcciones de correo de tus usuarios mediante códigos de un solo uso (OTP) y una evaluación de riesgo avanzada. Esta función ayuda a asegurar datos de contacto válidos y accesibles, y protege frente a correos de alto riesgo o comprometidos.

Prompt de integración de la verificación de correo electrónico
        Copy prompt to clipboard



      
      

\<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>



      
      

Paste into

La lección de Academy sobre cómo leer un resultado de verificación llega a la comprobación de correo electrónico en el minuto 8:34.[Verificación de correo electrónico — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=514\&rel=0\&playsinline=1)![Diagrama del flujo de verificación de correo electrónico](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)## Cómo funcionaNuestra solución de verificación de correo electrónico combina la verificación por OTP con señales de inteligencia como la exposición en filtraciones, la entregabilidad y la reputación del proveedor.**1. Recopilación del correo electrónico**El sistema recopila de forma segura:| Dato | Descripción |
| - | - |
| **Dirección de correo electrónico** | Si no se proporcionó al crear la sesión, el usuario introduce su dirección. Si se proporcionó al crear la sesión, el usuario debe verificar la dirección rellenada previamente. |
| **Idioma preferido** | Se usa para comunicaciones localizadas cuando procede. |**2. Generación y envío del OTP**Nuestro sistema de verificación:- Genera un código de un solo uso seguro y con tiempo limitado
- Envía el código por correo electrónico a la dirección indicada
- Aplica buenas prácticas de entregabilidad para maximizar la llegada a la bandeja de entrada
- Ofrece flujos de reenvío con salvaguardas para evitar abusos**3. Validación del código**El usuario completa la verificación:- Introduciendo el código recibido en la interfaz de verificación
- Enviándolo dentro del plazo configurado (5 minutos)
- Solicitando un código nuevo si es necesario (con la limitación de frecuencia adecuada)**4. Evaluación de riesgo**Nuestro sistema realiza comprobaciones avanzadas:| Comprobación | Descripción |
| - | - |
| **Exposición en filtraciones** | Busca el correo en filtraciones de datos conocidas y enumera los servicios expuestos. |
| **Detección de proveedores desechables** | Marca los correos de proveedores temporales o desechables. |
| **Comprobaciones de entregabilidad** | Detecta direcciones no entregables o con sintaxis no válida. |
| **Señales de reputación** | Identifica patrones de correo potencialmente de alto riesgo. |
| **Uso duplicado** | Cruza la dirección con datos históricos de verificación. |**5. Entrega de resultados**Accede a los resultados de la verificación por varios canales:| Canal | Descripción |
| - | - |
| **Panel** | Actualizaciones del panel en tiempo real. |
| **Webhooks** | Notificaciones por webhook. |
| **API** | Respuestas de una API RESTful. |
| **Informes** | Informes completos con información detallada de la verificación. |## Funciones de verificaciónNuestro servicio de verificación de correo electrónico ofrece varias funciones clave para mejorar tu proceso de verificación:#### Verificación por OTP- **Generación segura de códigos**: códigos de un solo uso aleatorios y con tiempo limitado
- **Envío por correo electrónico**: entrega fiable y localizada
- **Tiempos de espera configurables**: define la caducidad según tus requisitos de seguridad
- **Opciones de reintento**: permite a los usuarios solicitar códigos nuevos con los límites adecuados#### Análisis del correo electrónico- **Validación de sintaxis**: comprueba que la dirección cumple el formato RFC
- **Comprobación de proveedores**: identifica proveedores desechables o temporales
- **Información de entregabilidad**: detecta direcciones no entregables
- **Inteligencia de filtraciones**: muestra los registros de filtraciones conocidas con sus detalles#### Evaluación de riesgo- **Detección de exposición**: identifica si el correo aparece en filtraciones conocidas
- **Detección de desechables**: marca correos temporales o de usar y tirar
- **Monitorización de actividad**: rastrea patrones sospechosos a lo largo de los intentos
- **Comprobación de lista de bloqueo**: contrasta con listas internas de correos usados indebidamente con anterioridad


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