Skip to main content

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.

Overview

This guide catalogs all error pages that can appear during the Liveform mobile verification journey. Each table aligns the developer-facing code and route with the exact message your users see so support teams, operators, and developers can speak with one voice.
All error pages fall into one of four rendering paths:
  1. /error-page/:errorType
  2. /error-page/token-*
  3. /face-retry/:faceErrorCode
  4. Next.js Error Boundary

Error code category system

Error code format: CATEGORY-5DIGITS (e.g., NF-10000)
CategoryPrefixFull nameNumber rangeMeaning
GeneralDeveloper codeLegacyDefined per error type by its developer code
Not FoundNFNot Found10000sDirect access to undefined routes
Quality ScoreQSQuality Score10000–30000Error cases triggered during IP lookups
Queueing ErrorQEQueueing Error20000sEngine queue overload errors
Error ReferenceERError Reference001+API and constant identifiers for rate limiting, lockout, and related cases
Parameter ValidationPVParameter Validation40000sMissing query-string parameters / invalid values / option conflicts
Server ErrorSEServer Error50000sAPI call failures or server errors
RuntimeRTRuntime Error60000sFront-end runtime errors (React ErrorBoundary, try/catch exceptions)
TokenTKToken10000sToken validation failures (missing, expired, approved, pending, rejected)
Device ErrorDEDevice Error20000–40000Blocked at the Device Info pre-verification stage (Static check / Fingerprint / Duplicate)
Loop ErrorLOLoop Error30000sRedirects to a dedicated error page when the same error accumulates 3 times in the ID capture or step retry loop

Errors vs. verification rejections

Every screen may look like an “error page,” but the root cause falls into one of three distinct categories. Use this breakdown during customer support and monitoring to quickly distinguish a real outage from a normal rejection or a configuration issue.

🔧 System Error

A temporary failure on the ARGOS, engine, or third-party side. Retrying after a moment resolves most cases.
  • SE-50000~SE-50015 (project load · token check · validation API · face authentication initialization, and other server errors)
  • SE-50020SE-50022 · SE-50030SE-50033 (liveness · face comparison · government authenticity-check engine server errors)
  • RT-60000 · RT-60001 (front-end runtime exceptions)
  • QE-20000 (engine queue overload)
  • QS-30000 (IP checker system error)
  • DE-30001 · DE-30002 · DE-30003 (device verification initialization · response · network errors)
  • LO-30001 · LO-30002 · LO-30004 · LO-99999 (OCR · data processing · missing requestId · unknown loop error)

🚫 Verification Rejected / Blocked

A normal judgment based on the submitted information, behavior, or risk signals. ARGOS is operating as intended — this is not a system failure.
  • Suspected forgery (suspected-forgery), duplicate face (face_validation_error), abnormal action (abnormal_action)
  • IP risk (ipRisk_failCategory · distanceChecks_ipGeo · blackliskCountries · ipRisk_durationHours)
  • QS-10000 · QS-20000 (abnormal verification denied · immediate rejection)
  • DE-20000 · DE-30000 · DE-40000 (device environment blocked · fingerprint anomaly · device duplicate)
  • Submission / IP / email duplicates (already_* · processed_* · ip_already_* · email_already_rejected)
  • Token status (TK-10002 · TK-10003 · TK-10004 — already approved · pending review · rejected)
  • Image quality insufficient (LO-30005), face reshoot required (face-retry)
  • Request limits and lockouts (ER-001 · ER-002 · rate_limit_exceeded · locked_out · traffic_overload)

⚙️ Request / Environment / Configuration Error

A problem with the client’s link, parameters, or project settings, or with the user’s device, browser, or access method. The issue is resolved by correcting the relevant setting or environment.
  • Parameter and option errors (PV-40000~PV-40018)
  • Path errors (NF-10000 · NF-10001 · bad-path · page-not-found)
  • Encrypted-only access (encrypted_only)
  • Unsupported browser or device (invalid-browser = RT-60002)
  • Project status (project-closed · period · submission-number-limit · service-blocked)
  • Token missing or expired (TK-10000 · TK-10001)
  • Required parameter missing (LO-30003)
  • Session integrity issues (refresh · hash_problem)
  • Upload permission blocked (not-allow-file-upload)
