🧪 Get Load
Get detailed information about a specific TMS load.
This endpoint is available for early access. The core schema is stable, but minor details — such as field names or added fields — may change before it becomes generally available. Backward compatibility is not guaranteed.
See API Stability & Versioning for details on provisional endpoints.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The unique identifier of the load.
Query Parameters
Include the raw data from the telematics provider. Useful for auditing or accessing fields not normalized by Catena
Response
Successful Response
Load model for API responses.
Unique identifier of the record at Catena Telematics.
Immutable: The datetime the record was ingested into Catena Telematics.
The datetime the record was last modified in Catena Telematics.
Unique identifier of the connection at Catena Telematics through which this record was ingested. A TMS connection represents a TmsAccount/TMS pairing. No foreign key: TmsConnection lives in telematics-integrations-service's own database, so this is a logical reference only.
The underlying TMS platform that provided this data (e.g., tms_simulator).
tms_simulator Unique identifier of the record in the TMS. Note: we generate a deterministic composite key based on available fields if the TMS does not provide a unique ID.
SHA-256 hash of the source data payload. Note: we use it internally for idempotence and deduplication.
64The TMS account that owns this record's tms_connection_id.
The datetime the record was logically deleted from Catena Telematics.
Unique identifier of the TMS at Catena Telematics from which this record was ingested.
Human readable slug of the TMS at Catena Telematics from which this record was ingested.
Raw source payload as ingested from the TMS. Note: use it for audit/debugging.
Datetime of when the underlying event/observation occurred, as reported by the TMS, or the moment it was ingested by us if not available in the source data.
Additional data available in the TMS that doesn't fit into the model (this field captures those extra attributes in a flexible way).
Unique identifier for the execution that ingested this record into Catena Telematics. Note: useful for tracing. Stamped by upsert_data() onto every record regardless of resource domain (functions/upsert/src/upsert.py), so this is populated the same way it is for TSP tables even though there is no TMS Schedule/Execution pipeline yet.
Unique identifier for schedule that triggered this record's execution. Note: useful for tracing.
Load/shipment number as provided by the TMS.
TMS-provided load status (e.g., 'booked', 'in_transit', 'delivered'). Not normalized across TMS providers.
External source system customer identifier (from the TMS).
Internal customer identifier (Catena), deterministically derived from source_customer_id. No foreign key: no standalone Customer resource table exists yet.
Customer name as provided by the TMS.
External source system carrier identifier (from the TMS).
Internal carrier identifier (Catena), deterministically derived from source_carrier_id. No foreign key: no standalone Carrier resource table exists yet.
Carrier name as provided by the TMS.
Ordered pickup/delivery stops within the load (see LoadStop for the expected shape). Stored as JSON-safe dicts rather than list[LoadStop]: SQLAlchemy's JSONB column serializes with the stdlib json encoder, which can't handle Pydantic model instances or datetimes, so callers must pass stop.model_dump(mode='json') rather than a LoadStop instance (mirrors why functions/upsert/src/upsert.py's _normalize_jsonb_columns exists for the ingestion path).