--- title: "Verification session decision codes (table) | Veriff.com" slug: "verification-session-decision-codes-table" description: "Reference info of verification decision codes and outcomes." updated: 2025-09-03T10:20:34Z published: 2025-09-03T10:20:34Z canonical: "devdocs.veriff.com/verification-session-decision-codes-table" --- > ## Documentation Index > Fetch the complete documentation index at: https://devdocs.veriff.com/llms.txt > Use this file to discover all available pages before exploring further. # Verification session decision codes (table) The decision of the verification session can be `approved`, `declined`, `resubmission_requested`, `expired`, `abandoned`, and `review`. In case the session was `declined` or `resubmission_requested`, we send: - Reason code in `verification.reasonCode` string - Reason description in `verification.reason` string This info is sent in the webhooks, and are part of some GET API calls payloads. ### Session decision: declined If the `verification.status` returned the `declined` reason, see the table below for possible reason codes and descriptions. If you do not see the reason code here, see the [Granular reason codes (table)](/v1/docs/granular-reason-codes). | Code in `verification.reasonCode` | Description in `verification.reason` | | --- | --- | | 101 | Physical document not used | | 102 | Suspected document tampering | | 103 | Person showing the document does not appear to match document photo | | 104 | Name entered does not match name on document | | 105 | Suspicious behaviour | | 106 | Known fraud | | 108 | Velocity/abuse duplicated end-user | | 109 | Velocity/abuse duplicated device | | 110 | Velocity/abuse duplicated ID | | 111 | Session fraudulently accessed | | 112 | Restricted IP location | | 113 | Suspicious behaviour - Identity Farming | | 120 | Person on the portrait does not appear to match reference photo | | 121 | User ID missing | | 122 | No reference found | | 123 | Unable to pass registry checks | | 124 | Face already exists in the face collection | | 127 | Face match with blocklist | | 128 | End User ID mismatch | | 129 | Invalid workflow | ### Session decision: resubmission_requested This table contains values for `verification.reasonCode` in case the `verfication.status` returned `resubmission_requested`. If you do not see the reason code here, see the [Granular reason codes (table)](/v1/docs/granular-reason-codes). | Code in `verification.reasonCode` | Description in `verification.reason` | | --- | --- | | 201 | Video and/or photos missing | | 202 | Face not clearly visible | | 203 | Full document not visible | | 204 | Poor image quality | | 205 | Document damaged | | 206 | Document type not supported | | 207 | Document expired | | 208 | Selfie missing | | 209 | Document photo missing | | 210 | Document Front Photo Twice | | 211 | Document not visible in ID document image | | 212 | Document Framing: part of the document is out of the image | | 213 | Document Obscured: ID document is partially obscured (e.g. by fingers) | | 214 | Selfie Poor Quality: too poor quality e.g. too dark, too blurry | | 215 | Document Poor Quality: document is not readable e.g. too blurry, dark etc | | 216 | Document Poor Quality: glare | | 217 | Custom Resubmission | ## **Cap on the number of resubmissions** One user can resubmit their data up to 9 times. This means that the 10th attempt is automatically declined, and code **539 - Resubmission limit exceeded is sent**. If you wish to allow the end-user to retry verification, you need to create a new session for them using the [POST /sessions](https://devdocs.veriff.com/apidocs/v1sessions) endpoint. --- ## Changelog | Date | Description | | --- | --- | | Sep 3, 2025 | Codes added: 101, 104, 111, 120-129, 202-203, 208-217 | | Mar 12, 2025 | Documentation published | ## Related - [Verification session decisions](/verification-session-decisions.md) - [Granular reason codes (table)](/granular-reason-codes.md) - [Decision webhook](/decision-webhook.md)