Some codes may fall into a different category depending on context. The breakdown above is a first-pass triage guide; for precise trigger conditions, refer to the Occurrence column in each table below.

General error pages (/error-page/:errorType)

🔒 Authentication & authorization errors

TypeDeveloper codeURLUser messageOccurrence
Page not foundpage-not-found/error-page/page-not-found”The page could not be found”Appears when a user types a non-existent URL or opens an outdated bookmark.
Service blockedservice-blocked/error-page/service-blocked”Submissions are temporarily paused”Shown when an operator temporarily halts submissions but users keep visiting the link.
Invalid pathbad-path/error-page/bad-path”Invalid URL path”Triggered if someone edits the shared link or navigates to a non-whitelisted route.
Refresh detectedrefresh/error-page/refresh”Refresh detected”Displayed when the user refreshes or clicks back/forward mid-flow and the session resets.
Unsupported browserinvalid-browser/error-page/invalid-browser”Unsupported browser”Appears on legacy browsers or environments without WebAssembly support; users must switch to a modern browser. (error code RT-60002)
Hash validation failurehash_problem/error-page/hash_problem”Hash validation issue”Shown if multiple tabs or skipped steps break the data integrity; the flow must restart.
Encrypted onlyencrypted_only/error-page/encrypted_only”Unencrypted access”Appears when accessing a project with option_encryptedOnly=true using an unencrypted query string, or when query parameters other than pid, lang, and encrypted are included.

📅 Project status errors

TypeDeveloper codeURLUser messageOccurrence
Project closedproject-closed/error-page/project-closed”This project is closed and access is restricted”Users reopening a finished campaign see that no further submissions are allowed.
Period expiredperiod/error-page/period”Project submission window expired”Triggered when someone visits after the allowed submission window has ended.
Submission count limitsubmission-number-limit/error-page/submission-number-limit”You submitted more than 15 times”Trial projects stop additional attempts once the 15 submission cap is exceeded.

📤 Submission status errors

TypeDeveloper codeURLUser messageOccurrence
Already approvedalready_approved/error-page/already_approved”This device has already been verified”A device/browser that already completed verification is blocked until the waiting period ends.
Already rejectedalready_rejected/error-page/already_rejected”This submission was already rejected”The user tries again before the rejection cooldown expires and is told to wait.
Pending reviewalready_pending/error-page/already_pending”Your submission is under review”A new submission is attempted while the previous one is still under review.
Processed (approved)processed_submission-approved/error-page/processed_submission-approved”This submission was already processed (approved)“Reopening an approved result simply reminds the user no further action is needed.
Processed (rejected)processed_submission-rejected/error-page/processed_submission-rejected”Verification was rejected”Reopening a rejected result shows the remaining wait time before a retry.
IP already approvedip_already_approved/error-page/ip_already_approved”This IP address has already been approved”Another user on the same network tries to redo a verification that already succeeded.
IP already rejectedip_already_rejected/error-page/ip_already_rejected”This IP address has already been rejected”The same network repeatedly fails or is still within a rejection cooldown; users must switch networks.
TypeDeveloper codeURLUser messageOccurrence
Email already rejectedemail_already_rejected/error-page/email_already_rejected”Verification rejected / This email was already rejected”Reusing an email that is still within a rejection waiting period shows the remaining cooldown.

🛡️ Security & fraud detection

TypeDeveloper codeURLUser messageOccurrence
Suspected forgerysuspected-forgery/error-page/suspected-forgery”Suspected forgery detected”Triggered when the captured ID looks blurry, manipulated, or otherwise inauthentic; the user must reshoot.
File upload not allowednot-allow-file-upload/error-page/not-allow-file-upload”File upload is not allowed”Secure browsers, private mode, or denied camera/file permissions prevent uploads; users must enable access or switch devices.
Duplicate face detectedface_validation_error/error-page/face_validation_error”Duplicate face detected”The system detects the same face from a previous submission and instructs the user to contact support.
Abnormal actionabnormal_action/error-page/abnormal_action”Abnormal behavior detected”Uploading screenshots, over-edited images, or identical selfies triggers this message and forces a proper retry.

