Sea and air only. We do not track road or rail movements, so no tracking webhook is sent for them.
No history. Deliveries start from the moment the endpoint is created and nothing earlier is replayed, so ask us if you need a one-off backfill. Shipments that were already running do keep moving, so you will receive update events for them without ever having seen the create.
Optional fields depend on the source. Measured on a sample of 400 real events in September 2026: on sea a UN location code was present on about 15%, a voyage number on about 21% and a vessel IMO number on about 36%; on air a flight number was present on virtually every event and an airport on about 60%. Empty values are omitted rather than sent as null, so write your receiver to expect any optional field to be absent.
The vessel position is a snapshot. On sea events, modaltrans.vesselPosition is the last position the vessel named on the event reported over AIS, as it stood when the event was sent, with its own positionDateTime. We refresh the position of the vessel currently carrying the shipment with each tracking poll, so it can be hours old, and older for a vessel out of AIS coverage. It is only present when the event carries a vessel IMO number and we hold a position for that vessel. On an event from an earlier leg, such as a feeder, it is where that vessel is now, not where your container is.
Timestamps are ISO 8601 with a Z suffix. Carriers that publish an offset are converted to UTC. A few publish local port time with no offset at all, and those are passed through as we received them, so treat an event that is a few hours out as a carrier quirk rather than a movement you missed.
Not everything comes from a carrier. Gate, depot and delivery movements are often recorded by our own operators instead. Those carry a date picked by hand, so the time of day is midnight rather than a real clock time, and the location is our internal gate or place code rather than a UN/LOCODE.
ACT and EST do not always come from the carrier. Some carriers publish the flag themselves and we pass it on; for the rest we derive it from whether the timestamp is in the past. The payload does not tell you which of the two produced a given event, so treat ACT on a future date, or EST on a past one, as the carrier being quiet rather than as a contradiction.
Latency follows the source. Carriers are polled on a schedule, several times a day, so an event can reach you hours after it happened and longer overnight. We do not hold anything back once we have it.