Update Part-B and extend validity
Once an EWB is generated, two changes are common during transit:
- Update Part-B — assign a different vehicle (transhipment, breakdown, first-time vehicle assignment after a Part-A-only generation).
- Extend validity — push out
validUntilwhen the journey takes longer than NIC's distance-based default.
Permissions for both calls are governed by your plan, not per-action OAuth scopes.
Update Part-B
POST /v1/ewaybills/{id}/update-part-b HTTP/1.1
Host: api.in.onefinops.com
Authorization: Bearer ...{
"vehicleNumber": "KA01AB9999",
"vehicleType": "R",
"transportMode": 1,
"transportDocumentNumber": "LR-2026-7788",
"transportDocumentDate": "2026-05-05",
"fromPlace": "Bengaluru",
"fromStateCode": 29,
"reasonCode": 2,
"reasonRemark": "Vehicle handover at Hosur"
}reasonCode:
| Value | Reason |
|---|---|
1 | Break Down |
2 | Transhipment |
3 | Others |
4 | First Time (initial vehicle assignment after a Part-A-only generation) |
NIC permits unlimited Part-B updates while the EWB is active. Each update writes a new entry to the EWB's vehicle history; nothing is overwritten.
The response is the EWB record reflecting the new vehicle.
Extend validity
NIC computes the extension period itself based on remaining distance and consignment status — you do not pass hours.
POST /v1/ewaybills/{id}/extend-validity HTTP/1.1
Host: api.in.onefinops.com
Authorization: Bearer ...{
"vehicleNumber": "KA01AB1234",
"fromPlace": "Hosur",
"fromStateCode": 33,
"fromPincode": 635109,
"reasonCode": 4,
"remark": "Transhipment at Hosur hub",
"consignmentStatus": "M",
"remainingDistanceKm": 320,
"transportMode": 1
}reasonCode:
| Value | Reason |
|---|---|
1 | Natural Calamity |
2 | Law & Order |
4 | Transhipment |
5 | Accident |
99 | Others |
consignmentStatus:
| Value | Meaning |
|---|---|
M | In Movement (default) |
T | In Transit (warehouse / transit point) — supply transitType plus address fields |
transitType (only when consignmentStatus is T):
| Value | Meaning |
|---|---|
R | Road |
W | Warehouse |
O | Others |
transportMode: 1=Road, 2=Rail, 3=Air, 4=Ship, 5=In Transit (extend-only).
If you try to extend an already-expired EWB you'll get 409 ewaybill.validity_expired — once validity lapses, you cannot recover; you'd cancel (if within 24h) and regenerate, or treat the journey as outside the EWB system.
The response carries the new validUntil.
When to use which
- Vehicle changed mid-journey, validity is fine → Part-B only.
- Validity is about to expire / has been delayed at a hub → Extend, supplying the current vehicle and remaining distance.
- Both → Two separate calls, Part-B first, then extend.
Updated about 5 hours ago