🌍 IP risk errors

TypeDeveloper codeURLUser messageOccurrence
Risky categoryipRisk_failCategory/error-page/ipRisk_failCategory”IP risk category failed”Connections from VPNs, Tor, or data centers are blocked until users switch networks.
Distance check faileddistanceChecks_ipGeo/error-page/distanceChecks_ipGeo”IP distance check failed”When GPS and IP geolocation are far apart (e.g., local GPS but overseas VPN) the user must disable the VPN.
Blacklisted countryblackliskCountries/error-page/blackliskCountries”Blacklisted country”Access from restricted countries is denied with guidance that the service is unavailable there.
Risk duration lockipRisk_durationHours/error-page/ipRisk_durationHours”IP risk duration limit”Repeated risky attempts lock the IP for a set duration; users can only retry after the timer ends.

⏱️ Rate limit & lockout

TypeDeveloper codeURLUser messageOccurrence
Rate limit exceededrate_limit_exceeded/error-page/rate_limit_exceeded”Request limit exceeded”Too many refreshes or submissions in a short period trigger a temporary pause.
Account lockedlocked_out/error-page/locked_out”Account locked”Numerous failures or suspicious activity lock the account until the displayed timer expires.
Traffic overloadtraffic_overload/error-page/traffic_overload”Traffic overload”Submission status polling exceeds 32 attempts, indicating server overload; users are asked to try again later.

ER — Rate limit & lockout

These codes map to the same API and constant identifiers (RATE_LIMIT_EXCEEDED, LOCKED_OUT) and routes as the Rate limit & lockout developer codes rate_limit_exceeded and locked_out in the table above.
Error codeIdentifierURLUser message (EN)Occurrence
ER-001RATE_LIMIT_EXCEEDED/error-page/rate_limit_exceeded”Request limit exceeded”Too many refreshes or submissions in a short period trigger a temporary pause.
ER-002LOCKED_OUT/error-page/locked_out”Account locked”Numerous failures or suspicious activity lock the account until the displayed timer expires.

📍 NF — Not Found

Error codes for when a route cannot be found.
Error codeURLUser messageOccurrence
NF-10000/error-page/not-found”Page not found”
The page you requested does not exist. Please check the URL and try again.
Accessing a route not defined in the router. Both Mobile and PC wildcard (*) routes redirect here.
NF-10001/error-page/invalid-path”Invalid access path”
You accessed an unauthorized path. Please try again with the correct URL.
The URL path exists but is not in the allowed initial path list (VALID_INITIAL_PATH).

⚠️ QS — Quality Score

Error codes triggered during IP lookups.
Error codeURLUser messageOccurrence
QS-10000/error-page/abnormal_verification_denied”Abnormal verification denied”
Rapid risky attempts lowered the trust score. You must wait for the displayed timer to expire.
The IP checker issues a 48-hour wait due to repeated risky behavior.
QS-20000/error-page/abnormal_rejected”Abnormal rejection”
Severe anomalies triggered an immediate rejection. Security issues must be resolved before retrying.
The IP checker detects a fraud score of 90 or above.
QS-30000/error-page/ipqs_system_error”IPQS system error”
The IP lookup failed due to a system error. Please try again later.
A client or server error occurs in the IP checker.

📦 QE — Queueing Error

Error codes for engine queue overload situations.
Error codeURLUser messageOccurrence
QE-20000/error-page/queueing-timeout”Queue overload”
We couldn’t process your submission due to unusually high traffic and an overloaded queue. Please try again in a moment.
The engine processing queue is overloaded and the server cannot handle the current user’s data.

🔧 PV — Parameter Validation

