Driver's License Verification
1 endpoint · Core API
This API swiftly authenticates driving license details by cross-referencing them with the Government database. This enhances the safety, speed, and efficiency of your onboarding process. By utilizing DL verification API, you can ensure that individuals you onboard possess a legitimate DL and have furnished accurate identity proof, instilling confidence in your verification procedures and ensuring compliance.
Benefits- Instant verification of driving license details Enhanced safety and security in the onboarding process Assurance of valid identity proof provided by individuals Streamlined verification procedures for compliance and confidence
What you can do
This API verifies driver's licenses issued by the Road Transport Offices across various states in India, ensuring secure authentication and validation of Driver's license details.
Get Driver's License verification details
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- consentstringrequiredRequired. The end user's consent to this verification. Send `Y`.minLength 1default Y
- consent_textstringrequiredRequired. The consent statement shown to the end user. Send the default text from the sample.minLength 1default I hear by declare my consent agreeme…
- request_idstringoptionalOptional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.nullable
- dlNostringrequiredRequired. Driving licence number, 10 to 16 characters (for example GJ0120130001960).minLength 10maxLength 16default GJ0120130001960
- dobstringrequiredRequired. Date of birth of the licence holder in dd-MM-yyyy format (for example 05-10-1990).minLength 1pattern ^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[0-2]…default 05-10-1990
- additionalDetailsbooleanrequiredOptional. Accepted for compatibility; it does not change the response. Defaults to false when omitted.default true
Sample request body
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model containing driver's license verification details.
26 fields
- issueDatestringoptionalDate when the driver's license was issued.nullable
- fatherOrHusbandstringoptionalName of the license holder's father or husband.nullable
- namestringoptionalFull name of the license holder.nullable
- imgstringoptionalBase64-encoded image or URL of the license holder's photograph.nullable
- bloodGroupstringoptionalBlood group of the license holder.nullable
- dobstringoptionalDate of birth of the license holder.nullable
- dlNumberstringoptionalDriver's license number.nullable
- validityobjectoptionalValidity periods for transport and non-transport license categories.
2 fields
- nonTransportstringoptionalValidity date for non-transport vehicle categories.nullable
- transportstringoptionalValidity date for transport vehicle categories.nullable
- validityTypestringoptionalThe validity types present on the license (e.g., NT, TR, or NT,TR).nullable
- nonTransportValiditystringoptionalResolved non-transport validity date.nullable
- transportValiditystringoptionalResolved transport validity date.nullable
- covDetailsarray<object>optionalList of category of vehicle (COV) details associated with the license.nullable
Each item: 2 fields
- covstringoptionalCategory of vehicle code.nullable
- issueDatestringoptionalDate when this vehicle category was issued on the license.nullable
- addressarray<object>optionalList of addresses associated with the license holder.nullable
Each item: 7 fields
- addressLine1stringoptionalPrimary address line.nullable
- statestringoptionalState name of the address.nullable
- districtstringoptionalDistrict name of the address.nullable
- pininteger (int32)optionalPIN code of the address.
- completeAddressstringoptionalFull formatted address string.nullable
- countrystringoptionalCountry name of the address.nullable
- typestringoptionalType of address (e.g., permanent, present).nullable
- statusstringoptionalCurrent status of the driver's license.nullable
- statusDetailsobjectoptionalStatus details including the validity period and any remarks.
3 fields
- fromstringoptionalStart date of the status period.nullable
- tostringoptionalEnd date of the status period.nullable
- remarksstringoptionalAdditional remarks related to the license status.nullable
- endorsementAndHazardousDetailsobjectoptionalDetails of endorsement and hazardous validity on the driver's license.
6 fields
- initialIssuingOfficestringoptionalName of the initial issuing office.nullable
- lastEndorsementDatestringoptionalDate of the last endorsement.nullable
- lastEndorsedOfficestringoptionalName of the office that issued the last endorsement.nullable
- endorsementReasonstringoptionalReason for the endorsement.nullable
- hazardousValidTillstringoptionalExpiry date for hazardous goods transport permission.nullable
- hillValidTillstringoptionalExpiry date for hill driving permission.nullable
- transportValidFromstringoptionalStart date of transport validity (ULIP only).nullable
- hazardousValidFromstringoptionalStart date of hazardous goods validity (ULIP only).nullable
- hillValidFromstringoptionalStart date of hill driving validity (ULIP only).nullable
- oldLicenseNumberstringoptionalPrevious license number before renewal (ULIP only).nullable
- genderstringoptionalGender description of the license holder (ULIP only).nullable
- mobileNostringoptionalMobile number of the license holder (ULIP only).nullable
- emailIdstringoptionalEmail ID of the license holder (ULIP only).nullable
- nationalitystringoptionalNationality of the license holder (ULIP only).nullable
- psvBadgesarray<object>optionalPSV badge details (ULIP only).nullable
Each item: 8 fields
- badgeNostringoptionalNo description.nullable
- badgeStatusstringoptionalNo description.nullable
- coverageCodeinteger (int32)optionalNo description.nullable
- coverageAbbrstringoptionalNo description.nullable
- issueDatestringoptionalNo description.nullable
- issuingAuthoritystringoptionalNo description.nullable
- endorseDatestringoptionalNo description.nullable
- endorseNostringoptionalNo description.nullable
- transactionHistoryarray<object>optionalDL transaction history (ULIP only).nullable
Each item: 5 fields
- entryDatestringoptionalNo description.nullable
- namestringoptionalNo description.nullable
- abbreviationstringoptionalNo description.nullable
- officeCodestringoptionalNo description.nullable
- officeNamestringoptionalNo description.nullable
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- isBillablebooleanoptionalWhether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500