Challan Search Premium
Premium Challan Search
Introduction
This service retrieves the challan details imposed on a vehicle by entering the vehicle number, and additionally verifies the court status of every challan. Each challan in the response carries whether it is currently present in a virtual court (sentToVirtualCourt), whether it is a court challan (court_challan), whether it can be paid online or offline (challanPayable), and the portal where it can be paid (paymentSource).
A challan present in a virtual court is payable online at the virtual court portal. A challan sent to a regular (physical) court, or transferred from a virtual court to a regular court, can only be settled offline in that court.
How to call the API
You will need to login before sending the request. You are required to pass the access token received from the login call, as the authorization header in the request.
API Input Guidelines
Vehicle Number is a mandatory parameter to be passed.
State Portal is an optional parameter and behaves the same as in Basic Challan Search: by default the central source and the vehicle's own state are checked, and every extra state passed in statePortal adds latency.
Payment check is always enabled on this API — every challan carries challanPayable. You do not need to pass any parameter for it.
In case you need to get Maharashtra challans, provide consent in the mhChallanConsentBased parameter along with the phone number associated with the vehicle in phoneNoforOtpMH, exactly as in Basic Challan Search (OTP consent based flow).
Sample Curl
Preproduction
curl --location 'https://api-preproduction.signzy.app/api/v3/vehicle/challan-search-premium' \
--header 'Authorization: <Auth Token>' \
--header 'Content-Type: application/json' \
--data '{
"vehicleNumber": "<regno>"
}'Production
curl --location 'https://api.signzy.app/api/v3/vehicle/challan-search-premium' \
--header 'Authorization: <Auth Token>' \
--header 'Content-Type: application/json' \
--data '{
"vehicleNumber": "<regno>"
}'Input Parameters
Parameter | Description | Required |
|---|---|---|
Content-Type | application/json | Required |
Authorization | Contains the id parameter returned from the login step | Required |
vehicleNumber | The vehicle number on which the challan has been imposed | Required |
statePortal | Additional state sources to search, as a list of state codes | Optional |
mhChallanConsentBased | Consent to fetch Maharashtra challans (OTP based flow) | Optional |
phoneNoforOtpMH | Phone number associated with the vehicle, for the Maharashtra OTP | Optional |
Sample Response
{
"result": {
"regNo": "<vehicle\_number\_provided>",
"message": "Challan Details Found",
"status\_code": 200,
"challanDetails": [
{
"number": 1,
"challanNumber": "RJ7294015260807050053",
"offenseDetails": "Using Vehicle without valid PUCC",
"challanPlace": "Padla Hadliya Toll Plaza",
"challanDate": "05/08/2026",
"state": "RJ",
"rto": "",
"accusedName": "S***L B*****I",
"amount": "3000",
"challanStatus": "Pending",
"court\_challan": "0",
"challanSource": "ECHALLAN",
"challanPayable": "online",
"paymentSource": "https://echallan.parivahan.gov.in/",
"sentToVirtualCourt": "0"
},
{
"number": 2,
"challanNumber": "GJ7275923250718035405",
"offenseDetails": "PUC certificate not obtained",
"challanPlace": "Varahi Toll Plaza TollGate",
"challanDate": "16/07/2025",
"state": "GJ",
"rto": "",
"accusedName": "S***L B*****I",
"amount": "1000",
"challanStatus": "Pending",
"court\_challan": "1",
"challanSource": "ECHALLAN",
"challanPayable": "online",
"paymentSource": "https://vcourts.gov.in/virtualcourt/index.php",
"sentToVirtualCourt": "1"
},
{
"number": 3,
"challanNumber": "RJ300874251228114612",
"offenseDetails": "Driver or passenger without seat belt",
"challanPlace": "ZERO MILE CHAURAHA PRATAPGARH",
"challanDate": "28/12/2025",
"state": "RJ",
"rto": "",
"accusedName": "K****R",
"amount": "1000",
"challanStatus": "Pending",
"court\_challan": "1",
"challanSource": "ECHALLAN",
"challanPayable": "offline",
"paymentSource": "https://vcourts.gov.in/virtualcourt/index.php",
"sentToVirtualCourt": "0"
}
],
"successfulSources": [
"ECHALLAN"
],
"failedSources": []
}
}Sample Response (No challans found)
When the vehicle has no challans, the API responds with HTTP status 200 and status_code 204 in the body:
{
"result": {
"regNo": "<vehicle\_number\_provided>",
"message": "No challan detail found",
"status\_code": 204,
"challanDetails": [],
"successfulSources": [
"ECHALLAN"
],
"failedSources": []
}
}sentToVirtualCourt possible values:
"1" — the challan is currently present in a virtual court and can be paid online at the virtual court portal.
"0" — the challan is not in a virtual court. If court_challan is "1" it lies with a regular (physical) court (including challans transferred from a virtual court to a regular court) and is payable offline only.
"" — the virtual court status could not be determined for this challan.
challanStatus possible values: Pending, Paid, Not Paid, Cash, Disposed, null, empty string.
Response Parameters
PARAMETER NAME | REQUIRED/OPTIONAL | DATA TYPE | DESCRIPTION |
|---|---|---|---|
result | Required | object | Contains the actual output |
result.regNo | Required | string | Vehicle registration number |
result.message | Required | string | Outcome message, e.g. "Challan Details Found" |
result.status_code | Required | number | Status of the response: 200 challans found, 204 no challans found |
result.challanDetails | Required | array | List of challans found on the vehicle (empty when none found) |
result.challanDetails.number | Required | number | Serial number of the challan in the list |
result.challanDetails.challanNumber | Required | string | The challan number |
result.challanDetails.offenseDetails | Required | string | Details of the offense |
result.challanDetails.challanPlace | Required | string | Place where the challan was imposed |
result.challanDetails.challanDate | Required | string | Date when the challan was imposed |
result.challanDetails.state | Required | string | State where the challan was imposed |
result.challanDetails.rto | Required | string | RTO authority details |
result.challanDetails.accusedName | Required | string | Name of the accused person |
result.challanDetails.amount | Required | string | Fine amount for the infringement |
result.challanDetails.challanStatus | Required | string | Payment status of the challan, e.g. Pending, Disposed |
result.challanDetails.court_challan | Required | string | "1" if this is a court challan, else "0" |
result.challanDetails.challanSource | Required | string | Source of the challan |
result.challanDetails.challanPayable | Required | string | "online" if payable online, "offline" if it must be settled in court |
result.challanDetails.paymentSource | Required | string | Portal where the challan can be paid or tracked |
result.challanDetails.sentToVirtualCourt | Required | string | "1" in virtual court, "0" not in virtual court, "" could not be determined |
result.successfulSources | Required | array | Sources from which challans were fetched successfully |
result.failedSources | Required | array | Sources from which challans could not be fetched |
Status Codes
CODE | REASON | MESSAGE |
|---|---|---|
200 | OK | Successful Response |
400 | Bad Request | Vehicle Number is not valid |
401 | Unauthorized | No API key found in request |
409 | Conflict | Error in getting data |
Getting help
Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.
You can reach out to us at [email protected].