Skip to main content

Driving Licence Verification and Extraction API

API Description

Objective

The Driving Licence Verification and Extraction API authenticates a user by verifying their identity details against the central database maintained by the Ministry of Road Transport and Highways (VAHAN/Sarathi).

InputOutput
The driving licence number and the date of birth of the customer.A JSON response with the details of the customer extracted from their driving licence record.

API URL

https://ind-verify.hyperverge.co/api/checkDL

Overview

The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.

Authentication

You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

API Request Details

Method - POST

Headers

ParameterMandatory or OptionalTypeDescriptionValid Values
content-typeMandatorystringThis parameter defines the media type for the request payload.application/json
appIdMandatorystringThe application ID shared by HyperVergeNot Applicable - this is a unique value.
appKeyMandatorystringThe application key shared by HyperVergeNot Applicable - this is a unique value.
transactionIdMandatorystringThe unique ID for the customer journey.Not Applicable - this is a unique value related to a transaction in your application.

Input

The following table provides the complete information on the parameters used in the request body for the API call.

ParameterMandatory or OptionalTypeDescriptionValid Values
dlNumberMandatorystringThe sixteen digit unique number associated with the customer's driving licence.Not Applicable - this is a unique value.
dobMandatorystringThe date of birth of the customer in 'DD-MM-YYYY' format.Not Applicable.
returnStateOptionalstringThe parameter determines if the response should include the state information associated with the driving licence."yes" or "no"

Note
The default value is "no" when the parameter is not used in the request.

Sample Request

The following code shows a standard curl request for the API.

curl --location --request POST 'https://ind-verify.hyperverge.co/api/checkDL' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"dlNumber": "<Enter_The_DL_Number>",
"dob": "<DD-MM-YYYY>",
"returnState": "<yes_or_no>"
}'

Success Response Sample

The following is a sample success response.

{
"status": "success",
"statusCode": "200",
"result": {
"issue_date": "19-06-2018",
"father/husband": "<The_Name_Of_The_Father_Or_Husband",
"name": "ABHISHEK THOMAS T",
"img": "",
"blood_group": "B+",
"dob": "<DD_MM_YYYY>",
"dl_number": "TN702018000XXXX",
"validity": {
"transport": "",
"non-transport": "19-06-2018 to 18-06-2038"
},
"cov_details": [
{
"cov": "MCWG",
"issue_date": "19-06-2018"
},
{
"cov": "LMV",
"issue_date": "19-06-2018"
}
],
"address": "<The_Complete_Address>",
"state": "TAMIL NADU"
}
}

Success Response Details

The following table provides the details of the optional field in the success response.

ParameterDescription
stateThe field provides the state information associated with the driving license.

Note
This field is returned in the response only when the returnState parameter is set to yes in the request.

Failure Response Sample

The following is a sample response when no matching record is found against the input parameters.

{
"status": "failure",
"statusCode": "422",
"error": "Entered id is not found in any database"
}

Error Response Sample

The following are the sample error responses for the API.

{
"status": "failure",
"statusCode": "400",
"error": "dob is required"
}
{
"status": "failure",
"statusCode": "400",
"error": "dob must be a number of milliseconds or valid date string"
}
{
"status": "failure",
"statusCode": "422",
"error": "Invalid value passed for an input"
}
Status CodeError MessageError Description
400dob is requiredThe request does not have the mandatory dob parameter.
400dlNumber is requiredThe request does not have the mandatory dlNumber parameter.
400dlNumber is not allowed to be emptyThe request has no value against the dlNumber parameter.
400dob is not allowed to be emptyThe request has no value against the dob parameter.
400dob must be a number of milliseconds or valid date stringThe data type of the dob input in the request is invalid. Kindly retry sending the request with a number representing milliseconds or a valid date string.
400dob must be a string with one of the following formats [DD-MM-YYYY]The format of the dob input in the request is invalid. Kindly retry sending the request with DD-MM-YYYY format.
400returnState must be one of [yes, no]The returnState input in the request is invalid. Kindly use either "yes" or "no" for the parameter.
400dlNumber length must be at least 9 characters longThe length of the dlNumber input is too short. Kindly ensure that it is at least 9 characters long.
400dlNumber length must be less than or equal to 20 characters longThe length of the dlNumber input is too long. Kindly ensure that it is less than or equal to twenty characters in length.
422Invalid value passed for an inputThe request has invalid values.
500internal server errorKindly check the request headers or contact the HyperVerge team for resolution.
500Unexpected server errorKindly check the request headers or contact the HyperVerge team for resolution.
503Data Source not AvailableThere is some issue with the government service. Kindly retry the request after some time.
503Govt. database service unavailableThere is some issue with the government service. Kindly retry the request after some time.
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: