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

# Códigos de error y páginas de error

> Mapea cada página de error de verificación Liveform a su código, texto visible para el usuario y la situación que lo activa.

## Descripción general

Esta guía cataloga todas las páginas de error que pueden aparecer durante el proceso de verificación móvil de Liveform. Cada tabla alinea el código y la ruta orientados al desarrollador con el mensaje exacto que ven sus usuarios, para que los equipos de soporte, operadores y desarrolladores hablen con una sola voz.

<Info>
  Todas las páginas de error se clasifican en una de cuatro rutas de renderizado:<br />

  1. `/error-page/:errorType`<br />
  2. `/error-page/token-*`<br />
  3. `/face-retry/:faceErrorCode`<br />
  4. Next.js `Error Boundary`
</Info>

## Sistema de categorías de códigos de error

Formato del código de error: `CATEGORY-5DIGITS` (por ejemplo, `NF-10000`)

| Category             | Prefix         | Full name            | Number range | Meaning                                                                                                                           |
| -------------------- | -------------- | -------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| General              | Developer code | Legacy               | —            | Definido por tipo de error según su código de desarrollador                                                                       |
| Not Found            | `NF`           | Not Found            | 10000s       | Acceso directo a rutas no definidas                                                                                               |
| Quality Score        | `QS`           | Quality Score        | 10000–30000  | Casos de error activados durante búsquedas de IP                                                                                  |
| Queueing Error       | `QE`           | Queueing Error       | 20000s       | Errores de sobrecarga de cola del motor                                                                                           |
| Error Reference      | `ER`           | Error Reference      | 001+         | Identificadores de API y constantes para limitación de tasa, bloqueo y casos relacionados                                         |
| Parameter Validation | `PV`           | Parameter Validation | 40000s       | Parámetros de query-string faltantes / valores no válidos / conflictos de opciones                                                |
| Server Error         | `SE`           | Server Error         | 50000s       | Fallos en llamadas API o errores del servidor                                                                                     |
| Runtime              | `RT`           | Runtime Error        | 60000s       | Errores de tiempo de ejecución del front-end (React ErrorBoundary, excepciones try/catch)                                         |
| **Token**            | `TK`           | Token                | 10000s       | Fallo de validación de token (faltante / expirado / aprobado / en revisión / rechazado)                                           |
| **Device Error**     | `DE`           | Device Error         | 20000–40000  | Bloqueo en la etapa de pre-verificación de Device Info (Static check · Fingerprint · Duplicate)                                   |
| **Loop Error**       | `LO`           | Loop Error           | 30000s       | Redirige a una página de error dedicada cuando el mismo error se acumula 3 veces en el bucle de captura de ID o reintento de paso |

## Errores frente a rechazos de verificación

Aunque todas las pantallas parecen "páginas de error", la causa raíz se divide en tres categorías distintas. Utilice esta clasificación durante el soporte al cliente y la monitorización para distinguir rápidamente una incidencia real de un rechazo normal o un problema de configuración.

### 🔧 Error de sistema (System Error)

Un fallo temporal en el lado de ARGOS, el motor o un tercero (3rd party). **Volver a intentarlo después de un momento** resuelve la mayoría de los casos.

* `SE-50000`\~`SE-50015` (carga del proyecto · verificación de token · API de validación · inicialización de autenticación facial y otros errores del servidor)
* `SE-50020`~~`SE-50022` · `SE-50030`~~`SE-50033` (errores del servidor de motor de liveness · comparación facial · verificación de autenticidad gubernamental)
* `RT-60000` · `RT-60001` (excepciones de tiempo de ejecución del front-end)
* `QE-20000` (sobrecarga de la cola del motor)
* `QS-30000` (error de sistema del verificador de IP)
* `DE-30001` · `DE-30002` · `DE-30003` (errores de inicialización · respuesta · red en la verificación del dispositivo)
* `LO-30001` · `LO-30002` · `LO-30004` · `LO-99999` (OCR · procesamiento de datos · requestId faltante · error de bucle desconocido)

### 🚫 Rechazo / Bloqueo de verificación (Verification Rejected / Blocked)

Un **juicio normal** basado en la información enviada, el comportamiento o las señales de riesgo. ARGOS funciona según lo previsto; esto no es un fallo del sistema.

* Sospecha de falsificación (`suspected-forgery`), cara duplicada (`face_validation_error`), acción anormal (`abnormal_action`)
* Riesgo de IP (`ipRisk_failCategory` · `distanceChecks_ipGeo` · `blackliskCountries` · `ipRisk_durationHours`)
* `QS-10000` · `QS-20000` (verificación anormal denegada · rechazo inmediato)
* `DE-20000` · `DE-30000` · `DE-40000` (entorno de dispositivo bloqueado · anomalía de fingerprint · dispositivo duplicado)
* Duplicados de envío / IP / correo electrónico (`already_*` · `processed_*` · `ip_already_*` · `email_already_rejected`)
* Estado del token (`TK-10002` · `TK-10003` · `TK-10004` — ya aprobado · en revisión · rechazado)
* Calidad de imagen insuficiente (`LO-30005`), nueva captura facial requerida (`face-retry`)
* Límites de solicitudes y bloqueos (`ER-001` · `ER-002` · `rate_limit_exceeded` · `locked_out` · `traffic_overload`)

