RC Detailed Verification API
This document highlights the RC Detailed Verification API details.
Objective
The RC Detailed Verification API provides details about a vehicle's registration, ownership, and insurance.
| Input | Output |
|---|---|
| Valid vehicle registration number | Details about vehicle. The complete list of output fields is provided under the Success Response Details section |
API URL
https://ind-engine.thomas.hyperverge.co/v1/RCVerification
API Endpoint
RCVerification
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
| Parameter | Mandatory or Optional | Description | Allowed Values |
|---|---|---|---|
| content-type | Mandatory | The media type for the request payload | application/json |
| appId | Mandatory | The application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab | This should be a unique value |
| appKey | Mandatory | The application key shared by HyperVerge. You can find the details in the dashboard's credentials tab | This should be a unique value |
| transactionId | Mandatory | A unique identifier for tracking a user journey | This should be both unique and easily associated with the user's journey in your application(s) |
Inputs
The following table provides the details of the fields required for the API's request body.
| Parameter | Mandatory or Optional | Description | Allowed Values | Default Value |
|---|---|---|---|---|
reg_no | Mandatory | The vehicle registration number | Format: 10 characters – two letters for the state, two digits for the RTO, one or two letters for the series, and four digits for the unique number. e.g., MP01AB1234 | Not Applicable |
Request
The following code shows a standard curl request for the API.
curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/RCVerification' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"reg_no": "<Enter_the_vehicle_registration_number>"
}'
Success Response
The following is a sample of a success response from the API.
{
"status": "success",
"statusCode": "200",
"result": {
"message": "Vehicle Found",
"response_type": "FULL_DATA",
"rcInfo": {
"state_code": "<State_Code>",
"state": "<State_Name>",
"office_code": <Office_Code>,
"office_name": "<Office_Name>",
"reg_no": "<Registration_Number>",
"reg_date": "<Registration_Date>",
"purchase_date": "<Purchase_Date>",
"owner_count": <Owner_Count>,
"owner_name": "<Owner_Name>",
"owner_father_name": "<Owner_Father_Name>",
"current_address_line1": "<Current_Address_Line_1>",
"current_address_line2": "<Current_Address_Line_2>",
"current_address_line3": "<Current_Address_Line_3>",
"current_district_name": "<Current_District>",
"current_state": "<Current_State_Code>",
"current_state_name": "<Current_State>",
"current_pincode": <Current_Pincode>,
"current_full_address": "<Current_Full_Address>",
"permanent_address_line1": "<Permanent_Address_Line_1>",
"permanent_address_line2": "<Permanent_Address_Line_2>",
"permanent_address_line3": "<Permanent_Address_Line_3>",
"permanent_district_name": "<Permanent_District>",
"permanent_state": "<Permanent_State_Code>",
"permanent_state_name": "<Permanent_State>",
"permanent_pincode": <Permanent_Pincode>,
"permanent_full_address": "<Permanent_Full_Address>",
"owner_code_descr": "<Owner_Code_Description>",
"reg_type_descr": "<Registration_Type_Description>",
"vehicle_class_desc": "<Vehicle_Class_Description>",
"chassis_no": "<Chassis_Number>",
"engine_no": "<Engine_Number>",
"vehicle_manufacturer_name": "<Vehicle_Manufacturer_Name>",
"model_code": "<Model_Code>",
"model": "<Vehicle_Model>",
"body_type": "<Body_Type>",
"cylinders_no": <Number_Of_Cylinders>,
"vehicle_hp": <Vehicle_Horsepower>,
"vehicle_seat_capacity": <Seating_Capacity>,
"vehicle_standing_capacity": <Standing_Capacity>,
"vehicle_sleeper_capacity": <Sleeper_Capacity>,
"unladen_weight": <Unladen_Weight>,
"vehicle_gross_weight": <Gross_Weight>,
"vehicle_gross_comb_weight": <Gross_Combined_Weight>,
"fuel_descr": "<Fuel_Type>",
"color": "<Vehicle_Color>",
"manufacturing_mon": <Manufacturing_Month>,
"manufacturing_yr": <Manufacturing_Year>,
"norms_descr": "<Emission_Norms>",
"wheelbase": <Wheelbase>,
"cubic_cap": <Cubic_Capacity>,
"floor_area": <Floor_Area>,
"ac_fitted": "<AC_Fitted>",
"audio_fitted": "<Audio_Fitted>",
"video_fitted": "<Video_Fitted>",
"vehicle_catg": "<Vehicle_Category>",
"sale_amount": <Sale_Amount>,
"length": <Vehicle_Length>,
"width": <Vehicle_Width>,
"height": <Vehicle_Height>,
"reg_upto": "<Registration_Valid_Upto>",
"fit_upto": "<Fitness_Valid_Upto>",
"imported_vehicle": "<Imported_Vehicle>",
"status": "<Vehicle_Status>",
"vehicle_type": "<Vehicle_Type>",
"tax_mode": "<Tax_Mode>",
"vehicle_insurance_details": {
"insurance_from": "<Insurance_Start_Date>",
"insurance_upto": "<Insurance_Expiry_Date>",
"insurance_company_code": <Insurance_Company_Code>,
"insurance_company_name": "<Insurance_Company_Name>",
"opdt": "<Insurance_Operation_Date>",
"policy_no": "<Insurance_Policy_Number>",
"reg_no": "<Registration_Number>"
},
"vehicle_pucc_details": {
"pucc_from": "<PUCC_Start_Date>",
"pucc_upto": "<PUCC_Expiry_Date>",
"pucc_centreno": "<PUCC_Center_Number>",
"pucc_no": "<PUCC_Number>",
"op_dt": "<PUCC_Operation_Date>"
},
"permit_details": {
"appl_no": "<Permit_Application_Number>",
"pmt_no": "<Permit_Number>",
"reg_no": "<Registration_Number>",
"rcpt_no": "<Permit_Receipt_Number>",
"purpose": "<Permit_Purpose>",
"permit_type": "<Permit_Type>",
"permit_catg": "<Permit_Category>",
"permit_issued_on": "<Permit_Issue_Date>",
"permit_valid_from": "<Permit_Valid_From>",
"permit_valid_upto": "<Permit_Valid_Upto>"
},
"latest_tax_details": {
"reg_no": "<Registration_Number>",
"tax_mode": "<Tax_Mode>",
"payment_mode": "<Payment_Mode>",
"tax_amt": <Tax_Amount>,
"tax_fine": <Tax_Fine>,
"rcpt_dt": "<Tax_Receipt_Date>",
"tax_from": "<Tax_Start_Date>",
"tax_upto": "<Tax_Expiry_Date>",
"collected_by": "<Tax_Collected_By>",
"rcpt_no": "<Tax_Receipt_Number>"
},
"financer_details": {
"hp_type": "<Hypothecation_Type>",
"financer_name": "<Financer_Name>",
"financer_address_line1": "<Financer_Address_Line_1>",
"financer_address_line2": "<Financer_Address_Line_2>",
"financer_address_line3": "<Financer_Address_Line_3>",
"financer_district": <Financer_District>,
"financer_pincode": <Financer_Pincode>,
"financer_state": "<Financer_State_Code>",
"financer_full_address": "<Financer_Full_Address>",
"hypothecation_dt": "<Hypothecation_Date>",
"op_dt": "<Financer_Operation_Date>"
}
}
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
Success Response Details
| Parameter | Type | Description |
|---|---|---|
| status | string | The status of the request |
| statusCode | string | The HTTP status code of the request |
| message | string | The message indicating the outcome of the API call. In this case, it will return "Vehicle Found" |
| response_type | string | The type of response returned. For this case, it is FULL_DATA, indicating that full vehicle details are provided |
| state_code | string | The two-letter code representing the state where the vehicle is registered (e.g., "MP" for Madhya Pradesh) |
| state | string | The full name of the state where the vehicle is registered |
| office_code | integer | The code of the RTO (Regional Transport Office) where the vehicle was registered |
| office_name | string | The name of the RTO office where the vehicle was registered |
| reg_no | string | The vehicle's registration number |
| reg_date | string | The date on which the vehicle was registered (format: YYYY-MM-DD) |
| purchase_date | string | The date on which the vehicle was purchased (format: YYYY-MM-DD) |
| owner_count | integer | The number of previous owners of the vehicle |
| owner_name | string | The full name of the current owner of the vehicle |
| owner_father_name | string | The full name of the current owner's father |
| current_address_line1 | string | The first line of the current address of the vehicle owner |
| current_address_line2 | string | The second line of the current address of the vehicle owner |
| current_address_line3 | string | The third line of the current address (if available) |
| current_district_name | string | The name of the district where the current address of the owner is located |
| current_state | string | The code of the state for the current address (e.g., "TN") |
| current_state_name | string | The full name of the state for the current address |
| current_pincode | integer | The postal code for the current address |
| current_full_address | string | The complete current address of the vehicle owner, including street, district, state, and postal code |
| permanent_address_line1 | string | The first line of the permanent address of the vehicle owner |
| permanent_address_line2 | string | The second line of the permanent address of the vehicle owner |
| permanent_address_line3 | string | The third line of the permanent address of the vehicle owner (if available) |
| permanent_district_name | string | The name of the district where the permanent address is located |
| permanent_state | string | The code of the state for the permanent address (e.g., "TN") |
| permanent_state_name | string | Full name of the state for the permanent address |
| permanent_pincode | integer | The postal code of the permanent address |
| permanent_full_address | string | The complete permanent address of the vehicle owner, including street, district, state, and postal code |
| owner_code_descr | string | The description of the owner type (e.g., "INDIVIDUAL") |
| reg_type_descr | string | The type of vehicle registration (e.g., "TEMPORARY REGISTERED VEHICLE") |
| vehicle_class_desc | string | The description of the vehicle class (e.g., "Goods Carrier") |
| chassis_no | string | The unique chassis number of the vehicle |
| engine_no | string | The unique engine number of the vehicle |
| vehicle_manufacturer_name | string | The name of the vehicle manufacturer (e.g., "VE COMMERCIAL VEHICLES LTD") |
| model_code | string | The code of the vehicle model |
| model | string | The specific model of the vehicle (e.g., "EICHER PRO 2059XP F CBC BSVI") |
| body_type | string | The body type of the vehicle (e.g., "CLOSED") |
| cylinders_no | integer | The number of cylinders in the vehicle's engine |
| vehicle_hp | float | The horsepower of the vehicle |
| vehicle_seat_capacity | integer | The number of seats in the vehicle |
| vehicle_standing_capacity | integer | The standing capacity of the vehicle (if applicable) |
| vehicle_sleeper_capacity | integer | The sleeper capacity of the vehicle (if applicable) |
| unladen_weight | integer | The unladen weight (empty weight) of the vehicle in kilograms |
| vehicle_gross_weight | integer | The gross weight of the vehicle in kilograms when fully loaded |
| vehicle_gross_comb_weight | integer | The gross combined weight of the vehicle (if applicable) |
| fuel_descr | string | The type of fuel used in the vehicle (e.g., "DIESEL") |
| color | string | The color of the vehicle (e.g., "NEW GOLDEN BROWN") |
| manufacturing_mon | integer | The month in which the vehicle was manufactured |
| manufacturing_yr | integer | The year of vehicle manufacturing |
| norms_descr | string | The emission norms followed by the vehicle (e.g., "BHARAT STAGE VI") |
| wheelbase | integer | The wheelbase of the vehicle in millimeters |
| cubic_cap | integer | The cubic capacity (CC) of the vehicle's engine |
| floor_area | integer | The floor area of the vehicle (if applicable) |
| ac_fitted | string | Indicates whether the vehicle has an air conditioner fitted (Y/N) |
| audio_fitted | string | Indicates whether the vehicle has an audio system fitted (Y/N) |
| video_fitted | string | Indicates whether the vehicle has a video system fitted (Y/N) |
| vehicle_catg | string | The vehicle category (e.g., "LGV") |
| sale_amount | integer | The sale amount of the vehicle in local currency |
| length | integer | The length of the vehicle in millimeters |
| width | integer | The width of the vehicle in millimeters |
| height | integer | The height of the vehicle in millimeters |
| reg_upto | string | The date until which the vehicle's registration is valid (format: YYYY-MM-DD) |
| fit_upto | string | The date until which the vehicle's fitness certificate is valid (format: YYYY-MM-DD) |
| imported_vehicle | string | Indicates if the vehicle is imported (Y/N) |
| status | string | Indicates the current status of the vehicle (e.g., "Y" for active) |
| vehicle_type | string | Indicates whether the vehicle is for transport or personal use |
| tax_mode | string | The tax mode for the vehicle (e.g., "Q" for quarterly) |
| vehicle_insurance_details | object | The details of the vehicle's insurance policy, including start and end dates, company name, and policy number |
| vehicle_pucc_details | object | The details of the vehicle's Pollution Under Control Certificate, including validity dates and certificate number |
| permit_details | object | Information regarding any permits associated with the vehicle, including application number and validity dates |
| latest_tax_details | object | The details of the latest tax payment, including amount, fine, and receipt information |
| financer_details | object | Information about the financier, including name, address, and hypothecation details |
Error Responses
- Empty/Less than 8 digits Registration Number
- Wrong Format of Registration Number
- Missing/Invalid Credentials
- Missing digit number in the Registration Number
{
"message": "Input Validation Error: does not meet minimum length of 8",
"statusCode": 400,
"status": "failure"
}
{
"status": "failure",
"statusCode": "400",
"error": "reg_no parameter format is wrong or invalid.",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"message": "Missing/Invalid credentials",
"statusCode": 401,
"status": "failure"
}
{
"status": "failure",
"statusCode": 404,
"result": {
"data": {
"message": "No Record Found. Enter a valid registration number"
}
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
- Vehicle registered under multiple RTOs
- Missing digit in Registration Number
- Internal Server Error
{
"status": "failure",
"statusCode": 409,
"error": "Vehicle registered under multiple RTOs",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": "422",
"error": "Entered id is not found in any database",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"message": "Internal Server Error",
"statusCode": 500,
"status": "failure"
}
Error Response Details
A failure or error response from the module The a
failure status, with a relavant status code and error message. The following table lists all error responses. | Status Code | Error Message | Error Description |
|---|---|---|
| 400 | Input Validation Error: does not meet minimum length of 8 | This occurs when the registration number (reg_no) is empty or has less than 8 digits |
| 400 | reg_no parameter format is wrong or invalid | This occurs when the registration number format is incorrect |
| 401 | Missing/Invalid credentials | The request is either missing the mandatory appId and appKey combination or has invalid values |
| 404 | No Record Found. Enter a valid registration number | This usually happens when we give partial data in the registration number |
| 409 | Vehicle registered under multiple RTOs | This occurs when the vehicle is registered under multiple Regional Transport Offices |
| 422 | Entered id is not found in any database | This occurs when any digit is missing in the registration number |
| 500 | Internal Server Error | Please check the request headers or contact the HyperVerge team for resolution |