Consultar validación de pasaporte con archivos
El endpoint te permite consultar el estatus y el resultado de una validación creada con
Validar pasaporte con archivos, usando su uuid. También devuelve las
validaciones que creaste desde el panel de Verificamex.
Método: GET
Endpoint
Sección titulada «Endpoint»https://api.verificamex.com/identity/v2/validations/passport/{uuid}Encabezados de la Solicitud
Sección titulada «Encabezados de la Solicitud»| Encabezado | Valor | Descripción |
|---|---|---|
| Accept | application/json | Tipo de contenido de la respuesta. |
| Authorization | Bearer {tu_token} | Token generado para autenticar al usuario. |
Parámetros de la Solicitud
Sección titulada «Parámetros de la Solicitud»| Parámetro | Tipo | Descripción |
|---|---|---|
| uuid | String | UUID de la validación que recibiste al crearla. |
Estados y resultado
Sección titulada «Estados y resultado»status | result | Qué significa |
|---|---|---|
pending | null | La validación se creó y está en espera de procesarse. |
processing | null | Se está analizando el pasaporte. |
completed | 100 | El pasaporte se aprobó. |
completed | 0 | El pasaporte se aprobó, pero no tenías tokens suficientes para cobrarlo (ver errores). |
failed | 0 | El pasaporte se rechazó o no se pudo procesar. El motivo viene en errors. |
Cómo se decide el resultado
Sección titulada «Cómo se decide el resultado»- Se confirma que el documento de la imagen es un pasaporte. Si no lo es, la validación termina en
failedcon el errorDOC-PASSPORT-002. - Se revisa la verificación global del documento: el pasaporte se aprueba cuando el resultado global es
Oky no hay comprobaciones fallidas (failed_checks= 0). Si no, termina enfailedcon el errorDOC-PASSPORT-001. - Si enviaste selfie, la comparación facial tuvo que poder hacerse. Si no se pudo comparar (por ejemplo, no
se detectó un rostro en la selfie), termina en
failedcon el errorPASSPORT-FILES-002. - Si todo pasa, se cobran los tokens y la validación termina en
completedconresult100.
Campos de la respuesta
Sección titulada «Campos de la respuesta»| Campo | Tipo | Descripción |
|---|---|---|
| object | String | Siempre "PassportValidation". |
| uuid | String | Identificador de la validación (UUID v7). |
| status | String | pending, processing, completed o failed. |
| result | Integer | 100 aprobada, 0 rechazada, null mientras no termina. |
| errors | Array | Motivos de rechazo. null si no hay. Ver errores. |
| face_comparison_requested | Boolean | true si enviaste selfie. |
| passport | Object | Datos del pasaporte y resumen de la verificación. null mientras no se analiza el documento o si no se pudo procesar. |
| document_reading | Object | Lectura completa del documento: DocumentData trae cada dato leído con su origen (MRZ u OCR) y DocumentVerifications cada comprobación con su resultado. |
| files | Array | Archivos de la validación con URL de descarga. Vacío mientras no termina. |
| tokens | Integer | Tokens cobrados por la validación (lectura + comparación facial). |
| created_at | String | Fecha de creación en formato ISO 8601. |
| updated_at | String | Fecha de la última actualización en formato ISO 8601. |
El objeto passport
Sección titulada «El objeto passport»Tiene los mismos campos que el de la sesión de verificación con pasaporte, salvo la prueba de vida, que aquí no existe.
| Campo | Tipo | Descripción |
|---|---|---|
| verified | Boolean | true si el documento pasó la verificación global sin comprobaciones fallidas. |
| document_type | String | Tipo de documento detectado. En una validación aprobada siempre es "Passport". |
| country_code | String | País del documento (código ISO de 3 letras, por ejemplo "MEX"). |
| document_number | String | Número de pasaporte. |
| name | String | Nombre(s) del titular. |
| surname | String | Apellidos completos del titular. |
| father_surname | String | Primer apellido, si el pasaporte lo distingue. |
| mother_surname | String | Segundo apellido, si el pasaporte lo distingue. |
| sex | String | Sexo como aparece en el documento (por ejemplo "F" o "M"). |
| nationality | String | Nacionalidad (código ISO de 3 letras). |
| issuing_state | String | País emisor (código ISO de 3 letras). |
| personal_number | String | Número personal impreso en el pasaporte. En pasaportes mexicanos es la CURP. |
| date_of_birth | String | Fecha de nacimiento (YYYY-MM-DD). |
| date_of_issue | String | Fecha de expedición (YYYY-MM-DD). |
| date_of_expiry | String | Fecha de vencimiento (YYYY-MM-DD). |
| place_of_birth | String | Lugar de nacimiento. |
| issuing_authority | String | Autoridad que expidió el pasaporte. |
| global_result | String | Resultado global de la verificación del documento. "Ok" es el único valor aprobatorio; los demás son motivos de rechazo, por ejemplo "DocumentExpired", "FailedChecks", "WarningChecks", "NoMrzFound", "FailedBiometrics" o "IsFake". |
| security_level | String | Nivel de seguridad con el que se analizó el documento. |
| total_checks | Integer | Número de comprobaciones realizadas. |
| success_checks | Integer | Comprobaciones que pasaron. |
| warning_checks | Integer | Comprobaciones con advertencia. |
| failed_checks | Integer | Comprobaciones que fallaron. Con una sola, la validación se rechaza. |
| face_matching_confidence | Number | Porcentaje de similitud (0–100) entre la selfie y la foto del pasaporte. null si no enviaste selfie o no se pudo comparar. |
| face_matching_passed | Boolean | Resultado de la comparación facial. null si no enviaste selfie o no se pudo comparar. |
Errores
Sección titulada «Errores»Cuando la validación no se aprueba, errors trae una entrada con esta forma:
{ "Key": "DOC-PASSPORT-001", "Name": "Verificación del pasaporte", "Category": "PassportValidation", "Result": false, "Output": "FailedChecks", "Message": "El pasaporte no pasó las verificaciones del documento o biométricas"}| Key | status | Motivo | Output |
|---|---|---|---|
| DOC-PASSPORT-001 | failed | El pasaporte no pasó las verificaciones del documento o la comparación facial. | El resultado global (global_result). |
| DOC-PASSPORT-002 | failed | La imagen no es de un pasaporte. | El tipo de documento detectado (por ejemplo "IdCard"). |
| PASSPORT-FILES-001 | failed | No se pudo procesar el pasaporte. Vuelve a intentarlo en unos minutos. | Detalle del error. |
| PASSPORT-FILES-002 | failed | Enviaste selfie, pero no se pudo comparar su rostro con el del pasaporte. | Detalle del error. |
| INSUFFICIENT-TOKENS-001 | completed | El pasaporte se aprobó, pero no tenías tokens suficientes para cobrarlo. El result queda en 0 y no se entregan los archivos. | Detalle del error de cobro. |
Archivos de la validación
Sección titulada «Archivos de la validación»Cada elemento de files trae su tipo y una URL firmada de descarga que expira a los 15 minutos. Si
expira, vuelve a consultar este endpoint para obtener enlaces nuevos.
file_type | Contenido |
|---|---|
PASSPORT_FRONT | La imagen de la página de datos que enviaste. |
FACE | La selfie que enviaste. |
CROP_DOCUMENT_PORTRAIT | Recorte de la fotografía del pasaporte. |
CROP_LIVE_PORTRAIT | Recorte del rostro de la selfie usado en la comparación facial. |
PDF_VERIFICATION_REPORT | PDF con el reporte de la verificación. |
Respuesta del Endpoint
Sección titulada «Respuesta del Endpoint»{ "object": "PassportValidation", "uuid": "01a14459-d3a0-7087-bee8-dbd53d6418f0", "status": "completed", "result": 100, "errors": null, "face_comparison_requested": true, "passport": { "verified": true, "document_type": "Passport", "country_code": "MEX", "document_number": "G00000001", "name": "MARÍA FERNANDA", "surname": "LÓPEZ GARCÍA", "father_surname": "LÓPEZ", "mother_surname": "GARCÍA", "sex": "F", "nationality": "MEX", "issuing_state": "MEX", "personal_number": "LOGM900903MDFPRR09", "date_of_birth": "1990-09-03", "date_of_issue": "2025-04-15", "date_of_expiry": "2035-04-15", "place_of_birth": "CIUDAD DE MÉXICO", "issuing_authority": "OF. PASAPORTES CDMX", "global_result": "Ok", "security_level": "Medium", "total_checks": 25, "success_checks": 25, "warning_checks": 0, "failed_checks": 0, "face_matching_confidence": 99.97, "face_matching_passed": true }, "document_reading": { "DocumentData": [ { "Type": "DocumentNumber", "Name": "Número de documento", "Value": "G00000001", "Source": "MRZ" }, { "Type": "Name", "Name": "Nombre", "Value": "MARÍA FERNANDA", "Source": "OCR" } ], "DocumentVerifications": [ { "Category": "Identification", "Key": "TemplateSelected", "Name": "Identificación del Documento", "Result": "Ok", "Output": null }, { "Category": "Biometrics", "Key": "Biometrics_FaceMatching", "Name": "Comprobación Facial", "Result": "Ok", "Output": "99.97" } ] }, "files": [ { "file_type": "PASSPORT_FRONT", "mime_type": "image/jpeg", "url": "https://storage.googleapis.com/...&X-Goog-Signature=..." }, { "file_type": "FACE", "mime_type": "image/jpeg", "url": "https://storage.googleapis.com/...&X-Goog-Signature=..." }, { "file_type": "PDF_VERIFICATION_REPORT", "mime_type": "application/pdf", "url": "https://storage.googleapis.com/...&X-Goog-Signature=..." } ], "tokens": 10, "created_at": "2026-10-16T10:55:00-06:00", "updated_at": "2026-10-16T10:55:41-06:00"}Ejemplo resumido: document_reading trae todos los datos y comprobaciones, y files también incluye
los recortes de rostro.
{ "object": "PassportValidation", "uuid": "01a14462-1f6b-7b2e-9c40-5d1a8e3f7b21", "status": "failed", "result": 0, "errors": [ { "Key": "DOC-PASSPORT-001", "Name": "Verificación del pasaporte", "Category": "PassportValidation", "Result": false, "Output": "DocumentExpired", "Message": "El pasaporte no pasó las verificaciones del documento o biométricas" } ], "face_comparison_requested": false, "passport": { "verified": false, "document_type": "Passport", "document_number": "G00000002", "date_of_expiry": "2024-02-10", "global_result": "DocumentExpired", "total_checks": 24, "success_checks": 23, "warning_checks": 0, "failed_checks": 1, "face_matching_confidence": null, "face_matching_passed": null }, "tokens": 0, "created_at": "2026-10-16T11:02:10-06:00", "updated_at": "2026-10-16T11:02:44-06:00"}Ejemplo resumido de un pasaporte vencido. El objeto passport trae todos los campos descritos arriba y
files las evidencias del intento.
{ "object": "PassportValidation", "uuid": "01a14459-d3a0-7087-bee8-dbd53d6418f0", "status": "processing", "result": null, "errors": null, "face_comparison_requested": true, "passport": null, "document_reading": null, "files": [], "tokens": 0, "created_at": "2026-10-16T10:55:00-06:00", "updated_at": "2026-10-16T10:55:02-06:00"}{ "message": "Validación no encontrada."}{ "message": "Unauthorized"}