> ## 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 identidad: 14,000+ documentos

> La verificación de identidad de Didit usa IA en 220+ países y 14,000+ documentos. $0.15 por comprobación, $10 gratis al mes e inferencia en menos de 2 s.

La verificación de identidad de Didit lee y autentica documentos de identidad oficiales, como pasaportes, documentos nacionales de identidad, carnets de conducir y permisos de residencia, en 220+ países y 14,000+ tipos de documento. Comprueba si el documento ha sido manipulado o es fraudulento y después extrae sus datos con OCR basado en IA; donde un país lo permite, las personas pueden verificarse sin documento mediante una consulta a una base de datos o una wallet de identidad digital ([tres formas de verificar](#tres-formas-de-verificar)).La lección de Academy sobre cómo leer el resultado de una verificación llega a la verificación de identidad en el minuto 3:47 y muestra por qué las comprobaciones de autenticidad van antes que los datos extraídos.[Verificación de identidad: la autenticidad antes que los datos — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=227\&rel=0\&playsinline=1)

Prompt de integración de la verificación de identidad
        Copy prompt to clipboard



      
      

\<pre>

\````# Goal
Integrate Didit ID Verification (OCR + document authenticity) into your app. Pick ONE of the two delivery modes below.

\# Mode A — Session-based (recommended for user-facing flows)
Use this when the user uploads / photographs their document in a hosted Didit flow. The feature is configured on a workflow and runs as part of /v3/session/.

1\. Create a workflow with the ID_VERIFICATION feature (Business Console or POST /v3/workflows/). Canonical feature enum: "OCR" (legacy) or "ID_VERIFICATION".
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open the returned session.url for the user OR mount the Web/Mobile SDK.
4\. After completion fetch the decision — GET /v3/session/{sessionId}/decision/ (or subscribe to the session.status.updated webhook).

The decision response surfaces the result under the plural array `id_verifications[]` (one entry per document collected in the workflow).

\# Mode B — Standalone API (server-to-server)
Use when you already have one or two document images and want a one-shot OCR + checks call.

POST https://verification.didit.me/v3/id-verification/
multipart/form-data — x-api-key: YOUR_API_KEY

Required: front_image. Required for dual-sided docs (ID cards, driver licences): back_image.
Allowed extensions: tiff/jpg/jpeg/png/webp/pdf. Max 5 MB per file. Images must be uncropped — all 4 corners visible.

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/id-verification/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'front_image=@./id_front.jpg' \
-F 'back_image=@./id_back.jpg' \
-F 'perform_document_liveness=true' \
-F 'minimum_age=18' \
-F 'expiration_date_not_detected_action=DECLINE' \
-F 'invalid_mrz_action=DECLINE' \
-F 'inconsistent_data_action=DECLINE' \
-F 'preferred_characters=latin' \
-F 'save_api_request=true' \
-F 'vendor_data=user-123'
\```
Returns: { request_id, id_verification: { status, full_name, document_type, document_number, date_of_birth, expiration_date, parsed_address, mrz, barcodes, portrait_image, front_document_image, back_document_image, warnings: [...] } }.

\# Status enum (per id_verifications[].status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.ID_VERIFICATION)
The warnings[] array on each id_verification carries risk codes including:
DOCUMENT_EXPIRED, INVALID_MRZ, INCONSISTENT_DATA, COULD_NOT_RECOGNIZE_DOCUMENT, DOCUMENT_LIVENESS_FAILED, MIN_AGE_NOT_REACHED, MAX_AGE_EXCEEDED, EXPIRATION_DATE_NOT_DETECTED, DUPLICATED_DOCUMENT, FRAUD_RISK_FROM_OCR, COUNTRY_NOT_ALLOWED, DOCUMENT_TYPE_NOT_ALLOWED.
Full catalogue: /core-technology/id-verification/warnings-id-verification.

\# Failure modes to handle
\- HTTP 403 "You don't have enough credits..." — insufficient balance.
\- HTTP 400 with multipart validation errors (missing back_image on dual-sided docs, file > 5 MB, unsupported extension).
\- status="Declined" with one or more terminal warnings (DOCUMENT_EXPIRED, DOCUMENT_LIVENESS_FAILED, COULD_NOT_RECOGNIZE_DOCUMENT, etc.) — surface the first warning's long_description to the user and stop the flow.
\- status="In Review" with a DOCUMENT_LIVENESS_NOT_COMPUTED warning — the requested forgery check produced no usable score (provider error or crash); treat the document as unchecked and route it to your manual-review queue.
\- status="In Review" — route to your manual-review queue; do not approve the user.

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

\</pre>



      
      

Paste into

![Pasos de la verificación de identidad de Didit, desde la captura del documento hasta el análisis con IA y la decisión](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-verification-steps.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=42c64546f3495000d7ea3b10c4b5fa50)**1. Captura inteligente**Empieza el proceso de verificación sin esfuerzo con nuestro sistema de captura intuitivo basado en IA. Los usuarios suben o fotografían sus documentos de identidad con asistencia en tiempo real:* **Detección automática** del tipo de documento y del país emisor
* **Indicaciones visuales en tiempo real** para colocar, iluminar y enfocar correctamente
* **Captura automática** cuando las condiciones son ideales, sin reintentos manuales
* Admite **pasaportes**, **carnets de conducir**, **documentos nacionales de identidad** y **permisos de residencia**> [!NOTE]
>
> *Por qué importa*: nuestra captura inteligente reduce la fricción del usuario y garantiza envíos de alta calidad al primer intento, lo que aumenta la conversión y la confianza.**2. Procesamiento avanzado de datos**Extrae y valida los datos de identidad con una precisión inigualable.**Extracción de datos**: una tecnología de vanguardia procesa todos los campos clave:| Capacidad | Detalles |
| - | - |
| **Extracción de campos** | Nombre completo, fecha de nacimiento, número de documento, fechas de emisión y caducidad, nacionalidad y más |
| **OCR** | Reconocimiento de texto de alta precisión |
| **Análisis de MRZ** | Decodificación de la zona de lectura mecánica |
| **Decodificación de códigos de barras** | Extracción automática de los datos del código de barras |**Validación de datos**:* Contrasta los datos entre las zonas visuales, la MRZ y los códigos de barras para comprobar su coherencia
* Verificación criptográfica de los códigos de barras firmados por el emisor, cuando la autoridad emisora publica los certificados necesarios para comprobarlos. Hoy se cubren los documentos nacionales de identidad franceses: su código de barras 2D-Doc de la ANTS se verifica con un certificado de firmante que enlaza con la lista de confianza de la ANTS, de modo que se detecta un código de barras que la autoridad no firmó aunque su contenido parezca coherente
* Coincidencia de formatos y patrones para detectar anomalías
* Consultas en tiempo real a bases de datos oficiales (donde esté permitido) para una verificación con garantías> [!NOTE]
>
> *Por qué importa*: el procesamiento exhaustivo de datos garantiza la precisión y elimina errores, para que confíes en cada verificación.**3. Análisis avanzado**Nuestro sistema basado en IA realiza comprobaciones exhaustivas para garantizar la integridad y la autenticidad del documento:- Verificación de la **autenticidad del documento**
- **Detección de manipulaciones** y análisis de la integridad de la imagen
- **Detección de vida del documento** para prevenir el fraude mediante:
  * Capturas de pantalla de documentos digitales
  * Fotos de documentos mostrados en pantallas
  * Copias impresas de documentos
  * Documentos manipulados con retratos alterados
- **Validación de elementos de seguridad** (hologramas, marcas de agua, etc.)
- **Comparación con plantillas** de una base de datos certificada**4. Resultados e integración sin fricciones**Obtén información accionable al instante con opciones de entrega flexibles.**Resultados en tiempo real**:- Actualizaciones inmediatas en un panel intuitivo
- Notificaciones instantáneas por webhook para flujos automatizados
- API RESTful para integrarte sin fricciones con tus sistemas actuales**Informes completos**:* Informes PDF detallados con los resultados de la verificación y las pruebas
* Pistas de auditoría para cumplimiento y conservación de registros
* Opciones personalizables para ajustarte a tus necesidades operativas> [!NOTE]
>
> *Por qué importa*: unos resultados rápidos y accesibles permiten a tu equipo actuar con agilidad, manteniendo un proceso seguro y auditable.***## Tres formas de verificarUn documento fotografiado es uno de los tres [métodos de verificación de identidad](https://docs.didit.me/core-technology/id-verification/verification-methods.md). Según el país, también puedes permitir que las personas demuestren quiénes son sin ningún documento:- **[Consulta sin documento](https://docs.didit.me/core-technology/id-verification/non-doc-lookup.md)**: el usuario escribe su número de identificación nacional y algunos datos personales, y los comprobamos con un registro oficial u otra fuente de referencia, indicada por país. Cuando esa fuente devuelve un retrato, se incluyen un selfie, una prueba de vida pasiva y una coincidencia facial.
- **[Wallets de identidad digital](https://docs.didit.me/core-technology/id-verification/digital-id-wallets.md)**: el usuario inicia sesión con una identidad digital oficial o bancaria, como MitID, BankID o itsme, y la wallet comparte un conjunto firmado de atributos.Todo lo que describe esta página se refiere a la captura de documentos, que no cambia: un flujo de verificación que no dice nada sobre los métodos sigue siendo solo de captura de documentos.***## Requisitos de los documentosPara que la verificación tenga éxito, los documentos deben cumplir estos estándares:#### Requisitos generales- Emitido por un gobierno y vigente dentro del periodo de validez configurado
- Físicamente intacto (sin daños, arañazos ni manchas que oculten detalles)
- Toda la información crítica (nombre completo, fecha de nacimiento, MRZ, etc.) claramente legible
- Datos coherentes en todos los documentos enviados#### Requisitos de la imagen- Foto original y en tiempo real (sin capturas de pantalla, escaneos ni copias digitales)
- Formatos admitidos: JPG, JPEG, PNG, PDF
- Tamaño máximo de archivo: 5MB
- Imagen a todo color con todas las esquinas del documento visibles
- Sin reflejos, sombras, edición digital ni manipulación
- Se exigen documentos físicos (los documentos de identidad digitales solo se admiten en regiones concretas donde están reconocidos oficialmente)## Ajustes adicionales por país y tipo de documentoConfigura reglas detalladas por país y tipo de documento directamente desde la consola. Estos controles te permiten adaptar los criterios de aceptación y las preferencias de transcripción a tus necesidades de cumplimiento.![Panel de ajustes adicionales de la verificación de identidad de Didit para las reglas de caducidad y aceptación por país](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-additional-settings.jpeg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=4238b10a404795a61926fbdf1a3adc20)* **Modo de caducidad**: elige cómo tratar los documentos con fecha de caducidad vencida.

  * **Rechazar documentos vencidos**: si la fecha de caducidad del documento es anterior a hoy, se marca como vencido y se rechaza.
  * **Permitir documentos vencidos**: no se marcan ni se bloquean los documentos con fecha de caducidad vencida.

  Este ajuste también controla la monitorización posterior a la aprobación, que está activada por defecto: con **Rechazar documentos vencidos**, una sesión aprobada pasa a `"Kyc Expired"` cuando después vence la fecha de caducidad del documento, y se dispara `status.updated`; con **Permitir documentos vencidos** sigue aprobada y nunca se monitoriza. Consulta la [monitorización de documentos](https://docs.didit.me/core-technology/id-verification/document-monitoring-id-verification.md).
* **Formato de caracteres preferido**: selecciona cómo deben normalizarse los nombres y campos extraídos.
  * **Preferir caracteres latinos (A–Z)**: ejemplo: "Mohammed"
  * **Preferir escritura original (no latina)**: ejemplo: "محمد"
* **Compatibilidad regional y subtipos**: activa documentos por región y especifica los subtipos aceptables cuando un tipo de documento tiene muchas variaciones.
  * Ejemplo: en los carnets de conducir de Estados Unidos, selecciona los subtipos exactos que aceptas (por ejemplo, Arizona Commercial Driver License, Indiana Operator License (REAL ID), New York Enhanced Driver License, etc.).
  * Usa el control **Subtipos aceptados** para incluir o excluir rápidamente muchas variantes (por ejemplo, "128 selected").> Consejo: estos ajustes se aplican por país y tipo de documento, así que puedes ser estricto en unos mercados y más permisivo en otros.## Restricciones de edad por paísAplica requisitos de edad mínima y máxima país por país durante la verificación de identidad. El sistema extrae la fecha de nacimiento del usuario del documento enviado y la comprueba con los límites de edad configurados para el país emisor del documento.### ConfiguraciónLas restricciones de edad se configuran como una tabla por país directamente desde la consola:| Columna | Descripción |
| - | - |
| **País** | El país emisor del documento (ISO 3166-1 alpha-3). Solo se muestran los países activados en tu lista de documentos permitidos. |
| **Edad mín.** | Edad mínima exigida. Los usuarios menores que este valor activan la acción configurada (rechazar o revisar). |
| **Edad máx.** | Edad máxima permitida. Los usuarios mayores que este valor activan la acción configurada. Déjalo vacío para no fijar límite superior. |
| **Anulaciones de estado/región** | En los países con variaciones de edad subnacionales (por ejemplo, Estados Unidos, México), abre el icono de ajustes para configurar edades mínimas y máximas por estado que anulan los valores predeterminados del país. |### Valores predeterminados de mayoría de edadLa consola incluye un botón **«Aplicar valores predeterminados de mayoría de edad»** que rellena automáticamente la edad mínima de cada país con la mayoría de edad legal conocida (18 años en la mayoría de los países, con excepciones como 19 en Corea del Sur, 21 en los Emiratos Árabes Unidos, 20 en Nueva Zelanda, etc.). Después puedes ajustar países concretos o añadir anulaciones a nivel de estado según necesites.### Anulaciones por estado o regiónAlgunos países tienen umbrales de edad legales distintos según el estado o la región. Cuando se escanea un documento, el sistema de OCR extrae la región (por ejemplo, "Mississippi", "Alabama", "Jalisco") del documento. Si hay una anulación configurada para esa región, tiene prioridad sobre el ajuste de edad del país.Por ejemplo, si Estados Unidos tiene una edad mínima de 18 años, pero Mississippi tiene una anulación de estado de 21, a un usuario que presente un carnet de conducir de Mississippi se le aplicará la edad mínima de 21.### Acciones configurablesCuando la edad de un usuario queda fuera del rango configurado para el país (o estado) de su documento, puedes elegir la acción:* **Rechazar**: la sesión se rechaza automáticamente.
* **Revisar**: la sesión se marca para revisión manual.> [!NOTE]
>
> Las restricciones de edad por país también funcionan con los flujos de **verificación de edad adaptativa**. Cuando un caso límite activa el respaldo de verificación de identidad, la comprobación de edad usa estos ajustes por país para tomar la decisión final según el país emisor y la región del documento.


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