Error codes for missing query-string parameters, invalid values, or option conflicts.
Error codeURLUser messageOccurrence
PV-40000/error-page/missing-pid”Required parameter is missing”
The project ID (pid) is not included in the URL. Please access again via the correct link.
The pid parameter is missing from the URL query string. pid is required for all requests.
PV-40001/error-page/invalid-action”Invalid request”
The action parameter value is invalid or required parameters are missing.
The action parameter is not addveri, or action=addveri is set without pid or sid.
PV-40002/error-page/invalid-distance-option”Option configuration is invalid”
The distance check option value is invalid. Please check the settings and try again.
distanceCheckSource is provided but distanceMaxDistanceKm is not a valid number.
PV-40003/error-page/invalid-iprisk-option”Option configuration is invalid”
The IP risk option value is invalid. Please check the settings and try again.
ipRiskCategory is provided but ipRiskDurationHours is not a valid number.
PV-40004/error-page/conflicting-projection”Parameter configuration conflict”
projectionName and projectionId cannot be used at the same time. Please configure only one of them.
Both projectionName and projectionId are specified simultaneously. Only one is allowed.
PV-40010/error-page/blacklisted-country”Service is unavailable in this country”
Identity verification service is not available in the selected country.
The country specified in selectedIssuingCountry is on the service blacklist.
PV-40011/error-page/blacklisted-allowed-country”Allowed country configuration is invalid”
The allowed country list includes a country with restricted service. Please check the settings and try again.
The allowedCountries list contains one or more blacklisted countries.
PV-40012/error-page/conflicting-universal-idtype”ID type option configuration conflict”
Universal mode and specific ID type selection (selectedIdType) cannot be used together. Please check the settings and try again.
option_universal=true is set alongside selectedIdType, which are mutually exclusive.
PV-40013/error-page/missing-issuing-country”Issuing country information is missing”
To specify an ID type, the issuing country must also be configured. Please check the settings and try again.
selectedIdType is provided without the required selectedIssuingCountry.
PV-40014/error-page/conflicting-knowledge-idtype”Authentication method configuration conflict”
In knowledge-based authentication mode, the ID type cannot be specified separately. Please check the settings and try again.
authType=knowledge is set alongside selectedIdType, which are not compatible.
PV-40015/error-page/missing-faceauth-pid”Authentication information is missing”
Required parameters (pid or sid) for face authentication are missing. Please access again via the correct link.
Entering faceAuth flow without pid or sid.
PV-40016/error-page/conflicting-knowledge-skip”Validation option configuration conflict”
Skipping knowledge validation and disabling face comparison cannot be used together. Please check the settings and try again.
knowledgeField=skip is set alongside option_validationFaceCompare=false.
PV-40017/error-page/conflicting-knowledge-field”Knowledge validation field configuration conflict”
The skip option in knowledgeField cannot be used with other fields. Please set skip as a standalone option.
knowledgeField includes both skip and other field options. skip must be used alone.
PV-40018/error-page/expired-start-valid-until”The verification link has expired”
The verification link has expired. Please try again with a new link.
The time specified in the query string startValidUntil (UTC+0) has already passed when authentication is initiated. Token ID validation is evaluated afterward.

🖥️ SE — Server Error

