Saltar al contenido principal
POST
curl

Autorizaciones

x-api-key
string
header
requerido

La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.

Cuerpo

application/json
email
string<email>
requerido

Dirección de correo electrónico del destinatario. Las direcciones mal formadas devuelven 400; las direcciones sintácticamente válidas que no pueden recibir correo (validación DNS/MX fallida) devuelven 200 con status: "Undeliverable".

Ejemplo:

"alice@example.com"

options
object

Opciones de formato, localización y marca del OTP. Todos los campos son opcionales.

signals
object

Señales opcionales de dispositivo y red sobre el usuario final, que se envían a la capa antifraude para mejorar la detección de tráfico abusivo o automatizado. Todos los campos son opcionales.

vendor_data
string

Identificador opcional controlado por quien llama (tu id interno de usuario, un correo electrónico, un UUID, etc.) que se guarda en la sesión y se devuelve en la respuesta del envío, en la respuesta de la comprobación correspondiente, en los webhooks y en la Business Console. Úsalo para relacionar el request_id de Didit con tu registro de usuario.

metadata
object | null

Objeto JSON opcional de formato libre que se guarda en la sesión y se devuelve en la respuesta del envío, en la respuesta de la comprobación correspondiente, en los webhooks y en la Business Console.

Respuesta

Envío confirmado. Revisa status: Success y Retry significan que hay un código en camino; Undeliverable significa que la dirección no puede recibir correo y la verificación ya se ha finalizado como Declined. request_id es el id de sesión persistido (el mismo id en un Retry).

request_id
string<uuid>

ID de sesión de la verificación. Un envío Retry devuelve el mismo request_id que el envío original. Este ID aparece en la Business Console, lo vuelve a devolver un POST /v3/email/check/ finalizado y se puede pasar a GET /v3/session/{sessionId}/decision/.

status
enum<string>

Success: OTP enviado por correo electrónico a una nueva verificación (se factura). Retry: nuevo OTP enviado por correo electrónico para la verificación pendiente creada por un envío anterior (gratis). Undeliverable: la dirección no superó la validación de entregabilidad o no se pudo enviar el mensaje; la verificación se finaliza de inmediato como Declined y no se factura nada.

Opciones disponibles:
Success,
Retry,
Undeliverable
reason
enum<string> | null

email_can_not_be_delivered cuando status es Undeliverable; null en caso contrario.

Opciones disponibles:
email_can_not_be_delivered,
null
vendor_data
string | null

Devuelve el vendor_data almacenado en la sesión (del primer envío).

metadata
object | null

Devuelve el metadata almacenado en la sesión (del primer envío).

Última modificación el 1 de noviembre de 2026