### ⚙️ Error de solicitud / entorno / configuración (Request / Environment / Configuration)

Un problema con el enlace, los parámetros o la configuración del proyecto del cliente, o con el dispositivo, el navegador o el método de acceso del usuario. El problema se resuelve corrigiendo la configuración o el entorno correspondiente.

* Errores de parámetros y opciones (`PV-40000`\~`PV-40018`)
* Errores de ruta (`NF-10000` · `NF-10001` · `bad-path` · `page-not-found`)
* Acceso en modo solo cifrado (`encrypted_only`)
* Navegador o dispositivo no compatible (`invalid-browser` = `RT-60002`)
* Estado del proyecto (`project-closed` · `period` · `submission-number-limit` · `service-blocked`)
* Token faltante o expirado (`TK-10000` · `TK-10001`)
* Parámetro obligatorio faltante (`LO-30003`)
* Problemas de integridad de sesión (`refresh` · `hash_problem`)
* Permiso de carga bloqueado (`not-allow-file-upload`)

<Info>
  Algunos códigos pueden pertenecer a una categoría diferente según el contexto. La clasificación anterior es una guía de triaje de primer nivel; para conocer las condiciones de activación exactas, consulte la columna de condición de ocurrencia en cada tabla a continuación.
</Info>

## Páginas de error generales (`/error-page/:errorType`)

### Errores de autenticación y autorización

| Type                    | Developer code    | URL                           | User message                         | Occurrence                                                                                                                                                                                      |
| ----------------------- | ----------------- | ----------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Page not found          | `page-not-found`  | `/error-page/page-not-found`  | "The page could not be found"        | Aparece cuando un usuario escribe una URL inexistente o abre un marcador desactualizado.                                                                                                        |
| Service blocked         | `service-blocked` | `/error-page/service-blocked` | "Submissions are temporarily paused" | Se muestra cuando un operador detiene temporalmente las solicitudes pero los usuarios siguen visitando el enlace.                                                                               |
| Invalid path            | `bad-path`        | `/error-page/bad-path`        | "Invalid URL path"                   | Se activa si alguien edita el enlace compartido o navega a una ruta no incluida en la lista blanca.                                                                                             |
| Refresh detected        | `refresh`         | `/error-page/refresh`         | "Refresh detected"                   | Se muestra cuando el usuario actualiza o hace clic en atrás/adelante durante el flujo y la sesión se reinicia.                                                                                  |
| Unsupported browser     | `invalid-browser` | `/error-page/invalid-browser` | "Unsupported browser"                | Aparece en navegadores antiguos o entornos sin soporte de WebAssembly; los usuarios deben cambiar a un navegador moderno. (código de error `RT-60002`)                                          |
| Hash validation failure | `hash_problem`    | `/error-page/hash_problem`    | "Hash validation issue"              | Se muestra si múltiples pestañas o pasos omitidos rompen la integridad de los datos; el flujo debe reiniciarse.                                                                                 |
| Encrypted only          | `encrypted_only`  | `/error-page/encrypted_only`  | "Unencrypted access"                 | Aparece al acceder a un proyecto con `option_encryptedOnly=true` usando una cadena de consulta no cifrada, o cuando se incluyen parámetros de consulta distintos a `pid`, `lang` y `encrypted`. |

### Errores de estado del proyecto

| Type                   | Developer code            | URL                                   | User message                                      | Occurrence                                                                                          |
| ---------------------- | ------------------------- | ------------------------------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Project closed         | `project-closed`          | `/error-page/project-closed`          | "This project is closed and access is restricted" | Los usuarios que reabren una campaña finalizada ven que no se permiten más solicitudes.             |
| Period expired         | `period`                  | `/error-page/period`                  | "Project submission window expired"               | Se activa cuando alguien visita después de que la ventana de envío permitida haya terminado.        |
| Submission count limit | `submission-number-limit` | `/error-page/submission-number-limit` | "You submitted more than 15 times"                | Los proyectos de prueba detienen intentos adicionales una vez que se supera el límite de 15 envíos. |

### Errores de estado de solicitud

