All e-way bill and e-invoice API calls

Update vehicle (Part B) on an e-way bill

POST /v1/ewaybill/update-vehicle

Short answer

Send the e-way bill number, the new vehicle number, where the vehicle is now and a reason code. The vehicle details on the e-way bill change and you get the update time and the unchanged validity back.

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.

Reason codes

reason_code is one digit from the government's list: 1 Due to Break Down, 2 Due to Transhipment, 3 Others (say why in reason_remark), 4 First Time. First Time is the code for the initial Part B entry on an e-way bill generated without a vehicle.

Who can update, and when

Part B can be updated by the generator of the e-way bill when no transporter is assigned, or by the assigned transporter. The e-way bill must still be active and within its validity.

For road, send the vehicle number; the transport document number is optional. For rail, air or ship, the transport document number is required instead.

Does it extend validity?

No. A vehicle update leaves valid_upto unchanged. To extend validity, use the extend validity call.

Request fields

FieldTypeRequiredMeaning
gstinstringYesThe GSTIN you act as, with API access set up.
gstin_usernamestringYesThe e-way bill API username for that GSTIN. Never stored.
passwordstringYesThe matching API password. Never stored.
ewaybill_nostringYesThe e-way bill number to update.
vehicle_nostringYesNew vehicle number.
from_placestringYesWhere the vehicle is now.
from_stateintegerYesState code of that place.
reason_codestringYes1 Break Down, 2 Transhipment, 3 Others, 4 First Time.
reason_remarkstringNoFree text, up to 50 characters.
trans_modestringNo1 Road, 2 Rail, 3 Air, 4 Ship.
trans_doc_no / trans_doc_datestringNoTransport document number and date (dd/MM/yyyy), required for rail, air or ship.
test_modebooleanNotrue 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.

Example

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/update-vehicle" \
  -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", "ewaybill_no": "351000000123", "vehicle_no": "GJ05CD5678", "from_place": "SURAT", "from_state": 24, "reason_code": "1", "reason_remark": "Vehicle broke down", "test_mode": true }'

Response

{
  "success": true,
  "ewaybill_no": "351000000123",
  "vehicle_update_date": "23/10/2026 11:28:00 AM",
  "valid_upto": "24/10/2026 11:59:00 PM",
  "billed_to": "paid",
  "credits_remaining": 197
}

Errors you can expect

CodeMessageWhat to do
325Could not retrieve dataThe e-way bill number is not available to your GSTIN. Check the number and that you are the generator or the assigned transporter.

All e-way bill API error codes

Questions

Can a vehicle be updated after the e-way bill expires?
No. The e-way bill must be within its validity. If it is about to expire, extend the validity instead.
Is the vehicle number format checked?
Yes, by the government network. Vehicle numbers have to follow the formats it accepts, which include defence and temporary registrations.

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.