---
title: "India"
url: "https://developer.incode.com/general-reference/ekyc-reference-india/"
section: "general-reference"
group: "eKYC Reference / eKYC Coverage"
version: "v1.1"
status: "live"
---
# India

India eKYC verification matches submitted individual data against an Indian government source of truth. See the [eKYC API Reference](/general-reference/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

```json
{
    "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

```json
{
    "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](/general-reference/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](/dashboard-platform-administration/single-session-view/) in Dashboard.