Skip to main content
The ID Analysis service reads identity documents. You send a photo of the front of a document and receive the identified document type, the data extracted from the visual zone (VIZ), the cropped face, and — if you then send the back — the MRZ, the barcode, and the cross-validations between both sides and between data sources. The flow is always the same and carries no other state: POST /front returns a uuid; that uuid travels as relatedUuid in POST /back; the back’s response carries the cross-validations.

The decision rule

This is the most important part of the integration. Write it in the positive:
HTTP 200 does not mean “data extracted”. A photo with no readable document also returns 200 — with message: "Cant get document fields", id: "unknown" and an empty viz. And a back that belongs to a different document also returns 200 / "Operation end successfully." — what changes is back.frontBackTemplateValidation: false. Deciding on the status code alone accepts empty reads and mixed documents.

The three identifiers — do not mix them up

Error bodies carry a uuid generated on the spot that does not correspond to any transaction — only the 200 responses of /front return a uuid usable as relatedUuid.

Endpoints

The base URL depends on the environment and is provided by VU along with your api-key. Examples below refer to it as BASE_URL.

Authentication

Every call carries the Api-Key header with your environment’s key.
The api-key belongs in your backend. Never embed it in a mobile app or front-end bundle — anyone can extract it from the binary or the JavaScript.

A complete example

A successful read looks like this, trimmed to the fields that matter (specimen document, fictitious person):
front.face.image is the face cropped from the document — the image you compare against the selfie with Face Analysis. hasBackSide: true tells you this template expects a back side.

Environments

The UAT environment may run ahead of production. It also validates pre-release versions, so response times and extraction results can differ. Use it to certify your integration — the contract, the status codes, the error handling — not as a performance reference.

Next

Integration

Prepare the images, chain front and back, use the template catalog, and validate before production.

Responses

The extracted fields, the cross-validations, and the two 200s that do not approve anything.

Errors

Status codes, the 422 that echoes your whole request, and which errors are safe to retry.
Last modified on September 9, 2026