| Type                 | Developer code                  | URL                                         | User message                                       | Occurrence                                                                                                                     |
| -------------------- | ------------------------------- | ------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Already approved     | `already_approved`              | `/error-page/already_approved`              | "This device has already been verified"            | Un dispositivo/navegador que ya completó la verificación queda bloqueado hasta que termine el período de espera.               |
| Already rejected     | `already_rejected`              | `/error-page/already_rejected`              | "This submission was already rejected"             | El usuario intenta de nuevo antes de que expire el período de enfriamiento del rechazo y se le indica que espere.              |
| Pending review       | `already_pending`               | `/error-page/already_pending`               | "Your submission is under review"                  | Se intenta un nuevo envío mientras el anterior aún está en revisión.                                                           |
| Processed (approved) | `processed_submission-approved` | `/error-page/processed_submission-approved` | "This submission was already processed (approved)" | Reabrir un resultado aprobado simplemente recuerda al usuario que no se necesita ninguna acción adicional.                     |
| Processed (rejected) | `processed_submission-rejected` | `/error-page/processed_submission-rejected` | "Verification was rejected"                        | Reabrir un resultado rechazado muestra el tiempo de espera restante antes de un reintento.                                     |
| IP already approved  | `ip_already_approved`           | `/error-page/ip_already_approved`           | "This IP address has already been approved"        | Otro usuario en la misma red intenta rehacer una verificación que ya fue exitosa.                                              |
| IP already rejected  | `ip_already_rejected`           | `/error-page/ip_already_rejected`           | "This IP address has already been rejected"        | La misma red falla repetidamente o aún está dentro del período de enfriamiento del rechazo; los usuarios deben cambiar de red. |

### Errores relacionados con correo electrónico

| Type                   | Developer code           | URL                                  | User message                                              | Occurrence                                                                                                                        |
| ---------------------- | ------------------------ | ------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Email already rejected | `email_already_rejected` | `/error-page/email_already_rejected` | "Verification rejected / This email was already rejected" | Reutilizar un correo electrónico que aún está dentro del período de espera de rechazo muestra el tiempo de enfriamiento restante. |

### Seguridad y detección de fraude

| Type                    | Developer code          | URL                                 | User message                 | Occurrence                                                                                                                                                     |
| ----------------------- | ----------------------- | ----------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Suspected forgery       | `suspected-forgery`     | `/error-page/suspected-forgery`     | "Suspected forgery detected" | Se activa cuando el ID capturado se ve borroso, manipulado o de otra manera no auténtico; el usuario debe volver a fotografiar.                                |
| File upload not allowed | `not-allow-file-upload` | `/error-page/not-allow-file-upload` | "File upload is not allowed" | Navegadores seguros, modo privado o permisos de cámara/archivos denegados impiden las cargas; los usuarios deben habilitar el acceso o cambiar de dispositivo. |
| Duplicate face detected | `face_validation_error` | `/error-page/face_validation_error` | "Duplicate face detected"    | El sistema detecta la misma cara de un envío anterior e indica al usuario que contacte a soporte.                                                              |
| Abnormal action         | `abnormal_action`       | `/error-page/abnormal_action`       | "Abnormal behavior detected" | Subir capturas de pantalla, imágenes excesivamente editadas o selfies idénticos activa este mensaje y fuerza un reintento adecuado.                            |

### Errores de riesgo de IP

| Type                  | Developer code         | URL                                | User message               | Occurrence                                                                                                                                                  |
| --------------------- | ---------------------- | ---------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Risky category        | `ipRisk_failCategory`  | `/error-page/ipRisk_failCategory`  | "IP risk category failed"  | Las conexiones desde VPNs, Tor o centros de datos se bloquean hasta que los usuarios cambien de red.                                                        |
| Distance check failed | `distanceChecks_ipGeo` | `/error-page/distanceChecks_ipGeo` | "IP distance check failed" | Cuando el GPS y la geolocalización de IP están muy separados (por ejemplo, GPS local pero VPN en el extranjero), el usuario debe desactivar la VPN.         |
| Blacklisted country   | `blackliskCountries`   | `/error-page/blackliskCountries`   | "Blacklisted country"      | El acceso desde países restringidos se deniega con la indicación de que el servicio no está disponible allí.                                                |
| Risk duration lock    | `ipRisk_durationHours` | `/error-page/ipRisk_durationHours` | "IP risk duration limit"   | Los intentos riesgosos repetidos bloquean la IP durante un período establecido; los usuarios solo pueden reintentar después de que el temporizador termine. |

### Límite de tasa y bloqueo

| Type                | Developer code        | URL                               | User message             | Occurrence                                                                                                                                       |
| ------------------- | --------------------- | --------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Rate limit exceeded | `rate_limit_exceeded` | `/error-page/rate_limit_exceeded` | "Request limit exceeded" | Demasiadas actualizaciones o envíos en un corto período activan una pausa temporal.                                                              |
| Account locked      | `locked_out`          | `/error-page/locked_out`          | "Account locked"         | Numerosos fallos o actividad sospechosa bloquean la cuenta hasta que expire el temporizador mostrado.                                            |
| Traffic overload    | `traffic_overload`    | `/error-page/traffic_overload`    | "Traffic overload"       | El sondeo del estado de envío supera los 32 intentos, indicando sobrecarga del servidor; se pide a los usuarios que intenten de nuevo más tarde. |

