---
updatedAt: 2025-11-13T22:07:42.000Z
agentTools:
  projectIndex: https://docs.vouched.id/llms.txt
---

# US Driver's License Validation

DLV

Customers can validate driver’s licenses, learner’s permits, and government-issued IDs with government and proprietary data sources in 45 US states and Washington, D.C.

US territories defined as insular areas (such as Puerto Rico) are not supported.

Driver’s License Validation validates the **printed** data fields from the driver’s license with government and proprietary data sources.

<br /><br />

## States that are **Not Supported**

* Alaska
* Louisiana
* Minnesota
* New York
* Utah

<br /><br />

## Fields that are being validated

| Data Field              | Supported in 44 States + Washington, D.C | Supported in California |
| :---------------------- | :--------------------------------------- | :---------------------- |
| Driver’s License Number | **V**                                    | **V**                   |
| Last Name               | **V**                                    | **V**                   |
| Date of Birth           | **V**                                    | **V**                   |
| Expiration Date         | **V**                                    |                         |
| State                   | **V**                                    | **V**                   |

<br /><br />

## Turning on the Feature

1. If your account hasn't been set for the Driver's License Validation feature yet, please reach out to the Vouched team and ask to turn it on (<support@vouched.id>).
2. Once set on the Vouched side, the feature is live, and Driver's License Validation checks will be added to your candidates' validations.
3. The feature can be controlled via your JS plugin account props: `verification: { enableDriversLicenseValidation: false}`. Setting the field to False will turn it off for the specific job. The feature cannot be turned on solely from the plugin with  `verification: { enableDriversLicenseValidation: true}`. You must have the feature enabled for your account as mentioned above in note 1.

<br /><br />

## Reading the Response

There are two ways to read Driver's License Validation response, via the dashboard and via the job JSON response.

### JSON Response:

A `dlv` object is included under the `result` object of any job response. Customers can get the responses by setting a [callbackURL](https://docs.vouched.id/v0.13.4/docs/webhooks) or using the Vouched [Find Job API](https://docs.vouched.id/v0.13.4/reference/findjobs-1).

An example of a successful `dlv` response object:

```json json
"result": {
  "dlv": {
    "dlvStatusMessage": "Completed",
    "dlvCheckPerformed": true,
    "dlvEnabled": true,
    "result": {
      "stateSupported": true,
      "checkPerformedAt": "2023-02-23T23:24:54.000Z",
      "wasCheckPerformed": true,
      "status": "Approved",
      "source": "governmental",
      "fieldMatchesAvailable": [
        "licenseNumber",
        "lastName",
        "birthDate",
      ],
      "fieldMatchesFailed": [],
      "fieldMatchesSucceeded": [
        "licenseNumber",
        "lastName",
        "birthDate",
      ],
      "fieldMatchesUnavailable": [
        "expirationDate",
        "issueDate"
      ]
    }
  }
}
```

* `dlvStatusMessage` is a string that indicates the status of the dlv job. This can be `"Pending"`, `"In Progress"`, `"Completed"`, or `"Error"`.
* `dlvCheckPerformed` indicates whether or not the request was made yet for a dlv request. The `result` object you see within the response is populated asynchronously when a response is received from the license's state. Therefore `dlvCheckPerformed` serves as an indicator of whether or not `result` can be expected to be populated.
* The `result` object within this response consists of the actual state results we compile from the state on the license.
  * `status` in `dlv.result` can be `Approved` or `Not Approved` and indicates whether the driver's license details are fully matched. If at least one field appears under `fieldMatchesFailed`, or if a state is unsupported, you will get a `Not Approved` result.
  * `source` field can be `governmental` or `nonGovernmental` and indicates whether we used a government based or a proprietary data source.
  * `wasCheckPerformed` indicates whether or not a successful response **was received from the state**. Note that this can be false while the above `dlvCheckPerformed` is true. See an example scenario below where the state is unsupported.

#### Other Scenarios

Here are example scenarios with different combinations of results and their meanings.

```json
"result": {
  "dlv": {
    "dlvStatusMessage": "Pending",
    "dlvCheckPerformed": false,
    "dlvEnabled": true,
    "result": null
  }
}
```

In the above scenario, the `dlv` feature was enabled for the job, but the job is Pending and therefore the check has not been performed and the result is null.

<br />

```json
"result": {
  "dlv": {
    "dlvStatusMessage": "In Progress",
    "dlvCheckPerformed": false,
    "dlvEnabled": true,
    "result": null
  }
}
```

In the above scenario, the `dlv` feature was enabled for the job, but the job is In Progress and therefore the check has not been performed and the result is null.

<br />

```json
"result": {
  "dlv": {
    "dlvStatusMessage": "Error",
    "dlvCheckPerformed": false,
    "dlvEnabled": true,
    "result": null
  }
}
```

In the above scenario, the `dlv` feature was enabled for the job and the status is Error, therefore the check was not performed and the result is null. This can be for multiple reasons, including issues extracting data from the license and the provided document being unsupported, but state service outages are usually the cause.

<br />

```json
"result": {
  "dlv": {
    "dlvStatusMessage": "Not Applicable",
    "dlvCheckPerformed": false,
    "dlvEnabled": false,
    "result": null
  }
}
```

In the above scenario, the `dlv` feature was not enabled for the job and the status is Not Applicable, therefore the check was not performed and the result is null.

<br />

```json
"result": {
  "dlv": {
    "dlvStatusMessage": "Completed",
    "dlvCheckPerformed": true,
    "dlvEnabled": true,
    "result": {
      "stateSupported": false,
      "checkPerformedAt": '',
      "wasCheckPerformed": false,
      "status": 'Not Approved',
      "source": '',
      "fieldMatchesAvailable": [],
      "fieldMatchesSucceeded": [],
      "fieldMatchesFailed": [],
      "fieldMatchesUnavailable": [],
    }
  }
}
```

In the above scenario, the state of the license is unsupported for dlv checks.

### Dashboard:

The **DLV** tab within your dashboard jobs responses contains all the information, example:

<Image align="center" className="border" border={true} src="https://files.readme.io/84cfe3f-Screen_Shot_2023-03-13_at_7.15.18_PM.png" />

Job Status and Check Performed refer to the results of `dlvStatusMessage` and `wasCheckPerformed` respectively from the JSON response above.