Skip to navigation

🧪 Get Load

Get detailed information about a specific TMS load.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

load_idstringRequiredformat: "uuid"
The unique identifier of the load.

Query parameters

include_source_databooleanOptionalDefaults to false

Include the raw data from the telematics provider. Useful for auditing or accessing fields not normalized by Catena

Response

Successful Response
idstringformat: "uuid"
Unique identifier of the record at Catena Telematics.
created_atdatetime

Immutable: The datetime the record was ingested into Catena Telematics.

updated_atdatetime
The datetime the record was last modified in Catena Telematics.
tms_connection_idstringformat: "uuid"

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.

source_nameenum

The underlying TMS platform that provided this data (e.g., tms_simulator).

Allowed values:
source_idstring

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.

source_data_hashstring<=64 characters

SHA-256 hash of the source data payload. Note: we use it internally for idempotence and deduplication.

tms_account_idstring or nullOptionalformat: "uuid"

The TMS account that owns this record’s tms_connection_id.

deleted_atdatetime or nullOptional
The datetime the record was logically deleted from Catena Telematics.
tms_idstring or nullOptionalformat: "uuid"
Unique identifier of the TMS at Catena Telematics from which this record was ingested.
tms_slugstring or nullOptional
Human readable slug of the TMS at Catena Telematics from which this record was ingested.
source_datamap from strings to anyOptional

Raw source payload as ingested from the TMS. Note: use it for audit/debugging.

occurred_atdatetime or nullOptional

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.

extrasmap from strings to any or nullOptional

Additional data available in the TMS that doesn’t fit into the model (this field captures those extra attributes in a flexible way).

execution_idstring or nullOptionalformat: "uuid"

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.

schedule_idstring or nullOptionalformat: "uuid"

Unique identifier for schedule that triggered this record’s execution. Note: useful for tracing.

load_numberstring or nullOptional

Load/shipment number as provided by the TMS.

statusstring or nullOptional

TMS-provided load status (e.g., ‘booked’, ‘in_transit’, ‘delivered’). Not normalized across TMS providers.

source_customer_idstring or nullOptional

External source system customer identifier (from the TMS).

customer_idstring or nullOptionalformat: "uuid"

Internal customer identifier (Catena), deterministically derived from source_customer_id. No foreign key: no standalone Customer resource table exists yet.

customer_namestring or nullOptional
Customer name as provided by the TMS.
source_carrier_idstring or nullOptional

External source system carrier identifier (from the TMS).

carrier_idstring or nullOptionalformat: "uuid"

Internal carrier identifier (Catena), deterministically derived from source_carrier_id. No foreign key: no standalone Carrier resource table exists yet.

carrier_namestring or nullOptional
Carrier name as provided by the TMS.
stopslist of maps from strings to anyOptional

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).

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
405
Method Not Allowed Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
501
Not Implemented Error