### ER — Límite de tasa y bloqueo

Estos códigos se asignan a los mismos identificadores de API y constantes (`RATE_LIMIT_EXCEEDED`, `LOCKED_OUT`) y rutas que los códigos de desarrollador de **Límite de tasa y bloqueo** `rate_limit_exceeded` y `locked_out` en la tabla anterior.

| Error code | Identifier            | URL                               | User message (EN)        | Occurrence                                                                                            |
| ---------- | --------------------- | --------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------- |
| `ER-001`   | `RATE_LIMIT_EXCEEDED` | `/error-page/rate_limit_exceeded` | "Request limit exceeded" | Demasiadas actualizaciones o envíos en un corto período activan una pausa temporal.                   |
| `ER-002`   | `LOCKED_OUT`          | `/error-page/locked_out`          | "Account locked"         | Numerosos fallos o actividad sospechosa bloquean la cuenta hasta que expire el temporizador mostrado. |

### NF — Not Found

Códigos de error para cuando no se puede encontrar una ruta.

| Error code | URL                        | User message                                                                                         | Occurrence                                                                                                    |
| ---------- | -------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `NF-10000` | `/error-page/not-found`    | "Page not found"<br />The page you requested does not exist. Please check the URL and try again.     | Acceso a una ruta no definida en el router. Tanto las rutas comodín (`*`) de móvil como de PC redirigen aquí. |
| `NF-10001` | `/error-page/invalid-path` | "Invalid access path"<br />You accessed an unauthorized path. Please try again with the correct URL. | La ruta URL existe pero no está en la lista de rutas iniciales permitidas (`VALID_INITIAL_PATH`).             |

### QS — Quality Score

Códigos de error activados durante búsquedas de IP.

| Error code | URL                                        | User message                                                                                                                       | Occurrence                                                                                   |
| ---------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `QS-10000` | `/error-page/abnormal_verification_denied` | "Abnormal verification denied"<br />Rapid risky attempts lowered the trust score. You must wait for the displayed timer to expire. | El verificador de IP emite una espera de 48 horas debido a comportamiento riesgoso repetido. |
| `QS-20000` | `/error-page/abnormal_rejected`            | "Abnormal rejection"<br />Severe anomalies triggered an immediate rejection. Security issues must be resolved before retrying.     | El verificador de IP detecta una puntuación de fraude de 90 o superior.                      |
| `QS-30000` | `/error-page/ipqs_system_error`            | "IPQS system error"<br />The IP lookup failed due to a system error. Please try again later.                                       | Ocurre un error de cliente o servidor en el verificador de IP.                               |

### QE — Queueing Error

Códigos de error para situaciones de sobrecarga de cola del motor.

| Error code | URL                            | User message                                                                                                                                   | Occurrence                                                                                                        |
| ---------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `QE-20000` | `/error-page/queueing-timeout` | "Queue overload"<br />We couldn't process your submission due to unusually high traffic and an overloaded queue. Please try again in a moment. | La cola de procesamiento del motor está sobrecargada y el servidor no puede manejar los datos del usuario actual. |

### PV — Parameter Validation

Códigos de error para parámetros de query-string faltantes, valores no válidos o conflictos de opciones.

