Skip to main content
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: a links 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

The attributes.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_departed
  • container.transport.estimated.vessel_arrived
  • container.transport.estimated.arrived_at_inland_destination
These are the only estimated events in 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 a null 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

Authorization
string
header
required

Use a Terminal49 API key in the Authorization header with the Token prefix.

Authorization: Token YOUR_API_KEY

Path Parameters

id
string
required

Query Parameters

include
string

Comma delimited list of relations to include

Response

200 - application/json

OK

data
Transport Event Model · object[]
included
(Shipment model · object | Container model · object | Port model · object | Metro area model · object | Terminal model · object | Rail Terminal model · object | vessel · object)[]
meta
meta · object