All e-way bill and e-invoice API calls
POST /v1/ewaybill/consolidated/regenerate
Send the current trip sheet number, the new vehicle and a reason. The response carries a new consolidated e-way bill number. The old one is not edited: it is cancelled, so your system must switch to the new number.
Cost: 3 credits per successful call. A rejection or an upstream failure is never charged.
Every call accepts "test_mode": true and returns a sample in the live shape, free. Set up your API credentials before the first real call.
The result is a new trip sheet. The response returns both the new number and the number you sent, and the old trip sheet reads back as CNL. Store the new number straight away.
Only the generator or the current transporter can regenerate it. Only e-way bills that are still active and within their validity are carried across.
reason_code is one digit: 1 Due to Break Down, 2 Due to Transhipment, 3 Others, 4 First Time. reason_remark is up to 50 characters. For road send vehicle_no; for rail, air or ship send the transport document number and date.
| Field | Type | Required | Meaning |
|---|---|---|---|
| gstin | string | Yes | The GSTIN you act as, with API access set up. |
| gstin_username | string | Yes | The e-way bill API username for that GSTIN. Never stored. |
| password | string | Yes | The matching API password. Never stored. |
| consolidated_ewaybill_no | string | Yes | The current 10-digit number. |
| from_place | string | Yes | Where the vehicle is now. |
| from_state | integer | Yes | State code of that place. |
| trans_mode | string | Yes | 1 Road, 2 Rail, 3 Air, 4 Ship. |
| reason_code | string | Yes | 1, 2, 3 or 4. |
| reason_remark | string | Yes | Up to 50 characters. |
| vehicle_no | string | No | For road. |
| test_mode | boolean | No | true returns a sample in the live shape: free, nothing is filed. |
Send your API key in the x-api-key header. Government API credentials are used for the one call and never stored.
The request below runs in test mode, so it is free and files nothing. Remove test_mode for a real call.
curl -X POST "https://www.gstinapi.in/v1/ewaybill/consolidated/regenerate" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{ "gstin": "24AAAAA0000A1Z5", "gstin_username": "YOUR_EWB_API_USER", "password": "YOUR_EWB_API_PASSWORD", "consolidated_ewaybill_no": "6664724106", "from_place": "SURAT", "from_state": 24, "trans_mode": "1", "vehicle_no": "GJ05CD5678", "reason_code": "1", "reason_remark": "Vehicle broke down", "test_mode": true }'Response
{
"success": true,
"consolidated_ewaybill_no": "6864724157",
"previous_consolidated_ewaybill_no": "6664724106",
"ewaybill_nos": ["351000000123", "351000000456"],
"billed_to": "paid",
"credits_remaining": 197
}| Code | Message | What to do |
|---|---|---|
| 387 | No Record Found for Entered consolidated eWay bill. | The trip sheet number is wrong, or it is not yours to regenerate. |
Not affiliated with the Government of India. Rules are the government network's own and can change; if a page here looks out of date, tell us.