Feel free to reach techsupport@surepass.io for any technical support or guidance.
Authorization header of every request.Authorization header using the format Bearer <YOUR_JWT_TOKEN>.⚠️ Important: Use the correct base URL and corresponding JWT token for each environment. Do not use sandbox tokens in production or vice versa.
| Environment | Base URL |
|---|---|
| Sandbox | https://sandbox.surepass.app |
| Production | https://kyc-api.surepass.app |
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token for authentication. Format: Bearer <YOUR_JWT_TOKEN> |
Content-Type | Yes | Must be set to application/json |
| Parameter | Type | Required | Description |
|---|---|---|---|
id_number | string | Yes | The driving license number to be verified. This is the unique identifier issued by the RTO (e.g., UP2020150000000). |
dob | string | Yes | Date of birth of the license holder in YYYY-MM-DD format (e.g., 1996-11-23). Used to match and validate the license record. |
{
"id_number": "UP2020150000000",
"dob": "1996-11-23"
}| Parameter | Type | Description |
|---|---|---|
data | object | Contains the complete driving license details retrieved from the government database. |
status_code | integer | HTTP status code of the response. 200 indicates a successful verification. |
message | string | A message describing the result of the API call. Empty string on success. |
success | boolean | Indicates whether the API call was successful. true for a successful response. |
data Object Fields| Parameter | Type | Description |
|---|---|---|
client_id | string | A unique identifier generated by Surepass for this specific verification transaction (e.g., license_ForJHgPglDHkfAVBGTFx). |
license_number | string | The driving license number that was submitted in the request and verified. |
state | string | The Indian state where the driving license was issued (e.g., Uttar Pradesh). |
name | string | Full name of the driving license holder as recorded in the government database. |
permanent_address | string | Permanent residential address of the license holder as registered with the RTO. |
permanent_zip | string | PIN code corresponding to the permanent address of the license holder. |
city_name | string | null | City name of the license holder. May be null if not available in the government record. |
temporary_address | string | Temporary or current residential address of the license holder. |
temporary_zip | string | PIN code corresponding to the temporary address. |
citizenship | string | Citizenship status of the license holder. May be an empty string if not recorded. |
ola_name | string | Full name of the issuing licensing authority (Office of Licensing Authority), e.g., DISTRICT TRANSPORT OFFICE, MIRZAPUR. |
ola_code | string | Short code identifying the issuing Office of Licensing Authority (e.g., UP20). |
gender | string | Gender of the license holder. M for Male, F for Female. |
father_or_husband_name | string | Name of the license holder's father or husband as recorded in the government database. |
dob | string | Date of birth of the license holder in YYYY-MM-DD format as recorded in the government database. |
doe | string | Date of expiry of the non-transport (personal) driving license in YYYY-MM-DD format. |
transport_doe | string | Date of expiry of the transport vehicle authorization on the license in YYYY-MM-DD format. Value 1800-01-01 indicates no transport authorization. |
doi | string | Date of issue (initial issuance date) of the driving license in YYYY-MM-DD format. |
transport_doi | string | Date of issue of the transport authorization on the license in YYYY-MM-DD format. Value 1800-01-01 indicates no transport authorization. |
profile_image | string | Base64-encoded profile photograph of the license holder as stored in the government database. |
has_image | boolean | Indicates whether a profile image was successfully retrieved. true if an image is available. |
blood_group | string | Blood group of the license holder as recorded on the driving license (e.g., O-). |
vehicle_classes | array[string] | List of vehicle categories the license holder is authorized to drive (e.g., ["LMV", "MCWG"]). |
less_info | boolean | Indicates whether the returned data is a partial/limited dataset. false means full data was returned. |
additional_check | array | Array containing results of any additional checks performed. Empty array if no additional checks were conducted. |
initial_doi | string | The original date on which the driving license was first issued, in YYYY-MM-DD format. |
current_status | string | null | Current status of the driving license (e.g., active, suspended). May be null if not available. |
badge_number | array | List of badge numbers associated with the license, if applicable. Empty array if not applicable. |
vehicle_class_description | array | Descriptive information about each authorized vehicle class. Empty array if descriptions are not available. |
{
"data": {
"client_id": "license_ForJHgPglDHkfAVBGTFx",
"license_number": "UP2020150000000",
"state": "Uttar Pradesh",
"name": "MUNNA BHAIYA",
"permanent_address": "TRIPATHI HAVELI, MIRZAPUR, UP",
"permanent_zip": "231001",
"city_name": null,
"temporary_address": "TRIPATHI HAVELI, MIRZAPUR, UP",
"temporary_zip": "231001",
"citizenship": "",
"ola_name": "DISTRICT TRANSPORT OFFICE, MIRZAPUR",
"ola_code": "UP20",
"gender": "M",
"father_or_husband_name": "KALEEN BHAIYA",
"dob": "1999-08-31",
"doe": "2039-07-23",
"transport_doe": "1800-01-01",
"doi": "2012-07-24",
"transport_doi": "1800-01-01",
"profile_image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2w",
"has_image": true,
"blood_group": "O-",
"vehicle_classes": [
"LMV",
"MCWG"
],
"less_info": false,
"additional_check": [],
"initial_doi": "2012-07-24",
"current_status": null,
"badge_number": [],
"vehicle_class_description": []
},
"status_code": 200,
"message": "",
"success": true
}{
"data": null,
"status_code": 401,
"message": "Authentication credentials were not provided or are invalid.",
"success": false
}Authorization header is missing, malformed, or contains an invalid/expired JWT token. Ensure you are using a valid Bearer token for the correct environment (sandbox or production).https://sandbox.surepass.app and the production JWT token with https://kyc-api.surepass.app. Cross-environment token usage will result in authentication failures.id_number (alphanumeric, state-prefixed format) and dob (YYYY-MM-DD) on your end before hitting the API to reduce unnecessary API calls and potential errors.profile_image field, ensure it is served over HTTPS and access is restricted to authorized users only, in compliance with applicable data protection laws.400, 404) into plain-language messages for end users, such as "We couldn't verify your license. Please double-check your license number and date of birth."name, permanent_address, dob) to auto-populate onboarding forms, reducing manual data entry and the chance of user input errors.less_info is true or certain fields like city_name or current_status return null, handle these cases gracefully in the UI without breaking the user flow.🔁 Replace https://sandbox.surepass.appwithhttps://kyc-api.surepass.appand use the production JWT token when moving to production.
profile_image, dob, or permanent_address longer than necessary. Define and enforce a clear data retention and deletion policy in accordance with applicable laws.curl --location --request POST 'https://kyc-api.surepass.app/api/v1/driving-license/driving-license' \
--header 'X-Customer-Id: {{customer_id}}' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"id_number": "{{license_number}}",
"dob": "{{dob_value))"
}'{
"data": {
"client_id": "license_ForJHgPglDHkfAVBGTFx",
"license_number": "UP2020150000000",
"state": "Uttar Pradesh",
"name": "MUNNA BHAIYA",
"permanent_address": "TRIPATHI HAVELI, MIRZAPUR, UP",
"permanent_zip": "231001",
"city_name": null,
"temporary_address": "TRIPATHI HAVELI, MIRZAPUR, UP",
"temporary_zip": "231001",
"citizenship": "",
"ola_name": "DISTRICT TRANSPORT OFFICE, MIRZAPUR",
"ola_code": "UP20",
"gender": "M",
"father_or_husband_name": "KALEEN BHAIYA",
"dob": "1999-08-31",
"doe": "2039-07-23",
"transport_doe": "1800-01-01",
"doi": "2012-07-24",
"transport_doi": "1800-01-01",
"profile_image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2w",
"has_image": true,
"blood_group": "O-",
"vehicle_classes": [
"MCWG"
],
"less_info": false,
"additional_check": [],
"initial_doi": "2012-07-24",
"current_status": null,
"badge_number": [],
"vehicle_class_description": []
},
"status_code": 200,
"message": "",
"success": true
}