Multi-vehicle movements

Use multi-vehicle movement when a single E-Way Bill's cargo is split across more than one vehicle — typically when a large consignment is transhipped at a hub and continues on multiple trucks.

This is the opposite case to a Consolidated E-Way Bill, where many EWBs share one vehicle. Here, one EWB spans many vehicles.

NIC supports up to 5 vehicles per group on the same EWB.

When to use it

  • The original truck breaks down and goods continue on two replacement trucks.
  • The consignment is too large for one vehicle and you knew at dispatch it would need multiple.
  • A trans-shipment hub re-loads onto multiple smaller trucks for last-mile.

If the count of vehicles on the EWB stays at one and you're only swapping one vehicle for another, that's a regular Update Part-B. Reach for multi-vehicle only when the count of vehicles on the same EWB exceeds one.

The three calls

The flow is:

  1. Initiate — declare that the EWB's cargo is moving on multiple vehicles. NIC returns a group number that ties the subsequent calls together.
  2. Add a vehicle — call for each additional vehicle joining the group, passing the group number.
  3. Change a vehicle — swap a vehicle inside the group when one is replaced en route.

All three take ewbNumber in the body (URL stays path-param-free, matching the partb / cancel / transporter convention). Caller-acting GSTIN goes in the gstin header.

Initiate

POST /v1/ewaybills/multivehicle/initiate HTTP/1.1
Host: api.in.onefinops.com
Authorization: Bearer eyJhbGciOi...
gstin: 29ABCDE1234F1Z5
Content-Type: application/json
X-Request-Id: 4f1d8a2c-…
{
  "ewbNumber": 391010775670,
  "reasonCode": "1",
  "reasonRemark": "Cargo split across two vehicles at transhipment hub",
  "fromPlace": "Dehradun",
  "fromStateCode": 5,
  "toPlace": "Haridwar",
  "toStateCode": 5,
  "transportMode": "1",
  "totalQuantity": 5,
  "unitCode": "BOX"
}
FieldRequiredNotes
ewbNumberyesThe EWB whose cargo is being split.
reasonCodeyesNIC's reason code for the split.
reasonRemarknoFree text.
fromPlace, fromStateCodeyesWhere the split happens. fromStateCode is NIC's numeric code 1–37.
toPlace, toStateCodeyesDestination.
transportModeyes"1" Road, "2" Rail, "3" Air, "4" Ship.
totalQuantityyesQuantity being split off in this initiation. Must not exceed the parent EWB's quantity.
unitCodeyesNIC UQC code — BOX, NOS, BAG, KGS, etc.

Response:

{
  "ewbNumber": 391010775670,
  "groupNumber": "1",
  "createdDate": "2026-05-15T11:42:18.000Z"
}

Save the groupNumber — it identifies this multi-vehicle group on subsequent add / change calls.

Add a vehicle

POST /v1/ewaybills/multivehicle/add HTTP/1.1
Host: api.in.onefinops.com
Authorization: Bearer eyJhbGciOi...
gstin: 29ABCDE1234F1Z5
Content-Type: application/json
{
  "ewbNumber": 391010775670,
  "groupNumber": "1",
  "vehicleNumber": "UK10AB2222",
  "quantity": 2.5,
  "transportDocumentNumber": null,
  "transportDocumentDate": null
}
FieldRequiredNotes
ewbNumberyesEWB the group lives on.
groupNumberyesThe group returned by Initiate.
vehicleNumberyesNIC vehicle format.
quantityyesQuantity loaded on this vehicle.
transportDocumentNumber / transportDocumentDatenoLR / RR / AWB / BL number and date.

Repeat for each additional vehicle. Response:

{
  "ewbNumber": 391010775670,
  "groupNumber": "1",
  "vehicleAddedDate": "2026-05-15T12:14:00.000Z"
}

Change a vehicle

Swap a vehicle inside the group (typically after a breakdown):

POST /v1/ewaybills/multivehicle/change HTTP/1.1
Host: api.in.onefinops.com
Authorization: Bearer eyJhbGciOi...
gstin: 29ABCDE1234F1Z5
Content-Type: application/json
{
  "ewbNumber": 391010775670,
  "groupNumber": 1,
  "oldVehicleNumber": "UK10AB2222",
  "newVehicleNumber": "UK11CD3333",
  "fromPlace": "Roorkee",
  "fromStateCode": 5,
  "reasonCode": "1",
  "reasonRemark": "Vehicle replaced en route"
}
FieldRequiredNotes
ewbNumberyesEWB the group lives on.
groupNumberyesThe group containing the vehicle being swapped.
oldVehicleNumber / newVehicleNumberfor roadVehicle being replaced and the replacement.
oldTransportNumber / newTransportNumberfor rail / air / shipTransport-document equivalents.
fromPlace, fromStateCodeyesWhere the change happens.
reasonCodeyesNIC's reason code for the change.
reasonRemarknoFree text.

Response:

{
  "ewbNumber": 391010775670,
  "groupNumber": "1",
  "vehicleUpdatedDate": "2026-05-15T13:20:00.000Z"
}

Where to next