Reason codes
outcome_reason in the signed result says why a verification was held, declined by a workflow setting, or could not finish. When a document is rejected, document.outcome says why. Reasons marked configurable can be set to approve, review or decline per workflow, within the limits shown in the workflow builder.
| Code | Kind | Usual status | Configurable | Meaning |
|---|---|---|---|---|
SWISS_EID_PORTRAIT_MISMATCH | Outcome reason | FAILED | No | The person presented a valid Swiss e-ID, but the liveness selfie does not match the e-ID portrait (identification_method swiss_eid). |
SWISS_EID_AGE_NOT_MET | Outcome reason | FAILED | No | The Swiss e-ID was verified, but its age attribute (for example age_over_18) says the person is younger than the workflow's minimum age. |
CAPTURE_ATTEMPTS_EXHAUSTED | Outcome reason | CHECK_ERROR | No | The person used up their capture attempts without a usable document or selfie. |
CAPTURE_ENVIRONMENT_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | A virtual camera, automation or an inconsistent browser was seen during capture. |
DOCUMENT_AUTHENTICITY_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The document's security features could not be confirmed with enough confidence. |
FACE_REGISTRY_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The face matches a rejected or differently named verification in your organization. |
INSTALLATION_VELOCITY_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | Many verifications were started from the same browser installation in a short time. |
EXPECTED_DETAILS_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | A field you sent in expected_details disagrees with the document. |
DOCUMENT_REGISTRY_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The document is blocked, or was used by a different person in your organization. |
CONTACT_RISK_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The verified email or phone number looks risky, for example a disposable address. |
AML_REVIEW | Outcome reason | REVIEW_REQUIRED | No | AML screening found a possible match on a sanctions or PEP list. A person must decide. |
IP_COUNTRY_RESTRICTED | Outcome reason | REVIEW_REQUIRED | Yes | A capture came from a country the workflow's IP country rule does not allow. |
IP_COUNTRY_DIFFERS | Outcome reason | REVIEW_REQUIRED | Yes | A capture came from a country other than the one that issued the document. |
FLASH_REFLECTION_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | During the flash, the background changed colour almost as much as the face. A real screen lights the near face far more than the room, so the colours may have been added to a video. |
CAMERA_INJECTION | Outcome reason | FAILED | Yes | The selfie came through a known virtual camera, or the browser's camera function had been rewritten to feed in other video. |
LIST_BLOCK | Outcome reason | FAILED | Yes | A value of the verification (email, phone, IP address, device, document country or vendor_data) is on the organization's blocklist. |
AGE_ESTIMATION_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | Age-gated workflow without an ID fallback: the age estimated from the selfie was below the workflow's pass age, or could not be estimated. |
STATUS_RULE | Outcome reason | REVIEW_REQUIRED | No | One of the workflow's own status rules matched (for example a document country or a metadata value). The report lists the rules in outcome_decision.rules. |
FACE_MATCH_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The face matched the document, but below the stricter face match score the workflow asks for. |
PROOF_OF_ADDRESS_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The proof of address needs a person: the workflow reviews every one, or the reader found a different name, no date or issuer, an unclear or foreign address, weak edit signs, or could not read the file in time. |
PROOF_OF_ADDRESS_OUTDATED | Outcome reason | FAILED | Yes | The proof of address is older than the workflow's maximum age, or its issue date lies in the future. |
PROOF_OF_ADDRESS_NO_NAME_OR_ADDRESS | Outcome reason | FAILED | Yes | The proof of address was readable, but neither the person's name nor an address is on it. |
PROOF_OF_ADDRESS_WRONG_DOCUMENT | Outcome reason | FAILED | Yes | The upload is not a bill or statement: an identity document, a selfie or a blank page. |
PROOF_OF_ADDRESS_EDITED | Outcome reason | FAILED | Yes | The proof of address PDF shows strong signs of editing after issue: saved again after its signature, or the name, address or date replaced in a later revision. |
CONTENT_CREDENTIALS_AI_GENERATED | Outcome reason | FAILED | Yes | The Content Credentials (C2PA) of a document photo or an uploaded file say it was generated or composed with AI. Declined unless the workflow sends it to review. |
CONTENT_CREDENTIALS_INVALID | Outcome reason | REVIEW_REQUIRED | Yes | The Content Credentials (C2PA) of a document photo or an uploaded file no longer match it: it was changed after signing, or the signature is broken. |
CONTENT_CREDENTIALS_EDITED | Outcome reason | REVIEW_REQUIRED | Yes | The Content Credentials (C2PA) of a document photo or an uploaded file record edits to its content (for example drawing, placing or removing parts) or a composite. |
NFC_REQUIRED_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The workflow requires a chip read, and the session ended without a verified chip. |
FINMA_CHIP_NOT_VERIFIED | Outcome reason | REVIEW_REQUIRED | Yes | The FINMA profile requires a verified chip read (Rz 33.1); the document has no chip, or its chip was not read or verified. |
FINMA_PORTRAIT_MISMATCH | Outcome reason | REVIEW_REQUIRED | Yes | The selfie matched the chip portrait but not the printed document portrait, or that second comparison could not run (FINMA profile). |
SECURITY_FEATURES_INSUFFICIENT | Outcome reason | REVIEW_REQUIRED | Yes | Fewer than two security features could be checked for this document, so the random selection FINMA Rz 32 requires was not possible. |
SECURITY_FEATURE_FAILED | Outcome reason | REVIEW_REQUIRED | Yes | One of the randomly selected security features did not pass (FINMA profile). |
FINMA_MRZ_NOT_CROSSCHECKED | Outcome reason | REVIEW_REQUIRED | Yes | The MRZ could not be decoded and compared with the printed data (FINMA Rz 32); QR-code documents are not supported yet. |
FINMA_ADDRESS_UNVERIFIED | Outcome reason | REVIEW_REQUIRED | Yes | No proof of address, and the digital address evidence was missing or inconsistent (FINMA Rz 34–37.1). |
FINMA_HIGHER_RISK | Outcome reason | REVIEW_REQUIRED | Yes | A higher-risk case under FINMA Rz 31.2 (PEP or sanctions hit, FATF high-risk country): approval needs a second reviewer. |
FINMA_EID_NOT_VERIFIED | Outcome reason | REVIEW_REQUIRED | Yes | On the FINMA e-ID route (Rz 44.1–44.4) the credential's validity, trusted issuer or holder binding was not established. |
FINMA_EID_BETA_CREDENTIAL | Outcome reason | REVIEW_REQUIRED | Yes | The person presented a swiyu beta credential, which is not a proof of identity for the FINMA profile. |
BENEFICIAL_OWNER_NOT_CONFIRMED | Outcome reason | REVIEW_REQUIRED | Yes | The workflow asks for a beneficial owner declaration, and none was confirmed with the one-time code. |
BENEFICIAL_OWNER_THIRD_PARTY | Outcome reason | REVIEW_REQUIRED | Yes | The person declared that someone else is the beneficial owner of the assets. |
MORPH_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The document portrait may blend two faces. |
MORPH_ERROR | Outcome reason | CHECK_ERROR | No | The morph check could not run. |
MORPH_SKIPPED | Outcome reason | CHECK_ERROR | No | The morph check was skipped because the document portrait was not usable. |
LIVENESS_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The liveness check could not confirm a live person. |
DEEPFAKE_REVIEW | Outcome reason | REVIEW_REQUIRED | Yes | The selfie may be generated or manipulated. |
REQUIRED_SELFIE_CHECK_ERROR | Outcome reason | CHECK_ERROR | No | A required selfie check (liveness, face match or deepfake) could not run. |
WORKER_RETRIES_EXHAUSTED | Outcome reason | CHECK_ERROR | No | A processing step failed repeatedly on our side. |
ORCHESTRATION_RETRIES_EXHAUSTED | Outcome reason | CHECK_ERROR | No | The verification could not be moved to its next step after repeated attempts on our side. |
SELFIE_QUEUE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | Selfie processing was unavailable. |
DOCUMENT_IMAGE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | The document image could not be loaded for processing. |
DOCUMENT_PROCESSING_ERROR | Outcome reason | CHECK_ERROR | No | Document processing failed on our side. |
DOCUMENT_OCR_ERROR | Outcome reason | CHECK_ERROR | No | Reading the document text failed on our side. |
DOCUMENT_QUEUE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | Document processing was unavailable. |
FRAUD_IMAGE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | The document image could not be loaded for the authenticity checks. |
FRAUD_DOCUMENT_CROP_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | The cropped document could not be loaded for the authenticity checks. |
FRAUD_EVIDENCE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | Evidence needed by the authenticity checks was missing. |
FRAUD_TAMPER_ERROR | Outcome reason | CHECK_ERROR | No | The tamper check failed on our side. |
FRAUD_IDENTITY_ERROR | Outcome reason | CHECK_ERROR | No | The document consistency check failed on our side. |
FRAUD_QUEUE_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | Authenticity checking was unavailable. |
CATALOG_REVISION_UNAVAILABLE | Outcome reason | CHECK_ERROR | No | The document rules the session was started with could not be loaded. |
UNSUPPORTED_DOCUMENT | Document outcome | FAILED | No | We do not support this country and document type. |
UNREADABLE_DOCUMENT | Document outcome | FAILED | No | The document is supported, but the photo could not be read (blur, glare, cropped). |
TAMPERED | Document outcome | FAILED | No | The document image has been edited. |
IDENTITY_MISMATCH | Document outcome | FAILED | No | The document disagrees with itself, for example the MRZ and the printed fields. |
SPECIMEN_DOCUMENT | Document outcome | FAILED | No | The document is a published specimen, not a real document. |
DOCUMENT_EXPIRED | Document outcome | FAILED | No | The document has expired. |
WRONG_DOCUMENT_TYPE | Document outcome | FAILED | No | The document is real, but not the type the person selected. |
WRONG_COUNTRY | Document outcome | FAILED | No | The document is real, but from a country the person did not select. |
AGE_REQUIREMENT_NOT_MET | Document outcome | FAILED | No | The verified holder is younger than the workflow's minimum age. |