> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cynopsis.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Document verification code

# Document Verification Codes and Meanings

This reference explains the `docver_check.reasonCode` values and related fields returned during Identity and Document Verification via the Cynopsis OCR & IDV APIs.

***

## Document Types

The `docver_check.document.type` field indicates the type of document identified. Possible values include:

* `PASSPORT`
* `ID_CARD` – National identity cards
* `DRIVERS_LICENSE` – Driver's licenses
* `RESIDENCE_PERMIT` – Residence permits and residence cards
* `VISA` – Visa documents attached in a passport or issued as a separate document
* `OTHER` – Other or unspecified document types

***

## Verification Codes

During the verification process, your document undergoes multiple checks. The result is communicated in the verification object (e.g., `docver_check.status` and `docver_check.reasonCode`).\
Use the tables below to interpret reason codes.

### When `docver_check.status` is `declined`

| Code | Description                                         |
| ---- | --------------------------------------------------- |
| 105  | Suspicious behaviour                                |
| 112  | Restricted IP location                              |
| 127  | Face match with blocklist                           |
| 504  | Attempted deceit, device screen used                |
| 505  | Attempted deceit, printout used                     |
| 508  | Presented document tampered, similarity to specimen |

### When `docver_check.status` is `resubmission_requested`

| Code | Description                       |
| ---- | --------------------------------- |
| 608  | Document front missing            |
| 609  | Document back missing             |
| 614  | Document front not fully in frame |
| 615  | Document back not fully in frame  |
| 619  | Document data not visible         |
| 620  | Presented document expired        |
| 621  | Document annulled or damaged      |
| 625  | Unable to collect surname         |
| 626  | Unable to collect first names     |
| 627  | Unable to collect date of birth   |
| 628  | Unable to collect issue date      |
| 629  | Unable to collect expiry date     |
| 630  | Unable to collect gender          |
| 631  | Unable to collect document number |
| 632  | Unable to collect personal number |
| 633  | Unable to collect nationality     |
| 634  | Unable to collect home address    |

***

### Example

```json theme={null}
"docver_check": {
  "id": "8fd56097-caad-410b-8e57-fcaf24524007",
  "code": 9102,
  "person": { ... },
  "reason": "Presented document tampered, document similarity to specimen",
  "status": "declined",
  "document": {
    "type": "RESIDENCE_PERMIT",
    ...
  },
  "reasonCode": 508,
  ...
}
```

In the example above, `reasonCode`: **508** indicates the document was declined because it was tampered with or matched a known specimen/image.

***

> If you need details for any additional status or reason codes not listed here, please contact support or refer to the full API documentation.
