Skip to content

Get a shipment

Logistics module

GET/shipments/{id}shipments.get

A shipment into or out of a venue. Returns one shipment with its `ETag`. A shipment the caller may not see returns 404.

  • Requires the capability logistics.shipment.read.
  • OAuth scopes: logistics.
  • Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.

Path and query parameters

shipments.get: Path and query parameters
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the shipment.
fieldsFieldsNoSparse fieldset: a comma-separated list of top-level fields to return. `id` is always returned.Constraints: pattern ^[a-z_][a-z0-9_]*(,[a-z_][a-z0-9_]*)*$

Response 200: Shipment

shipments.get: Shipment
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the shipment.
org_idstring (uuid)YesIdentifier of the owning organization, derived from the parent row and never accepted from the caller.
created_atstring (date-time)YesWhen the row was created.
created_bystring (uuid) | nullYesIdentifier of the person who created the row; null when a seed, platform or system process created it.
updated_atstring (date-time)YesWhen the row was last updated.
updated_bystring (uuid) | nullYesIdentifier of the person who last updated the row; null when a seed, platform or system process updated it.
project_idstring (uuid)YesIdentifier of the project.
tracking_identifierstring | nullYesCarrier tracking identifier.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
directionstringYesInbound or outbound.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
ships_atstring (date-time) | nullYesExpected arrival or departure.
carrier_counterparty_idstring (uuid) | nullYesIdentifier of the carrier, as a counterparty of the org.
freight_type_enum_idstring | nullYesCanon freight type, from xpms.std_enumeration.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
arrives_atstring (date-time) | nullYesWhen the shipment is due to arrive.
shipment_numberintegerYesNumber within the project; the display key is {project_key}-{shipment_number}.Constraints: range 1 to any
uridUrid | nullYes
descriptionstring | nullYesWhat the shipment carries, in a sentence.Constraints: length 1 to 2000
originstring | nullYesWhere the freight ships from, as a locality.Constraints: length 1 to 200
sender_counterparty_idstring (uuid) | nullYesIdentifier of the vendor sending the freight; the carrier is carrier_counterparty_id.
pallet_countinteger | nullYesNumber of pallets.Constraints: range 0 to any
piece_countinteger | nullYesNumber of pieces.Constraints: range 0 to any
length_ftnumber | nullYesLength of the load in feet.
width_ftnumber | nullYesWidth of the load in feet.
height_ftnumber | nullYesHeight of the load in feet.
weight_lbnumber | nullYesWeight of the load in pounds.
trailer_licensestring | nullYesLicense plate of the trailer.Constraints: length 1 to 100
seal_identifierstring | nullYesNumber of the seal applied to the trailer.Constraints: length 1 to 100
bill_of_lading_identifierstring | nullYesBill of lading number issued by the carrier.Constraints: length 1 to 100
{
  "id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "created_at": "2026-10-08T14:30:00Z",
  "created_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "updated_at": "2026-10-08T14:30:00Z",
  "updated_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "project_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "tracking_identifier": "CF123456789",
  "direction": "inbound",
  "ships_at": "2026-10-08T14:30:00Z",
  "carrier_counterparty_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "freight_type_enum_id": "ENM-041",
  "arrives_at": "2026-10-08T14:30:00Z",
  "shipment_number": 7,
  "urid": "4000.01.01",
  "description": "Two pallets of truss and motors.",
  "origin": "Orlando, FL",
  "sender_counterparty_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "pallet_count": 2,
  "piece_count": 14,
  "length_ft": 48,
  "width_ft": 8.5,
  "height_ft": 9,
  "weight_lb": 12000,
  "trailer_license": "FL TRL-4410",
  "seal_identifier": "SL-778120",
  "bill_of_lading_identifier": "BOL-2027-0611"
}

Code samples

curl -X GET "$XOS_BASE_URL/shipments/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data, etag } = await xos.shipments.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");
response = xos.shipments.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")
xos shipments get 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f