Skip to main content
GET
List shipments
See the complete filter reference for values, operators, multi-value semantics, and limitations. For combined requests, see filter usage.

Authorizations

Authorization
string
header
required

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

Authorization: Token YOUR_API_KEY

Query Parameters

page[number]
integer
default:1
Required range: x >= 1
page[size]
integer
default:30

Records per page. Default 30.

Required range: x >= 1
q
string

Deprecated compatibility alias for filter[q]. Nested filter[q] takes precedence. A blank top-level q returns 400. No sunset date is documented.

include
string

Comma delimited list of relations to include

flag[parties]
boolean

Set to true to add the party_roles relationship to each shipment. Add include=party_roles.party to embed the roles and their parties.

number
string

Compatibility alias for filter[number]. Exact shipment number, including punctuation; not a partial container-number search. Nested filter[number] takes precedence.

tracking_stopped
boolean

Compatibility alias for filter[tracking_stopped]. Nested filter takes precedence.

sort
string

Supported values: created_at, -created_at, pod_arrival, -pod_arrival, tracking_stopped_at, -tracking_stopped_at. Both created_at tokens sort newest first for compatibility. Unknown values fall back to newest creation first.

filter[q]
string

Prefix text search across shipment numbers, reference numbers, and linked container identifiers. Use search text, not comparison expressions.

filter[number]
string

Exact number match. Shipment arrays mean OR; container arrays of exact numbers mean AND. Use comma-separated container numbers for OR. Shipment scalar commas are literal.

filter[number][]
string[]

Bracketed array form of filter[number]. Exact number match. Shipment arrays mean OR; container arrays of exact numbers mean AND. Use comma-separated container numbers for OR. Shipment scalar commas are literal.

Minimum array length: 1
filter[created_at]
string

Creation date. Use an ISO 8601 date-time with Z or a timezone offset; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Relative dates and comma-separated timestamps are not accepted. Use @exists or @not_exists for presence.

filter[created_at][]
string[]

Bracketed array form of filter[created_at]. Creation date. Use an ISO 8601 date-time with Z or a timezone offset; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Relative dates and comma-separated timestamps are not accepted. Use @exists or @not_exists for presence.

Minimum array length: 1
filter[actively_tracked]
boolean

true selects shipments with tracking not stopped; false selects stopped tracking. Applies via the related shipment for containers.

filter[tracking_stopped]
boolean

true selects stopped tracking; false selects tracking not stopped. Combines with other filters using AND.

filter[voyage_status]
enum<string>

arrived means actual POD arrival is present; on_ship means a voyage exists and actual POD arrival is absent. It is not a general shipment lifecycle status.

Available options:
arrived,
on_ship
filter[arriving_today]
boolean

true selects shipments with POD or destination estimated/actual arrival today in the API server day. false does not narrow the list. The SDK accepts only true.

filter[pod_ata_at]
string

Actual POD arrival date. Use YYYY-MM-DD or today/N.days.ago/N.days.from_now; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Comma-separated dates mean OR. Use @exists or @not_exists for presence. Compares the stored date component, not timestamp instants; no automatic conversion to the port timezone is applied.

filter[pod_ata_at][]
string[]

Bracketed array form of filter[pod_ata_at]. Actual POD arrival date. Use YYYY-MM-DD or today/N.days.ago/N.days.from_now; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Comma-separated dates mean OR. Use @exists or @not_exists for presence. Compares the stored date component, not timestamp instants; no automatic conversion to the port timezone is applied.

Minimum array length: 1
filter[pod_arrival]
string

POD arrival date: actual arrival takes precedence over estimated arrival. Use YYYY-MM-DD or today/N.days.ago/N.days.from_now; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Comma-separated dates mean OR. Use @exists or @not_exists for presence. Compares the stored date component, not timestamp instants; no automatic conversion to the port timezone is applied.

filter[pod_arrival][]
string[]

Bracketed array form of filter[pod_arrival]. POD arrival date: actual arrival takes precedence over estimated arrival. Use YYYY-MM-DD or today/N.days.ago/N.days.from_now; prefix with =, <, <=, >, or >=. Arrays combine bounds with AND. Comma-separated dates mean OR. Use @exists or @not_exists for presence. Compares the stored date component, not timestamp instants; no automatic conversion to the port timezone is applied.

Minimum array length: 1
filter[pod_code]
string

Port of discharge UN/LOCODE. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

filter[pod_code][]
string[]

Bracketed array form of filter[pod_code]. Port of discharge UN/LOCODE. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

Minimum array length: 1
filter[pod_eta_changed_at]
string