| Error code | URL                                        | User message                                                                                                                                                                                      | Occurrence                                                                                                    |                                                                                                                                                                                                           |
| ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PV-40000` | `/error-page/missing-pid`                  | "Required parameter is missing"<br />The project ID (pid) is not included in the URL. Please access again via the correct link.                                                                   | Falta el parámetro `pid` en la cadena de consulta de la URL. `pid` es obligatorio para todas las solicitudes. |                                                                                                                                                                                                           |
| `PV-40001` | `/error-page/invalid-action`               | "Invalid request"<br />The action parameter value is invalid or required parameters are missing.                                                                                                  | El parámetro `action` no es `addveri`, o `action=addveri` está establecido sin `pid` o `sid`.                 |                                                                                                                                                                                                           |
| `PV-40002` | `/error-page/invalid-distance-option`      | "Option configuration is invalid"<br />The distance check option value is invalid. Please check the settings and try again.                                                                       | Se proporciona `distanceCheckSource` pero `distanceMaxDistanceKm` no es un número válido.                     |                                                                                                                                                                                                           |
| `PV-40003` | `/error-page/invalid-iprisk-option`        | "Option configuration is invalid"<br />The IP risk option value is invalid. Please check the settings and try again.                                                                              | Se proporciona `ipRiskCategory` pero `ipRiskDurationHours` no es un número válido.                            |                                                                                                                                                                                                           |
| `PV-40004` | `/error-page/conflicting-projection`       | "Parameter configuration conflict"<br />projectionName and projectionId cannot be used at the same time. Please configure only one of them.                                                       | Se especifican simultáneamente `projectionName` y `projectionId`. Solo se permite uno.                        |                                                                                                                                                                                                           |
| `PV-40010` | `/error-page/blacklisted-country`          | "Service is unavailable in this country"<br />Identity verification service is not available in the selected country.                                                                             | El país especificado en `selectedIssuingCountry` está en la lista negra del servicio.                         |                                                                                                                                                                                                           |
| `PV-40011` | `/error-page/blacklisted-allowed-country`  | "Allowed country configuration is invalid"<br />The allowed country list includes a country with restricted service. Please check the settings and try again.                                     | La lista `allowedCountries` contiene uno o más países en la lista negra.                                      |                                                                                                                                                                                                           |
| `PV-40012` | `/error-page/conflicting-universal-idtype` | "ID type option configuration conflict"<br />Universal mode and specific ID type selection (selectedIdType) cannot be used together. Please check the settings and try again.                     | `option_universal=true` está establecido junto con `selectedIdType`, que son mutuamente excluyentes.          |                                                                                                                                                                                                           |
| `PV-40013` | `/error-page/missing-issuing-country`      | "Issuing country information is missing"<br />To specify an ID type, the issuing country must also be configured. Please check the settings and try again.                                        | Se proporciona `selectedIdType` sin el `selectedIssuingCountry` requerido.                                    |                                                                                                                                                                                                           |
| `PV-40014` | `/error-page/conflicting-knowledge-idtype` | "Authentication method configuration conflict"<br />In knowledge-based authentication mode, the ID type cannot be specified separately. Please check the settings and try again.                  | `authType=knowledge` está establecido junto con `selectedIdType`, que no son compatibles.                     |                                                                                                                                                                                                           |
| `PV-40015` | `/error-page/missing-faceauth-pid`         | "Authentication information is missing"<br />Required parameters (pid or sid) for face authentication are missing. Please access again via the correct link.                                      | Se ingresa al flujo `faceAuth` sin `pid` o `sid`.                                                             |                                                                                                                                                                                                           |
| `PV-40016` | `/error-page/conflicting-knowledge-skip`   | "Validation option configuration conflict"<br />Skipping knowledge validation and disabling face comparison cannot be used together. Please check the settings and try again.                     | `knowledgeField=skip` está establecido junto con `option_validationFaceCompare=false`.                        |                                                                                                                                                                                                           |
| `PV-40017` | `/error-page/conflicting-knowledge-field`  | "Knowledge validation field configuration conflict"<br />The skip option in knowledgeField cannot be used with other fields. Please set skip as a standalone option.                              | `knowledgeField` incluye tanto `skip` como otras opciones de campo. `skip` debe usarse solo.                  |                                                                                                                                                                                                           |
| `PV-40018` | `/error-page/expired-start-valid-until`    | "El enlace de verificación ha expirado"<br />Se expiró antes del inicio de autenticación o accedió después de que la hora `startValidUntil` pasara. Obtenga un nuevo enlace e intente nuevamente. | "The verification link has expired"<br />The verification link has expired. Please try again with a new link. | El parámetro de cadena de consulta `startValidUntil` especifica una hora (UTC+0) que ya ha pasado cuando se intenta iniciar la autenticación. Se aplica con prioridad antes de la validación de token ID. |

### SE — Server Error

Códigos de error para fallos en llamadas API o errores del servidor.

| Error code | URL                                             | User message                                                                                                                                         | Occurrence                                                                                                                                                                       |
| ---------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SE-50000` | `/error-page/project-load-error`                | "Unable to load project information"<br />An error occurred while fetching project settings from the server. Please try again later.                 | La llamada API `projectOptions` falla durante la entrada inicial de la aplicación.                                                                                               |
| `SE-50001` | `/error-page/token-check-error`                 | "An error occurred while verifying the token"<br />A problem occurred while communicating with the server. Please try again later.                   | Ocurre una excepción durante la llamada API `checkingToken`.                                                                                                                     |
| `SE-50002` | `/error-page/validation-api-error`              | "Validation service error"<br />A server error occurred during address validation. Please try again later.                                           | La API de validación de dirección (`/live/internal/validation`) devuelve una respuesta de error.                                                                                 |
| `SE-50010` | `/error-page/faceauth-preload-error`            | "Face authentication initialization failed"<br />A server error occurred while preparing face authentication. Please try again later.                | La primera consulta API para la precarga de datos `faceAuth` falla.                                                                                                              |
| `SE-50011` | `/error-page/faceauth-preload-error-2`          | "Face authentication initialization failed"<br />A server error occurred while loading additional face authentication data. Please try again later.  | La segunda consulta API para la precarga de datos `faceAuth` falla.                                                                                                              |
| `SE-50012` | `/error-page/faceauth-submission-error`         | "Failed to verify face authentication status"<br />An error occurred while checking the authentication submission status. Please try again later.    | La API `checkSubmission` responde pero `result` es falsy.                                                                                                                        |
| `SE-50013` | `/error-page/faceauth-token-error`              | "Face authentication token processing failed"<br />An error occurred while registering the authentication token. Please try again later.             | Ocurre una excepción durante la llamada API `insertToken` en `faceAuth`.                                                                                                         |
| `SE-50014` | `/error-page/faceauth-project-error`            | "Unable to load face authentication project information"<br />An error occurred while fetching project data from the server. Please try again later. | La llamada API para obtener datos del proyecto `faceAuth` falla.                                                                                                                 |
| `SE-50015` | `/error-page/validation-code-error`             | "Validation failed"<br />An error code was returned from address validation. Please check your information and try again.                            | La respuesta de la API de validación de dirección contiene un campo `errorCode`. La API respondió pero la validación en sí falló.                                                |
| `SE-50020` | `/error-page/id-liveness-server-error`          | "La verificación de vivacidad del ID ha fallado"<br />Por favor, inténtelo de nuevo más tarde.                                                       | El motor de verificación de vivacidad del ID (ID Liveness) falla de forma consecutiva. En lugar de reintentar indefinidamente, el flujo redirige a una página de error dedicada. |
| `SE-50021` | `/error-page/passive-liveness-error`            | "La verificación de vivacidad pasiva ha fallado"<br />Por favor, inténtelo de nuevo más tarde.                                                       | El motor de Passive Liveness (selfie) falla de forma consecutiva.                                                                                                                |
| `SE-50022` | `/error-page/face-compare-error`                | "La verificación de comparación facial ha fallado"<br />Por favor, inténtelo de nuevo más tarde.                                                     | El motor de Face Compare falla de forma consecutiva.                                                                                                                             |
| `SE-50030` | `/error-page/verify-kor-government-id-error`    | "La verificación del documento nacional de identidad coreano ha fallado temporalmente"<br />Por favor, inténtelo de nuevo más tarde.                 | Fallo en el procesamiento del servidor de verificación de autenticidad del DNI coreano.                                                                                          |
| `SE-50031` | `/error-page/verify-kor-driver-license-error`   | "La verificación del permiso de conducir coreano ha fallado temporalmente"<br />Por favor, inténtelo de nuevo más tarde.                             | Fallo en el procesamiento del servidor de verificación de autenticidad (permiso de conducir coreano).                                                                            |
| `SE-50032` | `/error-page/verify-kor-passport-error`         | "La verificación del pasaporte coreano ha fallado temporalmente"<br />Por favor, inténtelo de nuevo más tarde.                                       | Fallo en el procesamiento del servidor de verificación de autenticidad (pasaporte coreano).                                                                                      |
| `SE-50033` | `/error-page/verify-kor-residence-permit-error` | "La verificación del permiso de residencia de extranjeros coreano ha fallado temporalmente"<br />Por favor, inténtelo de nuevo más tarde.            | Fallo en el procesamiento del servidor de verificación de autenticidad (tarjeta de registro de extranjeros coreana).                                                             |

