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.

POST

/api/v1/DrivingLicence/verify

#

Get Driver's License verification details

docs.signcare.io/core/api/kyc-documents/driver-s-license-verification/#post-api-v1-drivinglicence-verify

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. 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_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • dlNo
    stringrequired
    Required. Driving licence number, 10 to 16 characters (for example GJ0120130001960).
    minLength 10maxLength 16default GJ0120130001960
  • dob
    stringrequired
    Required. 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
  • additionalDetails
    booleanrequired
    Optional. Accepted for compatibility; it does not change the response. Defaults to false when omitted.
    default true
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "dlNo": "GJ0120130001960", "dob": "05-10-1990", "additionalDetails": true }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing driver's license verification details.
    26 fields
    • issueDate
      stringoptional
      Date when the driver's license was issued.
      nullable
    • fatherOrHusband
      stringoptional
      Name of the license holder's father or husband.
      nullable
    • name
      stringoptional
      Full name of the license holder.
      nullable
    • img
      stringoptional
      Base64-encoded image or URL of the license holder's photograph.
      nullable
    • bloodGroup
      stringoptional
      Blood group of the license holder.
      nullable
    • dob
      stringoptional
      Date of birth of the license holder.
      nullable
    • dlNumber
      stringoptional
      Driver's license number.
      nullable
    • validity
      objectoptional
      Validity periods for transport and non-transport license categories.
      2 fields
      • nonTransport
        stringoptional
        Validity date for non-transport vehicle categories.
        nullable
      • transport
        stringoptional
        Validity date for transport vehicle categories.
        nullable
    • validityType
      stringoptional
      The validity types present on the license (e.g., NT, TR, or NT,TR).
      nullable
    • nonTransportValidity
      stringoptional
      Resolved non-transport validity date.
      nullable
    • transportValidity
      stringoptional
      Resolved transport validity date.
      nullable
    • covDetails
      array<object>optional
      List of category of vehicle (COV) details associated with the license.
      nullable
      Each item: 2 fields
      • cov
        stringoptional
        Category of vehicle code.
        nullable
      • issueDate
        stringoptional
        Date when this vehicle category was issued on the license.
        nullable
    • address
      array<object>optional
      List of addresses associated with the license holder.
      nullable
      Each item: 7 fields
      • addressLine1
        stringoptional
        Primary address line.
        nullable
      • state
        stringoptional
        State name of the address.
        nullable
      • district
        stringoptional
        District name of the address.
        nullable
      • pin
        integer (int32)optional
        PIN code of the address.
      • completeAddress
        stringoptional
        Full formatted address string.
        nullable
      • country
        stringoptional
        Country name of the address.
        nullable
      • type
        stringoptional
        Type of address (e.g., permanent, present).
        nullable
    • status
      stringoptional
      Current status of the driver's license.
      nullable
    • statusDetails
      objectoptional
      Status details including the validity period and any remarks.
      3 fields
      • from
        stringoptional
        Start date of the status period.
        nullable
      • to
        stringoptional
        End date of the status period.
        nullable
      • remarks
        stringoptional
        Additional remarks related to the license status.
        nullable
    • endorsementAndHazardousDetails
      objectoptional
      Details of endorsement and hazardous validity on the driver's license.
      6 fields
      • initialIssuingOffice
        stringoptional
        Name of the initial issuing office.
        nullable
      • lastEndorsementDate
        stringoptional
        Date of the last endorsement.
        nullable
      • lastEndorsedOffice
        stringoptional
        Name of the office that issued the last endorsement.
        nullable
      • endorsementReason
        stringoptional
        Reason for the endorsement.
        nullable
      • hazardousValidTill
        stringoptional
        Expiry date for hazardous goods transport permission.
        nullable
      • hillValidTill
        stringoptional
        Expiry date for hill driving permission.
        nullable
    • transportValidFrom
      stringoptional
      Start date of transport validity (ULIP only).
      nullable
    • hazardousValidFrom
      stringoptional
      Start date of hazardous goods validity (ULIP only).
      nullable
    • hillValidFrom
      stringoptional
      Start date of hill driving validity (ULIP only).
      nullable
    • oldLicenseNumber
      stringoptional
      Previous license number before renewal (ULIP only).
      nullable
    • gender
      stringoptional
      Gender description of the license holder (ULIP only).
      nullable
    • mobileNo
      stringoptional
      Mobile number of the license holder (ULIP only).
      nullable
    • emailId
      stringoptional
      Email ID of the license holder (ULIP only).
      nullable
    • nationality
      stringoptional
      Nationality of the license holder (ULIP only).
      nullable
    • psvBadges
      array<object>optional
      PSV badge details (ULIP only).
      nullable
      Each item: 8 fields
      • badgeNo
        stringoptional
        No description.
        nullable
      • badgeStatus
        stringoptional
        No description.
        nullable
      • coverageCode
        integer (int32)optional
        No description.
        nullable
      • coverageAbbr
        stringoptional
        No description.
        nullable
      • issueDate
        stringoptional
        No description.
        nullable
      • issuingAuthority
        stringoptional
        No description.
        nullable
      • endorseDate
        stringoptional
        No description.
        nullable
      • endorseNo
        stringoptional
        No description.
        nullable
    • transactionHistory
      array<object>optional
      DL transaction history (ULIP only).
      nullable
      Each item: 5 fields
      • entryDate
        stringoptional
        No description.
        nullable
      • name
        stringoptional
        No description.
        nullable
      • abbreviation
        stringoptional
        No description.
        nullable
      • officeCode
        stringoptional
        No description.
        nullable
      • officeName
        stringoptional
        No description.
        nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether 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.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "issueDate": "string", "fatherOrHusband": "string", "name": "string", "img": "string", "bloodGroup": "string", "dob": "string", "dlNumber": "string", "validity": { "nonTransport": "string", "transport": "string" }, "validityType": "string", "nonTransportValidity": "string", "transportValidity": "string", "covDetails": [ { "cov": "string", "issueDate": "string" } ], "address": [ { "addressLine1": "string", "state": "string", "district": "string", "pin": 0, "completeAddress": "string", "country": "string", "type": "string" } ], "status": "string", "statusDetails": { "from": "string", "to": "string", "remarks": "string" }, "endorsementAndHazardousDetails": { "initialIssuingOffice": "string", "lastEndorsementDate": "string", "lastEndorsedOffice": "string", "endorsementReason": "string", "hazardousValidTill": "string", "hillValidTill": "string" }, "transportValidFrom": "string", "hazardousValidFrom": "string", "hillValidFrom": "string", "oldLicenseNumber": "string", "gender": "string", "mobileNo": "string", "emailId": "string", "nationality": "string", "psvBadges": [ { "badgeNo": "string", "badgeStatus": "string", "coverageCode": 0, "coverageAbbr": "string", "issueDate": "string", "issuingAuthority": "string", "endorseDate": "string", "endorseNo": "string" } ], "transactionHistory": [ { "entryDate": "string", "name": "string", "abbreviation": "string", "officeCode": "string", "officeName": "string" } ] }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/DrivingLicence/verify' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "dlNo": "GJ0120130001960", "dob": "05-10-1990", "additionalDetails": true }'