Error codes for API call failures or server errors.
Error codeURLUser messageOccurrence
SE-50000/error-page/project-load-error”Unable to load project information”
An error occurred while fetching project settings from the server. Please try again later.
The projectOptions API call fails during initial app entry.
SE-50001/error-page/token-check-error”An error occurred while verifying the token”
A problem occurred while communicating with the server. Please try again later.
An exception occurs during the checkingToken API call.
SE-50002/error-page/validation-api-error”Validation service error”
A server error occurred during address validation. Please try again later.
The address validation API (/live/internal/validation) returns an error response.
SE-50010/error-page/faceauth-preload-error”Face authentication initialization failed”
A server error occurred while preparing face authentication. Please try again later.
The first API query for pre-loading faceAuth data fails.
SE-50011/error-page/faceauth-preload-error-2”Face authentication initialization failed”
A server error occurred while loading additional face authentication data. Please try again later.
The second API query for pre-loading faceAuth data fails.
SE-50012/error-page/faceauth-submission-error”Failed to verify face authentication status”
An error occurred while checking the authentication submission status. Please try again later.
The checkSubmission API responds but result is falsy.
SE-50013/error-page/faceauth-token-error”Face authentication token processing failed”
An error occurred while registering the authentication token. Please try again later.
An exception occurs during the insertToken API call in faceAuth.
SE-50014/error-page/faceauth-project-error”Unable to load face authentication project information”
An error occurred while fetching project data from the server. Please try again later.
The API call to retrieve faceAuth project data fails.
SE-50015/error-page/validation-code-error”Validation failed”
An error code was returned from address validation. Please check your information and try again.
The address validation API response contains an errorCode field. The API responded but validation itself failed.
SE-50020/error-page/id-liveness-server-error”ID liveness verification failed”
Please try again later.
The ID Liveness engine fails consecutively. Instead of retrying indefinitely, the flow redirects to a dedicated error page.
SE-50021/error-page/passive-liveness-error”Passive liveness verification failed”
Please try again later.
The Passive (selfie) Liveness engine fails consecutively.
SE-50022/error-page/face-compare-error”Face comparison verification failed”
Please try again later.
The Face Compare engine fails consecutively.
SE-50030/error-page/verify-kor-government-id-error”Korean national ID verification temporarily failed”
Please try again later.
Korean national ID card authenticity verification server failure.
SE-50031/error-page/verify-kor-driver-license-error”Korean driver’s license verification temporarily failed”
Please try again later.
Korean authenticity verification (driver’s license) server processing failure.
SE-50032/error-page/verify-kor-passport-error”Korean passport verification temporarily failed”
Please try again later.
Korean authenticity verification (passport) server processing failure.
SE-50033/error-page/verify-kor-residence-permit-error”Korean residence permit verification temporarily failed”
Please try again later.
Korean authenticity verification (alien registration card) server processing failure.
Among the engine errors above, ID Liveness (SE-50020), Selfie Passive Liveness (SE-50021), and Korean government verification (SE-50030–50033) can be configured in the dashboard to be treated as Warning instead of Error. When treated as a Warning, the flow does not redirect to an error page and the subsequent KYC process continues. The Warning can also be used as a Custom Policy trigger. (Face Compare (SE-50022) is Error-only.) For the WarningOccurred values and the warning[] field mapping produced after the conversion, see Warning Codes and Fields.

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

