by Profiden

Driving License V2 (DL Validation Plus)

Identity & KYC

DL Validation Plus - enhanced Driving Licence verification returning holder photo, blood group, expiry, status details and vehicle-category wise validity.

Endpoint

POST https://app.emver.io/api/sandbox/v1/driving-license-v2
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Request parameters

FieldTypeDescription
dl_v2_dl_number required string DL Number Driving licence number without spaces
dl_v2_dob required string Date of Birth Date of birth as on the licence (DD/MM/YYYY)

Example request

cURL
curl -X POST https://app.emver.io/api/sandbox/v1/driving-license-v2 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "dl_v2_dl_number": "string",
    "dl_v2_dob": "YYYY-MM-DD"
}'

Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.

Response

Structure · 200

{
  "status": INTEGER,
  "message": STRING
}

Example · 200

{
  "status": 200,
  "message": "string"
}

Error · 4xx / 5xx

{
  "status": INTEGER,
  "message": STRING
}

See Errors & status codes for what each status means and which calls are billed.

About this API

Driving License V2 (DL Validation Plus)

DL Validation Plus - enhanced Driving Licence verification returning holder photo, blood group, expiry, status details and vehicle-category wise validity.

Endpoint

POST /api/v1/driving-license-v2
Content-Type: application/json

Request parameters

FieldRequiredDescription
dl_v2_dl_numberYesDL Number - Driving licence number without spaces. Example: MH1220190012345
dl_v2_dobYesDate of Birth - Date of birth as on the licence (DD/MM/YYYY). Example: DD/MM/YYYY

Sample request

{
  "dl_v2_dl_number": "MH1220190012345",
  "dl_v2_dob": "DD/MM/YYYY"
}

Sample success response

{
  "status": 200,
  "message": "Verification successful",
  "data": {
    "dl_number": "...",
    "dob": "...",
    "name": "...",
    "father_or_husband_name": "...",
    "status": "...",
    "date_of_issue": "...",
    "address": "...",
    "address_list": "...",
    "validity": {
      "non_transport_from": "...",
      "non_transport_to": "...",
      "transport_from": "...",
      "transport_to": "...",
      "hill_valid_till": "...",
      "hazardous_valid_till": "..."
    },
    "badge_details": "...",
    "last_transaction_date": "...",
    "last_transacted_at": "...",
    "photo": "...",
    "blood_group": "...",
    "expiry_date": "...",
    "status_details": "...",
    "vehicle_classes": "...",
    "endorse_date": "...",
    "endorse_number": "..."
  }
}

Sample error response

{
  "status": 404,
  "message": "No record found for the given input"
}

Response status codes

The status field in the response body indicates the verification outcome.

statusMeaning
200Verification successful
400Invalid input / verification failed
404No record found
422Invalid or missing input parameters
500Source unavailable - retry later