Meaningful change in the POD-local ETA date, comparing the current ETA with its historical baseline. Requires a lower ISO 8601 timestamp bound (=, >, or >=); an optional upper bound must be later. Applies only to active, unarrived shipments with an ETA. Not a raw updated_at filter; a future lower bound is not guaranteed to produce no matches.

filter[pod_eta_changed_at][]
string[]

Bracketed array form of filter[pod_eta_changed_at]. Meaningful change in the POD-local ETA date, comparing the current ETA with its historical baseline. Requires a lower ISO 8601 timestamp bound (=, >, or >=); an optional upper bound must be later. Applies only to active, unarrived shipments with an ETA. Not a raw updated_at filter; a future lower bound is not guaranteed to produce no matches.

Minimum array length: 1
filter[pod_terminal_id]
string

Port of discharge terminal ID. Obtain it from the related terminal resource. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean OR for this shipment terminal filter. ~ is not supported.

filter[pod_terminal_id][]
string[]

Bracketed array form of filter[pod_terminal_id]. Port of discharge terminal ID. Obtain it from the related terminal resource. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean OR for this shipment terminal filter. ~ is not supported.

Minimum array length: 1
filter[pol_code]
string

Port of lading UN/LOCODE. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

filter[pol_code][]
string[]

Bracketed array form of filter[pol_code]. Port of lading UN/LOCODE. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

Minimum array length: 1
filter[owner_id]
string

User ID associated with a shipment container. Accepts one ID, comma-separated IDs, or arrays with OR semantics. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

filter[owner_id][]
string[]

Bracketed array form of filter[owner_id]. User ID associated with a shipment container. Accepts one ID, comma-separated IDs, or arrays with OR semantics. Use exact literals, comma-separated values, or arrays with OR semantics. Presence checks and comparison/search operators do not apply to this scope.

Minimum array length: 1
filter[creator_id]
string

Shipment creator account ID. Comma-separated IDs mean OR; arrays of distinct IDs mean AND and return no matches. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean AND unless the parameter description says otherwise. ~ is not supported.

filter[creator_id][]
string[]

Bracketed array form of filter[creator_id]. Shipment creator account ID. Comma-separated IDs mean OR; arrays of distinct IDs mean AND and return no matches. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean AND unless the parameter description says otherwise. ~ is not supported.

Minimum array length: 1
filter[customer_id]
string

Customer account ID or customer party ID. Falls back to the shipment creator when no customer party role exists. Presence checks refer to the customer party role. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean AND unless the parameter description says otherwise. ~ is not supported.

filter[customer_id][]
string[]

Bracketed array form of filter[customer_id]. Customer account ID or customer party ID. Falls back to the shipment creator when no customer party role exists. Presence checks refer to the customer party role. Exact match by default; optional =, @exists, or @not_exists. Comma-separated literals mean OR. Arrays mean AND unless the parameter description says otherwise. ~ is not supported.

Minimum array length: 1
filter[product]
string

Prefix text search of an associated product name or SKU.

filter[party_id]
string

Party ID match. Accepts a scalar, comma-separated IDs, an array (OR), or an object with value and operator (any or all). Values must come from parties visible to your account.

filter[party_id][value]
string

Party IDs for object-form matching. Supply exact authorized IDs; comma-separated IDs use OR unless operator=all.

filter[party_id][value][]
string<uuid>[]

Repeated party IDs for object-form any/all matching. Requires actual party UUIDs.

Minimum array length: 1
filter[party_id][operator]
enum<string>

Object-form party matching; requires value. any is the default; all requires every party on the same shipment.

Available options:
any,
all
filter[party_id][]
string[]

Bracketed array form of filter[party_id]. Party ID match. Accepts a scalar, comma-separated IDs, an array (OR), or an object with value and operator (any or all). Values must come from parties visible to your account.

filter[tags]
string

Account-scoped shipment tags. Comma-separated names or arrays match ANY tag by default.

filter[tags][]
string[]

Bracketed array form of filter[tags]. Account-scoped shipment tags. Comma-separated names or arrays match ANY tag by default.

filter[tags_and]
boolean

With tags, true requires ALL tags; false or absent means ANY. Has no effect without tags. The SDK requires tags (or shipment tag) when this modifier is supplied.

filter[tag]
string

Alias for tags. When both are present, tag takes precedence. Uses the requesting account tag names.

filter[tag][]
string[]

Bracketed array form of filter[tag]. Alias for tags. When both are present, tag takes precedence. Uses the requesting account tag names.

Response

OK

data
Shipment model · object[]
included
(Container model · object | Port model · object | Terminal model · object)[]

Represents the equipment during a specific journey.

meta
meta · object