DMV Data Verification Service
Driver’s licenses, driving permits and ID cards issued by U.S. jurisdictions are regularly used as proof of identity; however, these documents can be counterfeit or altered. The DMV Data Verification Service allows an organization that is presented with a license or ID card to verify that the data on the card matches the data held by the jurisdiction that issued the document.
Benefit for Driver’s License Data Verification Service Users
The DMV Data Verification Service provides users with immediate verification of identification document data. Driver’s License Data Verification Service users submit data on a license and the service returns a flag for each data element that indicates if the element matches the data on file with the issuing jurisdiction. Users interact with the service via a web-service call.
Participants for DMV Data Verification Service
Example Request
Send POST request with CURL
curl -X POST https://screening.idware.net/api/Check -H "Content-Type: application/json" -H "Authorization: Bearer {token}" -d "{\"firstName\":\"firstName\",\"lastName\":\"lastName\",\"dateOfBirths\":\"dateOfBirths\",\"state\":\"state\",\"services\":[\"F1366C39-D0CD-458C-81F8-EFD7B0753A5B\"],\"driverLicenseNumber\":\"driverLicenseNumber\"}"
Request data
Endpoint: https://screening.idware.net/
Request:
POST /api/Check
With header "Authorization: Bearer {token}"
{
"firstName": "string",
"middleName": "string",
"lastName": "string",
"dateOfBirths": "2021-09-27",
"sex": "string",
"address": "string",
"addressLine2": "string",
"city": "string",
"county": "string",
"state": "string",
"zip": "string",
"ssn": "string",
"services": [
"F1366C39-D0CD-458C-81F8-EFD7B0753A5B"
],
"idType": "string",
"idNumber": "string",
"driverLicenseNumber": "string",
"documentCategoryCode": 0,
"driverLicenseIssueDate": "2021-09-27",
"driverLicenseExpirationDate": "2021-09-27",
"referenceId": "string",
"metadata": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"emailAddress": "user@example.com",
"phone": {
"phoneNumber": "string",
"sendPhoneVerification": true,
"forceVerificationByCall": true
},
"locationId": 0,
"readOnlyAccessLocationIds": [
0
]
}
DocumentCategoryCode (int)
0
for Driver License1
for Permit2
for ID Card
Sex (string)
M
- MaleF
- Female
For sending request to DMV service fields idType
and idNumber
in request data should not be filled, use DocumentCategoryCode
and DriverLicenseNumber
fields instead).
The delimiters used in the DriverLicenseNumber
field must not be included in the request (e.g if document contains number "a-123", it must be "a123" in request).
The DriverLicenseNumber
field is not case sensitive, so if value of "a123" is submitted, it will report a match on "A123".
Request Fields
Field Name | Required Fields for DMV Service |
---|---|
"firstName" | Required |
"lastName" | Required |
"state" | Required |
"driverLicenseNumber" | Required |
The "services" field is an array of IDs. Each ID is of a service that the client would like to run on the supplied data.
To run a name through the DMV Data Verification include - "F1366C39-D0CD-458C-81F8-EFD7B0753A5B"
To have multiple third party checks run during a single request, please see details
Important
When the "services"
field is null or is an empty array all the services your account has enabled will run. We do not recommend submitting request in this way. We recommend being explicit about which services you would like to run.
Response:
[
{
"serviceId": "f1366c39-d0cd-458c-81f8-efd7b0753a5b",
"serviceName": "DMV Verification",
"serviceDescription": "Driver License Data Verification",
"error": null,
"success": true,
"locationId": 0,
"readOnlyAccessLocationIds": [
0
],
"profiles": [
{
"internalId": null,
"firstName": "TEST",
"middleName": "TODAYS",
"lastName": "RECORD",
"dateOfBirths": "10.10.1960 0:00:00",
"address": null,
"countryName": null,
"countryCode": null,
"street1": null,
"street2": null,
"city": "TOPEKA",
"state": "KS",
"zipCode": "666111109",
"county": null,
"convictiontype": null,
"offenses": null,
"photoUrl": null,
"source": null,
"otherInformation": null,
"idNumber": null,
"verificationResult": null,
"driverLicenseVerificationResult": {
"documentCategoryMatch": null,
"personLastNameExactMatch": false,
"personLastNameFuzzyPrimaryMatch": false,
"personLastNameFuzzyAlternateMatch": false,
"personFirstNameExactMatch": false,
"personFirstNameFuzzyPrimaryMatch": false,
"personFirstNameFuzzyAlternateMatch": false,
"personMiddleNameExactMatch": false,
"personMiddleNameFuzzyPrimaryMatch": false,
"personMiddleNameFuzzyAlternateMatch": false,
"personMiddleInitialMatch": false,
"personBirthDateMatch": false,
"driverLicenseIssueDateMatch": true,
"driverLicenseExpirationDateMatch": false,
"driverLicenseNumberMatch": true,
"addressLine1Match": false,
"addressLine2Match": null,
"addressCityMatch": true,
"addressStateCodeMatch": true,
"addressZIP5Match": true,
"addressZIP4Match": true,
"personSexCodeMatch": true,
"addressLine1FuzzyMatch": true
}
}
]
}
]
Field Name | DMV Request Data | Jurisdiction Data | DMV Response | Reason for Response |
---|---|---|---|---|
Card Number | 1234 | 1234 | true | Numbers Matched |
Last Name | SMITH | JONES | false | Different Names |
Date of Birth | null | 1/2/1934 | null | No Data From User |
Weight | 200 | null | null | No Data From State |
When the exact match indicators in the response for the firstName
, middleName
or lastName
input parameters indicate a match (i.e. its value is true), then the additional fuzzy match fields in the response will be null.
When the exact match indicators in the response for the firstName
, middleName
or lastName
input parameters indicate a mismatch (i.e. its value is false), then the additional fuzzy match fields in the response will be populated to show if the supplied name matched using the fuzzy matching algortihms used by the web service.
DMV users who key in the names may make typos, so these fuzzy match indicators can assist the users in spotting typographical errors. e.g. if the First Name
Match Indicator is "false", but the First Name
Fuzzy Primary Match is "true"
, this indicates that the first name was a close match.
AAMVA uses a Double Metaphone matching algorithm for the fuzzy compares. The Double Metaphone provides two additional indicators for each component of the name. The Fuzzy Primary Match Indicator, indicates if there is a close match. The Fuzzy Alternate Match Indicator, indicates if there is a more distant match.