United States Driver's License

Driver's License verification is essential in eKYC processes for ensuring identity authenticity, regulatory compliance, and enhanced security. It helps prevent fraud, boosts user trust, and streamlines operations through automated and efficient verification methods. One use case where this is beneficial is for couriers and delivery services who want to verify an individual is above the legal age in the US.

Today, you are able to verify driver's licenses in 42 out of the 50 US states. The states we are not able to support today are: Alaska, California, Utah, Minnesota, Oklahoma, Louisiana, New Hampshire, New York, and Pennsylvania. Few of these currently unsupported states are under review and when they are added, will be reflected in this documentation


Direct API Approach

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

POST /omni/externalVerification/ekyc

This endpoint performs an eKYC check for the individual specified. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

  • plugins: must be ["kyc"]: (mandatory)
  • source:: (mandatory) String. Must be: "US_DRIVERS_LICENSE_1".
  • firstName:: (optional) String. First name of the individual.
  • surName: (optional) String. Last name of the individual.
  • state: (mandatory) String. Two letter state of the individual's address (eg. CA).
  • countryCode: (mandatory) String. Two letter Alpha-2 country code must be "US".
  • dateOfBirth: (optional) String. Format: yyyy-mm-dd (eg. 1986-01-04)
  • dlNumber: (mandatory) String. Driver's License number of individual. Format varies per state so ensure proper format is being entered (eg. F1234568)
  • dlExpireAt: (optional) String. Driver's License expiry date. Format: yyyy-mm-dd (eg. 2034-01-04)

Direct API Response

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

{
    "kyc": [
        {
            "key": "dlNumberMatch",
            "status": "Exact"; 
        },
        {
            "key": "dlDobMatch",
            "status": "No Match"
        },
        {
            "key": "dlNameMatch",
            "status": "Approximate Match"
        },
        {
            "key": "dlExpirationDateMatch",
            "status": "Exact"
        },
        {
            "key": "dlStateCodeMatch",
            "status": "Exact"
        }
    ]
}

Below you can see all the potential values you can expect to see on the API response for each key:

API Response KeyAPI Response Values
dlNumberMatchExact or No Match
dlDobMatchExact or No Match
dlNameMatchExact, Approximate Match, or No Match
dlExpirationDateMatchExact or No Match
dlStateCodeMatchExact or No Match

Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.

If you request for a state that is currently not supported, you will see an error message for this.

If you make a request without the appropriate mandatory fields, you will see an error message for this.


Single Session Dashboard Result

eKYC single session dashboard result

eKYC Example Single Session Dashboard result