<Info>
  Entre los errores de motor anteriores, **ID Liveness (SE-50020), Selfie Passive Liveness (SE-50021) y la verificación gubernamental coreana (SE-50030–50033)** se pueden configurar en el panel de control para tratarlos como **Advertencia (Warning) en lugar de Error**. Cuando se tratan como Advertencia, el flujo no redirige a la página de error y el proceso KYC subsiguiente continúa. La Advertencia también puede utilizarse como disparador de Custom Policy. (Face Compare (SE-50022) es solo Error.) Para los valores de `WarningOccurred` y el mapeo de los campos de `warning[]` producidos tras la conversión, consulte [Códigos y campos de Warning](/es/idcheck/reference_tables/warning-codes-and-fields).
</Info>

### LO — Loop Error (`/error-page/loop/:params`)

Cuando el mismo error se acumula **3 veces** durante la captura del ID o el procesamiento paso a paso, el flujo redirige (`replace`) a una página de error de bucle dedicada para evitar reintentos infinitos. Menos de 3 ocurrencias se gestionan con una solicitud de nueva captura o una notificación. Cada caso se asigna según el valor de `params` en la URL; los casos no asignados redirigen a una página de Fallback.

| Error code | URL                                      | User message                                                                                                       | Occurrence                                                                                                                                             |
| ---------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `LO-30001` | `/error-page/loop/ocr_fail`              | "No se pudo reconocer el documento de identidad"<br />Por favor, vuelva a fotografiarlo.                           | El motor OCR no pudo reconocer el ID, o se produjo un error en el servidor OCR.                                                                        |
| `LO-30002` | `/error-page/loop/data_processing_error` | "Se produjo un error durante el procesamiento de datos"<br />Por favor, inténtelo de nuevo más tarde.              | Se produjo un error durante el procesamiento de datos.                                                                                                 |
| `LO-30003` | `/error-page/loop/missing_parameters`    | "Falta información obligatoria"<br />Por favor, empiece de nuevo.                                                  | Faltan parámetros obligatorios.                                                                                                                        |
| `LO-30004` | `/error-page/loop/missing_requestId`     | "No se puede verificar la información de la solicitud"<br />Por favor, empiece de nuevo.                           | Falta el requestId.                                                                                                                                    |
| `LO-30005` | `/error-page/loop/image_quality_low`     | "La calidad de la imagen del documento es demasiado baja"<br />Por favor, vuelva a fotografiarlo con más claridad. | Fallos acumulados en el estándar de calidad de imagen del ID (brillo / nitidez).                                                                       |
| `LO-99999` | `/error-page/loop/*` (Fallback)          | "Se ha producido un error desconocido"<br />Por favor, empiece de nuevo.                                           | Un error de bucle que no coincide con ninguno de los casos anteriores (UnknownLoopError). El tipo de error también se registra para monitoreo interno. |