When the same error accumulates 3 times during ID capture or step-by-step processing, the flow redirects (replace) to a dedicated loop error page to prevent infinite retries. Fewer than 3 occurrences are handled with a reshoot prompt or notification. Each case is mapped based on the params value in the URL; unmapped cases redirect to a Fallback page.
Error codeURLUser messageOccurrence
LO-30001/error-page/loop/ocr_fail”Unable to recognize the ID”
Please retake the photo.
The OCR engine failed to recognize the ID, or an OCR server error occurred.
LO-30002/error-page/loop/data_processing_error”An error occurred during data processing”
Please try again later.
An error occurred during data processing.
LO-30003/error-page/loop/missing_parameters”Required information is missing”
Please start over.
Required parameters are missing.
LO-30004/error-page/loop/missing_requestId”Unable to verify request information”
Please start over.
The requestId is missing.
LO-30005/error-page/loop/image_quality_low”ID image quality is too low”
Please retake the photo more clearly.
Accumulated failures to meet the ID image quality standard (brightness / sharpness).
LO-99999/error-page/loop/* (Fallback)“An unknown error occurred”
Please start over.
A loop error that does not match any of the cases above (UnknownLoopError). The error type is also logged for internal monitoring.

⚡ RT — Runtime Error

Error codes for front-end runtime errors.
Error codeURLUser messageOccurrence
RT-60000/error-page/runtime-error”An error occurred”
An unexpected error occurred. Please refresh the page or start over.
React ErrorBoundary fires on /qr, /knowledge-qr, or /face-auth-qr routes.
RT-60001/error-page/token-runtime-error”An error occurred during token processing”
An unexpected error occurred. Please refresh the page or start over.
An exception is caught in the try/catch block inside the useTokenCheck hook.
RT-60002/error-page/invalid-browser”Unsupported browser”
Please try again with a modern browser.
Triggered on legacy browsers, environments without WebAssembly support, or devices running Android OS below version 9. See the recommended browsers and devices guide for supported environments.

📱 DE — Device Error

Error codes for cases blocked at the Device Info pre-verification stage. All error pages display the error code and its definition so clients can immediately identify the reason for the block.
Error codeURLUser messageOccurrence
DE-20000/error-page/abnormal_device”Unsupported device environment”
Verification cannot be performed on the current device or browser. Please try again on a different device or browser.
abnormalDevice. Blocked from proceeding with KYC due to a mobile device / browser environment issue.
DE-30000/error-page/device-fingerprint”Abnormal device detected”
Suspicious device signals (VM, emulator, bot, or tampering) were detected, so verification cannot proceed.
deviceFingerprint. Blocked from proceeding with KYC because one or more detection items (VM, emulator, bot, tampering, etc.) were found.
DE-30001/error-page/fingerprint-init-error”Unable to start device verification”
Device verification system failed to initialize. Please disable your ad blocker or try again in a different browser.
Failure to initialize the device verification (Fingerprint) system. A client-environment issue such as an ad blocker or a specific browser prevented the fingerprint SDK from loading or initializing.
DE-30002/error-page/fingerprint-response-error”Unable to verify device authentication result”
The device verification response is invalid. Please try again later.
Device verification result response error. The server returned an unexpected code (malformed format or unknown result value).
DE-30003/error-page/fingerprint-network-error”Please check your network connection”
The device verification request did not reach the server. Please check your network and try again.
Device verification network communication failure. The request did not reach the server — communication itself failed due to network disconnection, timeout, etc.
DE-40000/error-page/device-duplicate”Duplicate device detected”
Verification cannot proceed because this device has exceeded the duplicate device check limit.
deviceDuplicate. Blocked from proceeding with KYC because the Device Duplicate Check allowance was exceeded and the Reject policy is applied.
For instructions on configuring Device Verification / Fingerprint option / Device Duplicate Check in the Device Info tab, see Authentication Enhancement and Forgery Prevention — Device Info.

🔵 Token error pages (/error-page/token-*)

Token validation failure error pages. Starting with the 2026-04 update, error codes with the TK- prefix are assigned, and the code and its definition are displayed together on the error page.
TypeDeveloper codeError codeURLUser messageOccurrence
Token missingtoken-missingTK-10000/error-page/token-missing”Invalid link”
The link information is invalid.
Copying a link without its token parameter or opening an incomplete URL triggers this page.
Token expiredtoken-expiredTK-10001/error-page/token-expired”Link expired”
This link has expired.
Very old or reused links surface this message; users need a fresh token.
Token already approvedtoken-approvedTK-10002/error-page/token-approved”Verification already completed”
This request has already been completed.
A token that already completed verification is reopened, so duplicates are blocked.
Token pendingtoken-pendingTK-10003/error-page/token-pending”Review in progress”
Your submission is currently under review. Please check again later.
The same token is accessed while its submission is still under review; users must wait.
Token rejectedtoken-rejectedTK-10004/error-page/token-rejected”Request not approved”
Your submission was rejected. Please contact the person in charge for more information.
The token previously failed verification and requires contacting an operator before retrying.

🔄 Face retry (/face-retry/:faceErrorCode)

TypeDeveloper codeURLUser messageOccurrence
Dynamic face reshootface-retry/:faceErrorCode/face-retry/:faceErrorCodeLocalized per error code / Button: “Retake”Poor lighting, misaligned faces, or other capture issues prompt a reshoot; certain codes (e.g., invalid_submission_status) hide the reshoot button entirely.

❌ Runtime errors (Error Boundary)

TypeDeveloper codeURLUser messageOccurrence
Runtime errorNext.js Error BoundaryDefault: “Your request failed”, “KYC verification was rejected”
Special: “Unsupported browser” (WebAssembly error), “This browser does not support storage functionality”
Network drops, force refreshes, or storage-disabled environments (private mode) can crash the app; users should tap “Retry” or switch to a modern browser/standard mode.
Use these tables to align support scripts, monitoring alerts, and QA scenarios so every stakeholder is describing the same screen with the same vocabulary.