Export Booking Visibility via API
OpenTrack allows you to get full visibility on your bookings from the earliest stages via API.
Get key info, early enough for decision-making
Get itinerary, receiving windows, ETDs and ETAs even before containers have been pulled or assigned. This helps you better plan and execute origin operations.
For example, if you’ve pulled the container before you realized that the cutoff changed, then you’re sitting on a couple of days of storage fees you hadn’t planned for.
Whereas if you get notified proactively about receiving window changes from OpenTrack, you can delay pulling the container and avoid paying the extra storage.
How it works
- Track a Booking Reference Number using a POST request to the /master-bills endpoint. Just put the Booking Number in place of the Master Bill number.
- When a booking has no containers yet, the
containers
array includes onecontainer
object without acontainerId
. It carries booking-level data like ETD/ETA, early return dates, and cutoffs. - To get notified when some data changes on your early-stage bookings, you can register or update your webhook to subscribe to the event
shipment.itinerary.updated
. This includes the same payload sampled below. - Once containers are assigned, container objects will appear as usual in the
containers
array.
Track a booking early
POST or GET /master-bills
Send a Booking Number or Master Bill using the /master-bills endpoint to start tracking and retrieve early-stage export data.
Example response
Note: No containerId
included here.
{
"createdAt": "2025-10-01T20:27:47.967Z",
"number": "SCAC1234567890",
"scacCode": "SCAC",
"referenceNumbers": [],
"settings": null,
"status": "TRACKED",
"account": {
"domain": "domain.com",
"region": null
},
"containers": [
{
"timestamp": "2025-10-02T10:58:32.756Z",
"createdAt": "2025-10-01T20:47:47.967Z",
"scacCode": "COSU",
"etaAtTerminal": "2025-11-01T20:00:00.000Z",
"etdFromOrigin": "2025-10-15T00:00:00.000Z",
"tradeType": "export",
"railEarlyReturnDate": "2025-10-03T05:00:00.000Z",
"railCutoff": "2025-10-06T21:00:00.000Z",
"earlyReturnDate": "2025-10-08T05:00:00.000Z",
"cutoffDate": "2025-10-12T21:00:00.000Z",
"shippingInstructionCutoff": "2025-10-11T21:00:00.000Z",
"status": "BOOKED",
"portOfLoading": "HOUSTON, TX",
"originPort": {
"name": "HOUSTON, TX",
"timezone": "America/Chicago",
"state": "Texas",
"country": "United States",
"coordinates": {
"latitude": 29.647709920655355,
"longitude": -95.01239408754086
},
"unlocode": "USHOU",
"type": "port"
},
"portOfDischarge": "SOUTHAMPTON",
"destinationPort": {
"name": "SOUTHAMPTON",
"timezone": "Europe/London",
"state": "England",
"country": "United Kingdom",
"coordinates": {
"latitude": 50.909704,
"longitude": -1.4357131
},
"unlocode": "GBSOU",
"type": "port"
},
"terminalAtOriginPort": {
"name": "Bayport",
"firmsCode": "V136",
"address": "12619 Port Rd, Seabrook, TX 77586, USA"
},
"destination": "Southampton",
"finalDestination": {
"name": "Southampton",
"timezone": "Europe/London",
"type": "locality",
"state": "England",
"country": "United Kingdom",
"coordinates": {
"latitude": 50.90970040000001,
"longitude": -1.4043509
}
},
"holds": [],
"history": [],
"masterBillNumber": "1234567890",
"account": {
"domain": "domain.com",
"region": null
},
"customFields": [],
"timeline": []
}
]
}
Get notified on changes
Subscribe your webhook to the event shipment.itinerary.updated
.
- Fires when early-stage data change (e.g., earlyReturnDate, cutoffDate, railCutoff, shippingInstructionCutoff, ETD/ETA).
- Use this to notify operations and customer teams about significant changes in receiving windows or ETDs (e.g. to delay container pulls if receiving windows move to avoid unexpected storage).
Follow these links to learn more about using webhooks in OpenTrack:
Updated 5 days ago