Errors & Limits
Common response envelopes, failure modes, and practical retry guidance.
Response envelopes
Successful responses use:
Success envelope
{"success": true,"data": { "...": "response payload"}}Error responses use:
Error envelope
{"success": false,"message": "Invalid challan search request","errors": [ { "field": "cityId", "message": "Invalid city ID" }]}Status codes you should handle
| Status | Meaning | Notes |
|---|---|---|
| 200 | Request completed successfully. | Returned by metadata, locations, challan search, payment-link status, and webhook settings operations. |
| 201 | Resource created successfully. | Returned when a payment link is created. |
| 400 | Invalid request. | Request body, path parameters, or field combinations are invalid. |
| 401 | Authentication failed. | Missing or invalid organization API secret. |
| 403 | Authenticated but not allowed. | The requested service is not enabled or access is currently unavailable. |
| 404 | Resource not found. | Common for unknown vehicles, missing challans, or unknown payment links. |
| 409 | Conflict. | Common for deleted vehicles, organization mismatches, or active payment-link conflicts. |
| 429 | Limit reached. | The organization has exceeded a configured daily limit for the service. |
| 500 | Unexpected server error. | Treat as retryable unless your business flow requires manual review. |
| 502 | Upstream fetch could not complete. | Retry with normal backoff if your workflow supports it. |
Practical retry guidance
- Do not retry
400,401,403, or409blindly. Fix the request or business state first. - Retry
500and502with bounded exponential backoff. - Treat
429as a limit signal and pause or defer calls for that service. - When using webhooks, combine event-driven handling with status polling only where your workflow truly needs confirmation.
Consumer-safe failure messages you may see
400
Invalid challan search request
Your request body is malformed or missing required first-search fields.
400
Invalid payment link request
Your payment-link request body is malformed or uses unsupported field combinations.
404
Vehicle was not found
Search challans for the vehicle first so it becomes available to your organization before creating a payment link.
409
One or more challans already have an active payment link
Do not create a second active link for the same challans. Reuse or replace the existing workflow instead.
429
Daily limit exceeded
The authenticated organization has reached its configured service limit for the day.
