Skip to main content

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
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)

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.
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.

📍 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.

🖥️ 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.

⚡ 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.

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

TypeDeveloper codeURLUser messageOccurrence
Token missingtoken-missing/error-page/token-missing”Token ID is not active” / “Try again on another mobile device”Copying a link without its token parameter or opening an incomplete URL triggers this page.
Token expiredtoken-expired/error-page/token-expired”Token expired” / “Try again on another mobile device”Very old or reused links surface this message; users need a fresh token.
Token already approvedtoken-approved/error-page/token-approved”Token already approved”A token that already completed verification is reopened, so duplicates are blocked.
Token pendingtoken-pending/error-page/token-pending”Token under review”The same token is accessed while its submission is still under review; users must wait.
Token rejectedtoken-rejected/error-page/token-rejected”Token rejected”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.