---
Source: https://docs.microblink.com/blinkid/v8000/settings-validation
Title: BlinkID settings validation
Description: Overview of which settings combinations are disallowed for BlinkID
---

# BlinkID settings validation

BlinkID validates your settings configuration before scanning begins.
Some settings depend on others to function correctly, and some combinations are mutually exclusive.
When an invalid combination is detected, the SDK blocks the configuration and returns an error message.

:::tip[Defaults]

Using the default settings is recommended.
They work for most cases and require little to no manual tuning.

:::

## Session requirements

### At least one module must be enabled

A valid scanning session requires at least one module to be enabled: `documentCaptureModule`, `barcodeModule`, `vizModule`, or `mrzModule`.

## Document capture

The following rules apply when `documentCaptureModule` is enabled.

### Image cropping requires photo input

`documentCaptureModule.inputImageCropped = true` requires `inputImageSource = Photo`.

### Disabling passport-data-page-only scanning requires automatic mode

`documentCaptureModule.passportDataPageScanOnly = false` requires `scanningMode = Automatic`.

### Disabling second-side skipping requires automatic mode

`documentCaptureModule.secondSideWithNoExtractableDataSkipped = false` requires `scanningMode = Automatic`.

### Rejecting images with hand occlusion requires full image frame

`documentCaptureModule.imageWithHandOcclusionRejected = true` requires `documentCaptureModule.inputImageCropped = false`.

### Mandatory face image presence requires face extraction

`documentCaptureModule.faceImagePresenceMandatory = true` requires `documentCaptureModule.faceImageExtractionEnabled = true`.

### Input image margin requires video input

`documentCaptureModule.inputImageMargin` (when non-zero) requires `inputImageSource = Video`.
The value must be in the `[0, 1]` range.

### DPI must be within a range

`documentCaptureModule.dotsPerInch` must be in the `[100, 400]` range.

### Extension factor requires image return to be enabled

`documentCaptureModule.extensionFactor` (when non-zero) requires `documentCaptureModule.documentImageReturnEnabled = true`.
The value must be in the `[0, 1]` range.

### Image rejection based on blur requires setting a sensitivity level

`documentCaptureModule.imageWithBlurRejected = true` requires `documentCaptureModule.blurSensitivityLevel` to not be `Off`.

### Image rejection based on glare requires setting a sensitivity level

`documentCaptureModule.imageWithGlareRejected = true` requires `documentCaptureModule.glareSensitivityLevel` to not be `Off`.

## MRZ module

### MRZ module requires document capture

`mrzModule` requires `documentCaptureModule` to be enabled.

## VIZ module

### VIZ module requires document capture

`vizModule` requires `documentCaptureModule` to be enabled.

### VIZ result aggregation requires video input

`vizModule.resultAggregationEnabled = true` requires `inputImageSource = Video`.

### Mandatory VIZ presence requires restricted document support

`vizModule.presenceMandatory = true` requires `documentCaptureModule.unsupportedDocumentsAllowed = false`.

## Barcode module

The following rules apply when `barcodeModule` is enabled.

### At least one barcode type must be enabled

At least one of the following must be enabled: `pdf417ScanningEnabled`, `qrScanningEnabled`, `upceScanningEnabled`, `upcaScanningEnabled`, `code128ScanningEnabled`, `code39ScanningEnabled`, `ean8ScanningEnabled`, `ean13ScanningEnabled`, `itfScanningEnabled`, or `dataMatrixScanningEnabled`.

### PDF417 and QR scanning must be enabled together

When `documentCaptureModule` is also enabled, `pdf417ScanningEnabled` and `qrScanningEnabled` must both be enabled or both be disabled.
They cannot be enabled independently of each other.

### Full-frame barcode types require document capture to be disabled

The following barcode types can only be used when `documentCaptureModule` is disabled:

- `barcodeModule.upceScanningEnabled = true`
- `barcodeModule.upcaScanningEnabled = true`
- `barcodeModule.code128ScanningEnabled = true`
- `barcodeModule.code39ScanningEnabled = true`
- `barcodeModule.ean8ScanningEnabled = true`
- `barcodeModule.ean13ScanningEnabled = true`
- `barcodeModule.itfScanningEnabled = true`
- `barcodeModule.dataMatrixScanningEnabled = true`

## Other dependencies

### Mismatch threshold requires at least two modules

`maxAllowedMismatchesPerField > 0` requires at least two of the four modules (`documentCaptureModule`, `barcodeModule`, `vizModule`, or `mrzModule`) to be enabled.


Last updated on Jul 24, 2026
