General reference · eKYC Reference / eKYC Coverage

India

India eKYC verification matches submitted individual data against an Indian government source of truth. See the eKYC API Reference for common response semantics that apply across all sources.

Available sources

Source API source string Description
India DMV IN_DMV Verifies submitted driver's license details.

India DMV

Request parameters

Parameter Required Description
source Mandatory Must be IN_DMV.
country Mandatory Must be IN. countryCode takes priority over country if both are provided.
firstName Mandatory First name of the individual. Must not contain digits.
surName Mandatory Last name of the individual. Must not contain digits.
middleName Optional Middle name of the individual. Must not contain digits.
dateOfBirth Mandatory Date of birth. Format: YYYY-MM-DD (for example, 1991-08-02).
idNumber Mandatory Driving license number (for example, SS-RRRR-YYYY-NNNNNNN).
street Optional House number and street name of the individual's address.
city Optional City of the individual's address (for example, Bengaluru).
state Optional State of the individual's address (for example, Karnataka).
postalCode Optional PIN code. Must be exactly 6 digits (for example, 560001).
gender Optional Accepted values are m or f.

The endpoint can accept an empty body ({}), in which case information is pulled from module configuration and session details.

Sample request

{
    "plugins": ["kyc"],
    "source": "IN_DMV",
    "country": "IN",
    "firstName": "Rahul",
    "middleName": "Kumar",
    "surName": "Sharma",
    "dateOfBirth": "1991-08-02",
    "idNumber": "DL0420110123456",
    "street": "24 MG Road",
    "city": "Bengaluru",
    "state": "Karnataka",
    "postalCode": "560001",
    "gender": "m"
}

Sample response

{
    "kyc": [
        { "key": "firstNameMatch", "status": "exact" },
        { "key": "middleNameMatch", "status": "exact" },
        { "key": "lastNameMatch", "status": "exact" },
        { "key": "fullNameMatch", "status": "exact" },
        { "key": "dobMatch", "status": "exact" },
        { "key": "idNumMatch", "status": "exact" },
        { "key": "streetMatch", "status": "exact" },
        { "key": "cityMatch", "status": "exact" },
        { "key": "stateMatch", "status": "exact" },
        { "key": "postalCodeMatch", "status": "exact" },
        { "key": "fullAddressMatch", "status": "exact" },
        { "key": "genderMatch", "status": "nomatch" },
        { "key": "overallLevel", "status": "low" }
    ]
}

Response fields

Field Statuses Description
firstNameMatch exact, fuzzy, nomatch Matches first name submitted against the value in the source of truth.
middleNameMatch exact, fuzzy, nomatch, nodata Matches middle name submitted against the value in the source of truth.
lastNameMatch exact, fuzzy, nomatch Matches last name submitted against the value in the source of truth.
fullNameMatch exact, fuzzy, nomatch Matches full name (first, middle, last) submitted against the full name in the source of truth.
dobMatch exact, fuzzy, nomatch, nodata Matches date of birth submitted against the value in the source of truth.
idNumMatch exact, fuzzy, nomatch, nodata Matches driving license number submitted against the value in the source of truth.
streetMatch exact, fuzzy, nomatch, nodata Matches street submitted against the value in the source of truth.
cityMatch exact, fuzzy, nomatch, nodata Matches city submitted against the value in the source of truth.
stateMatch exact, fuzzy, nomatch, nodata Matches state submitted against the value in the source of truth.
postalCodeMatch exact, fuzzy, nomatch, nodata Matches postal code submitted against the value in the source of truth.
fullAddressMatch exact, fuzzy, nomatch, nodata Matches full address (street, city, state, postal code) submitted against the full address in the source of truth.
genderMatch exact, fuzzy, nomatch, nodata Matches gender submitted against the value in the source of truth.
overallLevel low, medium, high Overall risk level based on submitted full name, date of birth, and driving license number. See below for calculation logic.

overallLevel calculation

overallLevel is calculated based on the submitted full name, date of birth, and driving license number:

  • low when fullNameMatch, dobMatch, and idNumMatch are all exact.
  • high when fullNameMatch, dobMatch, OR idNumMatch are nomatch.
  • medium for all other combinations.

Contact your Incode representative to customize the overallLevel calculation for your use case.

Error responses

See the eKYC API Reference for standard HTTP response codes and error handling conventions.

Single Session Dashboard results

Verification results for individual sessions are available in the Single Session view in Dashboard.

Was this page helpful?