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:
- Initiate — declare that the EWB's cargo is moving on multiple vehicles. NIC returns a group number that ties the subsequent calls together.
- Add a vehicle — call for each additional vehicle joining the group, passing the group number.
- 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"
}| Field | Required | Notes |
|---|---|---|
ewbNumber | yes | The EWB whose cargo is being split. |
reasonCode | yes | NIC's reason code for the split. |
reasonRemark | no | Free text. |
fromPlace, fromStateCode | yes | Where the split happens. fromStateCode is NIC's numeric code 1–37. |
toPlace, toStateCode | yes | Destination. |
transportMode | yes | "1" Road, "2" Rail, "3" Air, "4" Ship. |
totalQuantity | yes | Quantity being split off in this initiation. Must not exceed the parent EWB's quantity. |
unitCode | yes | NIC 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
}| Field | Required | Notes |
|---|---|---|
ewbNumber | yes | EWB the group lives on. |
groupNumber | yes | The group returned by Initiate. |
vehicleNumber | yes | NIC vehicle format. |
quantity | yes | Quantity loaded on this vehicle. |
transportDocumentNumber / transportDocumentDate | no | LR / 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"
}| Field | Required | Notes |
|---|---|---|
ewbNumber | yes | EWB the group lives on. |
groupNumber | yes | The group containing the vehicle being swapped. |
oldVehicleNumber / newVehicleNumber | for road | Vehicle being replaced and the replacement. |
oldTransportNumber / newTransportNumber | for rail / air / ship | Transport-document equivalents. |
fromPlace, fromStateCode | yes | Where the change happens. |
reasonCode | yes | NIC's reason code for the change. |
reasonRemark | no | Free text. |
Response:
{
"ewbNumber": 391010775670,
"groupNumber": "1",
"vehicleUpdatedDate": "2026-05-15T13:20:00.000Z"
}Where to next
- Update Part-B — for single-vehicle changes (most cases).
- Consolidated E-Way Bills — many EWBs on one vehicle (the opposite case).
- Operating as a transporter.
Updated about 13 hours ago
