Challan Payment Quote
Challan Payment Quote
Introduction
This service returns every pending (payable) traffic challan on a vehicle, priced with the applicable convenience fee, using the vehicle registration number as input.
Each challan in the response carries a quoteId that locks its price for 7 days. Passing that quoteId to the Initiate Challan Payment API pays the challan at exactly the quoted price — no amount needs to be sent again.
All amounts are in INR and returned as rupee strings with two decimals (e.g. "1300.00").
How to call the API
You are required to pass your assigned access token as the Authorization header in the request. The endpoint is a POST with a JSON body.
Every successful response is wrapped in a result object. Every error is wrapped in an error object with a machine-readable reason and a human-readable message.
API Input Guidelines
- vehicleNumber is the mandatory parameter. It can be passed in lower or upper case.
- challanNumber is optional — when passed, only that challan is returned (404 if it is not pending on the vehicle).
- Only challans that are currently pending/unpaid at the source are returned.
Sample Curl
Preproduction
curl --location 'https://api-preproduction.signzy.app/api/v3/challan/payment-quote' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Auth Token>' \
--data '{
"vehicleNumber": "UP16CP8145"
}'Production
curl --location 'https://api.signzy.app/api/v3/challan/payment-quote' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Auth Token>' \
--data '{
"vehicleNumber": "UP16CP8145"
}'Input Parameters
Parameter | Description | Required |
|---|---|---|
vehicleNumber | The vehicle registration number to search pending challans for | Yes |
challanNumber | Return only this challan (must be pending on the vehicle) | Optional |
Authorization | Authorization token for API access (header) | Yes |
Content-Type | application/json (header) | Yes |
Sample Response
{
"result": {
"vehicleNumber": "UP16CP8145",
"count": 2,
"challans": [
{
"quoteId": "2f959a7b-6923-4629-9ed5-e446d1278433",
"challanNumber": "UP4190935251213064164",
"challanType": "ONLINE",
"challanPayable": "online",
"challanStatus": "pending",
"offenseDetails": "Driving in contravention of speed limit, LMV (Overspeed)",
"challanDate": "18/11/2025",
"state": "UP",
"currency": "INR",
"challanAmount": "2000.00",
"convenienceFee": "300.00",
"totalPayable": "2300.00"
},
{
"quoteId": "6fdfde2b-25a6-463d-8edf-9dae3f8e71e3",
"challanNumber": "HR46416251101023136",
"challanType": "OFFLINE",
"challanPayable": "offline",
"challanStatus": "pending",
"offenseDetails": "49. Wrong parking",
"challanDate": "19/10/2025",
"state": "HR",
"currency": "INR",
"challanAmount": "500.00",
"convenienceFee": "400.00",
"totalPayable": "900.00"
}
]
}
}Response Parameters
PARAMETER NAME | REQUIRED/OPTIONAL | DATA TYPE | DESCRIPTION |
|---|---|---|---|
vehicleNumber | Yes | string | The vehicle number that was searched |
count | Yes | number | Number of pending challans returned |
challans | Yes | array | One entry per pending challan |
challans[].quoteId | Yes | string (uuid) | Price-locked quote id, valid for 7 days. Pass it to Initiate Challan Payment to pay at this exact price |
challans[].challanNumber | Yes | string | The challan number |
challans[].challanType | Yes | string | ONLINE or OFFLINE — required again at initiate if paying by details instead of quoteId |
challans[].challanPayable | Optional | string | Payment channel reported by the source |
challans[].challanStatus | Optional | string | Source status — only pending/unpaid challans are returned |
challans[].offenseDetails | Optional | string | Offense description, as reported by the source |
challans[].challanDate | Optional | string | Date of the challan, as reported by the source |
challans[].state | Optional | string | Issuing state / portal, when available |
challans[].currency | Yes | string | Always INR |
challans[].challanAmount | Yes | string | The challan (fine) amount, rupees, 2 decimals |
challans[].convenienceFee | Yes | string | Convenience fee for this challan type |
challans[].totalPayable | Yes | string | challanAmount + convenienceFee — the amount that will be charged to your wallet on payment |
Status Codes
CODE | REASON | MESSAGE |
|---|---|---|
400 | VALIDATION_ERROR | Vehicle number is not valid |
401 | UNAUTHORIZED | Not Authorized to perform this action |
404 | CHALLAN_NOT_FOUND | Challan not found or not payable (pending) for this vehicle — only when challanNumber was passed |
409 | CHALLAN_SEARCH_ERROR | Challan search is temporarily unavailable — please retry |
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].