GovDataMatch Technical Details
GovDataMatch is Incode’s data verification service through AAMVA or through validation of Verifiable Credentials. During verification, the supported document data fields are validated against the data on the record held by the issuing state’s DMV.
GovDataMatch is part of the overall US GovMatch offering.
Decisioning
When a connection is made and the provided Document Number matches to a record within the state DMV system, the supported data fields collected from the session are sent to the GovDataMatch provider for verification. Below are all data fields that could be available for matching. Not all participating states support all 5.
"firstName""paternalLastName""birthDate""issueDate""expirationDate"
Decisioning should be based on the status value in the overall object. The status value can be:
-
OK: Data Match is successful
-
FAIL: Data Match is unsuccessful
Scoring
The default AAMVA DLDV score is 100, with each data field that returns FAIL status causing a 15 point score deduction. The total module score is computed after all data field matches are complete. This calculation determines whether the overall module passed or failed:
- OK: 2 or fewer fields failed, or a module score of 70 or greater
- FAIL: More than 2 fields failed, or a module score of less than 70
NY Verifiable Credential
GovDataMatch supports NY through the validation of the Verifiable Credential within the document. A successful Data Match confirms the document was issued by the New York Department of Motor Vehicles and the identity data in the barcode has not been altered or tampered with. Results are returned as OK (100.0) or FAIL (0.0).
Note: supports New York driver’s licenses and ID cards issued after 2005
Standalone API
POST /omni/process/government-validation?countryCode=USA
Request Body
{
"idNumber": "D12345678",
"firstName": "JOHNTEST",
"paternalLastName": "DOETEST",
"birthDate": "03-16-1990",
"issueDate": "01-15-2020",
"expirationDate": "01-15-2028",
"issuerState": "TX"
}Response Body
{
"valid": true,
"statusCode": 0,
"governmentValidation": {
"validationStatus": {
"value": "0",
"status": "OK",
"key": "ok"
},
"ocrValidation": [
{
"value": "true",
"status": "OK",
"key": "documentNumber"
},
{
"value": "true",
"status": "OK",
"key": "firstName"
},
{
"value": "true",
"status": "OK",
"key": "paternalLastName"
},
{
"value": "true",
"status": "OK",
"key": "birthDate"
},
{
"value": "true",
"status": "OK",
"key": "issueDate"
},
{
"value": "true",
"status": "OK",
"key": "expirationDate"
}
],
"ocrValidationOverall": {
"value": "100.0",
"status": "OK"
},
"overall": {
"value": "100.0",
"status": "OK"
},
"provider": "DMV DATA MATCH"
}
}Response Details
The response for GovDataMatch is contained within the governmentValidation object.
This object contains the following fields:
| Field | Type | Description |
|---|---|---|
validationStatus | StatusValue | Provider status code for error handling. Contains a value, status, and key. See below for more information. |
ocrValidationOptional | Array[StatusValue] | Individual data field match results. Each data field result contains a value, status, and key. See below for more information. |
ocrValidationOverallOptional | StatusValue | Percentage of OCR fields that matched. Supplementary data for analysis. Contains a value and status. See below for more information. |
overall | StatusValue | Primary verification result. Use this field to determine pass/fail. Contains a value and status. See below for more information. |
providerOptional | String | Indicates whether the request was sent to GovFaceMatch (GovFaceMatch) or GovDataMatch (GovDataMatch). Only present for US verification. |
StatusValue key/value pairs
This object contains the following fields:
| Field | Type | Description |
|---|---|---|
valueOptional | String | The numeric or boolean value. |
status | String | The status code wrapped in a strong. Possible statuses are:
|
keyOptional | String | The key for which the status is being reported. For example, firstName, birthDate, or documentNumber. |
Error Codes
Please refer to Upcoming Changes to Error Codes for US Government Verification
If these errors appear for a legitimate user, or if the errors persist, submit a support ticket through http://support.incode.com/ for further investigation.
| Reason Code | Description | Status | Next Steps |
|---|---|---|---|
providerNotConfigured | Provider Not Configured Provider is not configured or is incorrectly configured for this flow. | UNKNOWN | Submit a support ticket through http://support.incode.com/ to troubleshoot issues with your configuration. |
missingDocumentId | Missing Document Number Document number missing or has an invalid pattern. | UNKNOWN | Check ID capture quality for barcode/OCR readability issues. |
invalidExpirationDate | Invalid Expiration Date Expiration date is not valid per document standards. | UNKNOWN | Check ID capture quality for barcode/OCR readability issues. If user is legitimate, submit a support ticket through http://support.incode.com/ for further investigation. |
notEnoughData | Missing Required Data One or more required fields are missing or invalid. | UNKNOWN | Ensure all required fields are provided by user into session. |
documentTypeNotSupported | Document Type Not Supported Invalid document type for validation by the configured provider. | UNKNOWN | Ensure the user is providing a supported document type. |
geographicRegionNotSupported | Country Not Supported Document country not supported by the configured provider. | UNKNOWN | Verify the user is providing supported document and countries are provisioned correctly. |
geographicStateRegionNotSupported | State Not Supported Document state not supported by the configured provider. | UNKNOWN | Verify the user is providing supported document and states are provisioned correctly. |
connectionError | Provider Connection Error Error occurred during processing within provider environment. | UNKNOWN | Try again later; if issue persists, submit a support ticket through http://support.incode.com/. |
infrastructureError | Incode Processing Error Error occurred during processing within Incode environment. | UNKNOWN | Try again later; if issue persists, submit a support ticket through http://support.incode.com/. |
null | If government validation status is not present, then it means the module was not run. | UNKNOWN | Try again later; if issue persists, submit a support ticket through http://support.incode.com/. |
userNotFound | User Not Found ID not found in government database. | FAIL | Check data extraction quality. If user is legitimate, submit a support ticket through http://support.incode.com/ for further investigation. |
documentNumberMismatch | Document Number Mismatch Record exists in government database but the person may be deceased or were issued a different more recent number. | FAIL | Check data extraction quality. If user is legitimate, ask that a newer identity document is used for verification or submit a support ticket through http://support.incode.com/ for further investigation. |
Updated 1 day ago
