---
Source: https://docs.microblink.com/verify/release-notes/version-4000.0.0
Title: Version 4000.0.0
---

# Version 4000.0.0

### Verify v3

We're introducing a new **v3** endpoint.

The new endpoint is at **`/api/v3/verify`**.

Both the request and response surface has been significantly changed, with numerous fields being renamed.
Some important changes include:

- All requests are now multipart-only.
  No more image URLs or base64-encoded image strings.
- Recommended outcome is now called `verdict` in the response.
- The response now contains a `failedChecks` array that lists any checks that the document has failed.
- Match levels are now called sensitivity.
- Checks that take a sensitivity now report `passesAtOrBelowSensitivity`, the highest sensitivity at which they would still pass.
- Individual image quality checks have been consolidated under a single `imageAssessment.imageQualityCheck` result.
  The same module is now used by both BlinkID and Verify.
- Certainty levels are removed.
- The response now contains a `pipeline` object with a separate status for the extraction and verification stages.
- Checks have been renamed for consistency, and enum-like values are now open enums: the schema lists the values known today, but new ones can be added without a breaking change, so handle unrecognized values rather than rejecting them.
- Invalid requests now return structured validation errors that name the offending parameter path and the reason it was rejected.
- The default `portraitForgerySensitivity` has been re-tuned to `Level5`.
- Messages have been revised.
- New runtime fields added: `apiImageTag`, `workerImageTag`, `gatewayImageTag`, `identityImageTag`, `executionId`, `consentId`

#### Consent object required

We now require a `consent` object.

You now must provide an end user's consent if you want to process their data.

The minimum information we require from you is the duration of the consent, and a unique user ID:

```json
{
  "durationDays": 60,
  "userId": "634474d4-9577-..." // we recommend using UUIDs
}
```

For more information on consent, why it is required and how it works, see [Get your users' consent](/verify/consent).

#### Migration guide available

See the [migration guide from v2 to v3](/verify/migrate-v3) for a detailed breakdown of everything that has changed.

### New documents supported

The extraction engine is updated to BlinkID v8001, which adds support for numerous new documents and versions, and improves OCR accuracy.

See the full list of supported documents [here](/blinkid/release-notes/v8001.0.0).

### Other changes

- Verification latency is significantly lower, on both the v2 and v3 endpoints.
- Generative AI detection is now skipped automatically when `verificationContext` is set to `InPerson`, since a document presented in person doesn't need a synthetic-image check.

### Bug fixes

- Fixed an issue where barcode read checks for Tennessee 2018 and North Carolina 2008 Under 21 driver licenses was previously returning NotPerformed.
- Fixed an issue where NONE would sometimes appear as part of the firstName extraction result.
