Containers
Get a container's transport events
List normalized transport events for a single container — vessel discharge, gate-out, rail ramp arrival, and more — from the Terminal49 tracking API.
GET
Get a container's transport events
This endpoint returns the container’s normalized transport event history — vessel, rail, transshipment, terminal/gate, delivery, and document events — across the entire journey. It does not accept filters for event type, data source, or timestamp. To narrow results to a subset (for example, terminal-only events such as
full_in, full_out, empty_out, empty_in, vessel_discharged, vessel_arrived, or vessel_berthed), fetch the list and filter client-side on attributes.event or attributes.data_source.
Pagination
The response follows the standard Terminal49 pagination shape: alinks object (self, current, next, prev, last) and a meta object with size (page size) and total (total events for the container). Most containers have far fewer transport events than one page, so links.next is usually absent and a single request returns the full history.
When a container does have more events than fit on one page, follow links.next until it is absent. Do not construct pagination URLs by hand — use the URLs returned in links.
Event types
Theattributes.event field is one of a fixed set of normalized event names covering vessel, rail, transshipment, feeder, terminal/gate, inland-destination, availability, and delivery milestones. The complete enum is defined on the transport_event schema in the OpenAPI spec and mirrored in the Webhook Event Catalog, which describes what each event means.
The attributes.data_source field indicates where the event originated: shipping_line, terminal, or ais.
Estimated event types
Three estimated event types can appear in the response:container.transport.estimated.vessel_departedcontainer.transport.estimated.vessel_arrivedcontainer.transport.estimated.arrived_at_inland_destination
transport_events. Feeder, rail, and transshipment events exist only as actual milestones here. For estimated timestamps on those event types, use the deprecated raw events endpoint, which flags estimates with an attributes.estimated boolean on any event type.
Null locations and timezones
Some events may have anull location_locode and timezone — most commonly on estimated events. See Event Timestamps for details on how to interpret those timestamps.
transport_events vs raw_events
transport_events is the recommended endpoint for milestone data. Events are normalized across carriers and go through additional vetting to reduce false positives. raw_events is deprecated and returns the carrier feed as-is; it contains more events but with less consistent normalization. See Get a container’s raw events for details.Authorizations
Use a Terminal49 API key in the Authorization header with the Token prefix.
Authorization: Token YOUR_API_KEY
Path Parameters
Query Parameters
Comma delimited list of relations to include
Response
200 - application/json
OK
included
(Shipment model · object | Container model · object | Port model · object | Metro area model · object | Terminal model · object | Rail Terminal model · object | vessel · object)[]
- Shipment model
- Container model
- Port model
- Metro area model
- Terminal model
- Rail Terminal model
- vessel