Skip to content

Documentation/Integrations and API·2 min read·Updated Nov 7, 2026

Push API for carriers

If we can't connect to your ELD or GPS provider, your systems can send locations, statuses and documents to Shipment Insight directly. One integration reaches every customer you haul for.

CarriersDevelopers

Planned

The Push API is being built. The endpoints and formats below are the planned design and may still change before release.

What you can send

EndpointWhat it's for
POST /v1/push/locationsGPS positions, up to 1,000 per request.
POST /v1/push/statusesMilestones such as arrived, departed, loaded, delivered, and delays with a reason.
POST /v1/push/eventsTruck and trailer events: doors, engine, reefer temperature.
POST /v1/push/etasYour own estimated arrival per stop.
POST /v1/push/documentsProof of delivery, bill of lading and photos.
GET /v1/push/shipmentsThe loads assigned to you, so you know what to report on.

Identify the load your way

You don't need our shipment ids. Each record can reference the load by load number, PRO, BOL, order number, truck or trailer number, or container number. We only match against loads shared with you. If nothing matches yet, the record waits in an unmatched list for 72 hours and is matched automatically when the load appears.

curl https://api.example.com/v1/push/locations \
  -H "Authorization: Bearer si_test_..." \
  -H "Idempotency-Key: 9b2f6c1e-..." \
  -H "Content-Type: application/json" \
  -d '{"records":[{"ref":{"loadNumber":"LD-880142"},"truckNumber":"T-118","time":"2026-11-07T14:02:11Z","lat":45.5017,"lon":-73.5673,"speedKph":87,"heading":241}]}'
Send one position (example)

Results per record

One bad record never rejects the whole batch. The response lists the result of each record: accepted, unmatched or rejected with a reason such as time_in_future or invalid_coordinates. Send the same Idempotency-Key again and you get the same result, without duplicates.

Getting started

  1. Step 1In the console, open Settings, then Integrations, then Push API.
  2. Step 2Create a test key and send data to the sandbox. It checks your references and timestamps against sample loads.
  3. Step 3Watch the request log for errors and warnings.
  4. Step 4When the checklist is green, create a live key.

No developers? Other ways to send data

  • Update loads by hand in the console, one by one or in bulk.
  • Upload a CSV file using our template.
  • Drop CSV or EDI 214 files on SFTP.
  • Send drivers a link that shares their phone's location during the load only.