> For the complete documentation index, see [llms.txt](https://doc.faceplugin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.faceplugin.com/products/id-document-recognition-sdk/document-result-json.md).

# Document result JSON

ID Document Recognition result JSON. documentName, OCR, MRZ, barcode, verification, image quality, images, and security fields returned by recognize and documentProcess on every platform.

`recognize` (mobile) and `POST /api/documentProcess` (Linux / Windows) return the **same idea**: one JSON object. Dedicated `documentRecognition` / `documentLiveness` (and the matching HTTP paths) use the same JSON shape with recognition-only or authenticity-only fields populated. Flutter, React Native, and Ionic **normalize Android output** so it matches this **iOS-shaped** contract.

Parse this object in your app. Do not copy the demo Result screen.

### Top-level fields

| Field          | Meaning                                                                                    |
| -------------- | ------------------------------------------------------------------------------------------ |
| `errorCode`    | Optional engine error                                                                      |
| `documentName` | Document type name                                                                         |
| `countryName`  | Issuing country                                                                            |
| `score`        | Document / locate confidence                                                               |
| `msg`          | Optional message                                                                           |
| `verification` | Field and document checks                                                                  |
| `imageQuality` | Capture quality checks (omitted when `response.ImageQuality` is `"none"`)                  |
| `ocr`          | Visual-zone fields                                                                         |
| `mrz`          | Machine-readable zone                                                                      |
| `barcode`      | Barcode / QR fields                                                                        |
| `images`       | Crops (portrait, document, signature, …). Recognition only; omitted on `documentLiveness`. |
| `security`     | Authenticity / document liveness (license-gated)                                           |

### `verification`

| Key        | Meaning                       |
| ---------- | ----------------------------- |
| `overall`  | Whole-document verdict        |
| `docType`  | Type check                    |
| `expiry`   | Expiry check                  |
| `text`     | OCR consistency               |
| `mrz`      | MRZ check                     |
| `security` | Authenticity rolled up        |
| `imageQA`  | Image quality rolled up       |
| `portrait` | Portrait check                |
| `reasons`  | Optional list of fail reasons |

Values: **0** Pass, **1** Fail, **2** Not checked.

### `imageQuality.checks`

Typical keys (order used in the Android demo): `focus`, `glares`, `resolution`, `colorness`, `perspective`, `bounds`, `portrait`, `handwritten`, `brightness`, `occlusion`.

Each check uses `CheckResult`: **0** Fail, **1** Pass, **2** Not checked. That is **not** the same 0/1/2 mapping as `verification`.

### `images[]`

Each item: `name`, `image` (often base64), optional `source`. Present on `documentRecognition` / `recognize` / `documentProcess`. **Omitted** on `documentLiveness`.

### `security`

Authenticity / document liveness (license-gated). Full key list: [Document security check fields](/products/id-document-recognition-sdk/document-security-check-fields.md).

| Key       | Meaning                                                                                                                   |
| --------- | ------------------------------------------------------------------------------------------------------------------------- |
| `overall` | Rolled-up authenticity (`success` / `fail` / `notChecked`)                                                                |
| `label`   | Human-readable status                                                                                                     |
| `pages[]` | Per-page groups (`pageIndex`, `overall`, `label`, plus RGB check keys such as `photoOriginAnalysis`, `hologramIntegrity`) |

Each group is `{ title, result, checks? }` or `{ title, score }` for pattern percent. Nested checks are omitted when they were not run.

Needs authenticity `"normal"` on `recognize` / `"Authenticity": "normal"` on the server. `"none"` skips Security.

### Locate JSON (camera overlay only)

`locateDocument` is **not** folded into the recognize result. Expect `score`, `position.corners`, and sometimes `_locateImageWidth` / `_locateImageHeight`. **No OCR** and **no image quality** on this path (`ImageQuality` is `"none"`).

Flutter, React Native, and Ionic ship typed helpers (`recognizeResult`, `rows`, `summary`, `images`, `securityRows`) so you do not write a 600-line parser.

[Request a License & Support](/help/request-a-license-and-support.md) · [Contact us](/help/contact-us.md)

### FAQ

**Same JSON on every platform?** Yes — `recognize` and `POST /api/documentProcess` share this field set.

**Authenticity key names?** [Document security check fields](/products/id-document-recognition-sdk/document-security-check-fields.md).

### Related documentation

* [Document security check fields](/products/id-document-recognition-sdk/document-security-check-fields.md) · [Glossary](/help/resources/glossary.md)
* [ID Document Recognition Mobile SDK](/products/id-document-recognition-sdk/recognition-and-liveness/mobile-sdk.md) · [Server SDK](/products/id-document-recognition-sdk/recognition-and-liveness/server-sdk.md)
* [Request a License](/help/request-a-license-and-support.md) · [Status codes](/help/resources/status-codes.md)
* [Combining products (eKYC)](/getting-started/choose-a-product.md) · [SDK comparison](/help/comparisons.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.faceplugin.com/products/id-document-recognition-sdk/document-result-json.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