### RT — Runtime Error

Códigos de error para errores de tiempo de ejecución del front-end.

| Error code | URL                               | User message                                                                                                          | Occurrence                                                                                                                                                                                                                                                                                        |
| ---------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RT-60000` | `/error-page/runtime-error`       | "An error occurred"<br />An unexpected error occurred. Please refresh the page or start over.                         | React ErrorBoundary se activa en las rutas `/qr`, `/knowledge-qr` o `/face-auth-qr`.                                                                                                                                                                                                              |
| `RT-60001` | `/error-page/token-runtime-error` | "An error occurred during token processing"<br />An unexpected error occurred. Please refresh the page or start over. | Se captura una excepción en el bloque try/catch dentro del hook `useTokenCheck`.                                                                                                                                                                                                                  |
| `RT-60002` | `/error-page/invalid-browser`     | "Navegador no compatible"<br />Por favor, inténtelo de nuevo con un navegador moderno.                                | Se activa en navegadores antiguos, entornos sin soporte de WebAssembly, o dispositivos con Android OS inferior a la versión 9. Consulte la [guía de navegadores y dispositivos recomendados](/es/idcheck/getting-started/recommended-browsers-and-devices) para conocer los entornos compatibles. |

### DE — Device Error

Códigos de error generados cuando el usuario es bloqueado en la etapa de pre-verificación de Device Info. El código de error y su definición se muestran juntos en la página de error para que los clientes puedan identificar inmediatamente el motivo del bloqueo.

| Código de error | URL                                      | Mensaje para el usuario (ES)                                                                                                                                                                            | Mensaje para el usuario (EN)                                                                                                                                    | Condición de ocurrencia                                                                                                                                                                                                                    |
| --------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `DE-20000`      | `/error-page/abnormal_device`            | "Entorno de dispositivo no compatible"<br />La verificación no se puede realizar en el dispositivo o navegador actual. Inténtelo de nuevo en un dispositivo o navegador diferente.                      | "Unsupported device environment"<br />Verification cannot be performed on the current device or browser. Please try again on a different device or browser.     | abnormalDevice. Bloqueo del proceso KYC por un problema del entorno del dispositivo móvil / navegador.                                                                                                                                     |
| `DE-30000`      | `/error-page/device-fingerprint`         | "Se ha detectado un dispositivo anómalo"<br />Se han detectado señales anómalas del dispositivo (VM, emulador, bot, manipulación, etc.), por lo que no se puede proceder con la verificación.           | "Abnormal device detected"<br />Suspicious device signals (VM, emulator, bot, or tampering) were detected, so verification cannot proceed.                      | deviceFingerprint. Bloqueo del proceso KYC porque se detectó uno o más elementos (VM, emulador, bot, manipulación, etc.).                                                                                                                  |
| `DE-30001`      | `/error-page/fingerprint-init-error`     | "No se puede iniciar la verificación del dispositivo"<br />Error al inicializar el sistema de verificación del dispositivo. Desactive el bloqueador de anuncios o inténtelo de nuevo en otro navegador. | "Unable to start device verification"<br />Device verification system failed to initialize. Please disable your ad blocker or try again in a different browser. | Error al inicializar el sistema de verificación del dispositivo (Fingerprint). Un problema del entorno del cliente, como un bloqueador de anuncios o un navegador específico, impidió que el SDK de fingerprint se cargara o inicializara. |
| `DE-30002`      | `/error-page/fingerprint-response-error` | "No se puede verificar el resultado de la autenticación del dispositivo"<br />La respuesta de verificación del dispositivo no es válida. Inténtelo de nuevo más tarde.                                  | "Unable to verify device authentication result"<br />The device verification response is invalid. Please try again later.                                       | Error en la respuesta del resultado de verificación del dispositivo. El servidor devolvió un código inesperado (formato no válido o valor de result desconocido).                                                                          |
| `DE-30003`      | `/error-page/fingerprint-network-error`  | "Compruebe su conexión de red"<br />La solicitud de verificación del dispositivo no llegó al servidor. Compruebe su red e inténtelo de nuevo.                                                           | "Please check your network connection"<br />The device verification request did not reach the server. Please check your network and try again.                  | Fallo de comunicación de red en la verificación del dispositivo. La solicitud no llegó al servidor — la comunicación falló por desconexión de red, timeout, etc.                                                                           |
| `DE-40000`      | `/error-page/device-duplicate`           | "Dispositivo duplicado detectado"<br />No se puede proceder con la verificación porque este dispositivo ha superado el límite de comprobación de dispositivos duplicados.                               | "Duplicate device detected"<br />Verification cannot proceed because this device has exceeded the duplicate device check limit.                                 | deviceDuplicate. Bloqueo del proceso KYC porque se superó el límite permitido de Device Duplicate Check y se aplica la política de rechazo (Reject).                                                                                       |

<Tip>
  Consulte [Refuerzo de autenticación y prevención de falsificación — Device Info](/dashboard/es/project-management/policy-and-authentication/anti-fraud-and-forgery-prevention#device-info) para saber cómo configurar Device Verification / Fingerprint option / Device Duplicate Check en la pestaña Device Info.
</Tip>

## Páginas de error de token (`/error-page/token-*`)

A partir de la actualización de 2026-04, se han asignado **códigos de error** con prefijo `TK-` a los errores de token, mostrándose el código y su definición juntos en la página de error.

| Tipo              | Código de desarrollador | Código de error | URL                          | Mensaje para el usuario (ES)                                                                                                   | Mensaje para el usuario (EN)                                                                                        | Condición de ocurrencia                                                                                      |
| ----------------- | ----------------------- | --------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Token faltante    | `token-missing`         | `TK-10000`      | `/error-page/token-missing`  | "Enlace no válido"<br />La información del enlace no es correcta.                                                              | "Invalid link"<br />The link information is invalid.                                                                | El parámetro de token falta al copiar el enlace, o se accede con una URL incompleta.                         |
| Token expirado    | `token-expired`         | `TK-10001`      | `/error-page/token-expired`  | "El enlace ha expirado"<br />El tiempo de uso ha expirado.                                                                     | "Link expired"<br />This link has expired.                                                                          | Se accede con un enlace muy antiguo o con un token cuyo tiempo de validez ya ha pasado.                      |
| Token ya aprobado | `token-approved`        | `TK-10002`      | `/error-page/token-approved` | "La verificación ya está completa"<br />Esta solicitud ya ha sido procesada.                                                   | "Verification already completed"<br />This request has already been completed.                                      | Se intenta acceder nuevamente después de haber completado la verificación con ese token en otro dispositivo. |
| Token en revisión | `token-pending`         | `TK-10003`      | `/error-page/token-pending`  | "La revisión está en curso"<br />El contenido enviado está siendo revisado. Por favor, vuelva a verificar más tarde.           | "Review in progress"<br />Your submission is currently under review. Please check again later.                      | Se vuelve a acceder con el mismo token mientras el envío aún está en revisión.                               |
| Token rechazado   | `token-rejected`        | `TK-10004`      | `/error-page/token-rejected` | "La solicitud anterior no fue aprobada"<br />El contenido enviado fue rechazado. Contacte al responsable para más información. | "Request not approved"<br />Your submission was rejected. Please contact the person in charge for more information. | Se intenta de nuevo con un token cuyo envío fue rechazado.                                                   |

## Reintento facial (`/face-retry/:faceErrorCode`)

| Type                 | Developer code              | URL                          | User message                                     | Occurrence                                                                                                                                                                                                           |
| -------------------- | --------------------------- | ---------------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dynamic face reshoot | `face-retry/:faceErrorCode` | `/face-retry/:faceErrorCode` | Localizado por código de error / Botón: "Retake" | Mala iluminación, caras desalineadas u otros problemas de captura solicitan volver a fotografiar; ciertos códigos (por ejemplo, `invalid_submission_status`) ocultan completamente el botón de volver a fotografiar. |

## Errores de tiempo de ejecución (`Error Boundary`)

| Type          | Developer code         | URL | User message                                                                                                                                                                   | Occurrence                                                                                                                                                                                                              |
| ------------- | ---------------------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Runtime error | Next.js Error Boundary | —   | Default: "Your request failed", "KYC verification was rejected"<br />Special: "Unsupported browser" (WebAssembly error), "This browser does not support storage functionality" | Caídas de red, actualizaciones forzadas o entornos con almacenamiento desactivado (modo privado) pueden hacer que la aplicación falle; los usuarios deben tocar "Retry" o cambiar a un navegador moderno/modo estándar. |

<Check>
  Use estas tablas para alinear scripts de soporte, alertas de monitoreo y escenarios de QA para que todas las partes interesadas describan la misma pantalla con el mismo vocabulario.
</Check>
