Error Codes
Every error response includes an error_code field. The frontend displays it as “message (E001)”. Log entries append [E001] to the message.
Complete Reference (E001 – E024, E999)
| Code | Source | Condition | User Message |
|---|---|---|---|
| E001 | Capture | Not logged in | You must be logged in to verify your age. |
| E002 | Capture | Already verified (lockout) | You are already verified. Please wait X before re-verifying. |
| E003 | Capture | Rate limited | Too many attempts. Please try again later. |
| E004 | Capture | No image data | No image data received. |
| E005 | Capture | Liveness token expired | Session expired. Please reload and try again. |
| E006 | Liveness | Insufficient frames (< 3) | Unable to detect a live person. Ensure your face is clearly visible. |
| E007 | Liveness | Movement check failed | Unable to detect a live person. Move your head slightly and try again. |
| E008 | Liveness | Blink not detected | Unable to detect a live person. Blink naturally during capture. |
| E009 | Mask | Image too small (< 100px) | Image integrity check failed. Please capture a new photo. |
| E010 | Capture | GPS required but missing | GPS location is required. |
| E011 | AI | API HTTP error (non-200) | The server encountered an error. Please try again later. |
| E012 | AI | Unexpected API response | Unexpected API response format. |
| E013 | AI | Too many faces (single mode) | Multiple faces detected. Single mode requires exactly one face. |
| E014 | AI | No face detected | No face detected in the image. |
| E015 | AI | Not enough faces (couple) | Not enough faces detected for couple mode. |
| E016 | AI | Not a live webcam capture | Image does not appear to be a live camera capture. |
| E017 | AI | Age outside valid range | Age outside valid range. |
| E018 | AI | Connection failed | The server encountered an error. Please try again later. |
| E019 | Capture | Age below minimum | Your estimated age (X) is below the required minimum (Y). |
| E020 | Geo | Reverse geocoding failed | Reverse geocoding failed. |
| E021 | Capture | Credit/trial limit exhausted | Trial limit exhausted. |
| E023 | Capture | AI confidence below threshold | AI confidence (X%) is below the required threshold (Y%). Please try again with better lighting. |
| E024 | Capture | Fraud score exceeds max | Verification blocked due to suspicious activity. Please try again from your usual location. |
| E999 | Fallback | Unknown error | The server encountered an error. Please try again later. |
