← BaltriX

BaltriX API

Create loads, request tracking (driver phone or carrier ELD), stream positions, pull documents and receive signed webhooks.

Base URL https://baltrix.io/api · OpenAPI JSON

Authentication

Create API keys in Company → Developers. Each key has scopes (loads:read loads:write tracking:read webhooks:manage) and a per-minute rate limit.
curl https://baltrix.io/api/v1/tracking-requests/LOAD_ID \
  -H "Authorization: Bearer bx_live_your_key"

REST API v1

POST/v1/tracking-requestsscope: loads:write

Create a load and start tracking. With carrier_mc of an ELD-connected carrier, the carrier gets an approval request and location is shared from pickup −2 h to delivery +1 h (no HOS). Otherwise the driver gets a guest tracking link by email.

{
  "ref": "BX-1001",
  "stops": [
    {"kind": "pickup", "zip": "60601", "at": "2026-07-01T08:00"},
    {"kind": "dropoff", "zip": "46204", "at": "2026-07-01T14:00"}
  ],
  "carrier_mc": "MC123456",
  "driver_email": "driver@example.com",
  "customer_contacts": [{"name": "Jane", "email": "jane@shipper.com", "role": "receiver"}]
}
GET/v1/tracking-requests/{id}scope: tracking:read

Status, last position, live ETA, stop events and the load's Trust Score.

GET/v1/tracking-requests/{id}/positions?since=scope: tracking:read

Position breadcrumbs since an ISO timestamp (max 500). ELD loads are clamped to the approved sharing window.

POST/v1/loadsscope: loads:write

Create a load without starting tracking.

POST/v1/loads/{id}/rateconscope: loads:write

Upload a rate confirmation (PDF/image, multipart 'file'). It runs through the AI rate-con pipeline and returns the extracted fields.

GET/v1/loads/{id}/documentsscope: loads:read

POD, BOL, rate con and billing packet with download URLs.

Webhooks

Configure endpoints in Company → Developers. Every delivery is signed: X-BaltriX-Signature: sha256=HMAC_SHA256(secret, raw_body). Failed deliveries retry with backoff for 24 hours and appear in the delivery log with a Resend button.

tracking.started Tracking began on a load (guest link accepted or ELD approved)
position.updated New position — throttled to at most one per 5 minutes per load
eta.changed Live ETA moved by more than 15 minutes
stop.arrived Truck entered a stop geofence
stop.departed Truck left a stop geofence (includes dwell minutes)
delay.detected Load is projected late against the delivery window
detention.started Dwell passed free time at a stop
pod.uploaded Proof of delivery was captured
load.delivered Load was delivered
risk.high Load Trust Score dropped into the high-risk band
OpenAPI 3.0.3 · BaltriX Public API v1.0
Powered by BaltriX