API Changelog
Updated today
Every change to the TrackFlo Integration API, newest first.
10.16.26
New optional field on
POST /api/v1/loadlegs/upsert:no_contact_load. Sendtruewhen your TMS marks the movement (or its order) as do-not-contact. TrackFlo then sends no automated outreach on it (SMS, voice, WhatsApp, carrier email, MacroPoint) and shows a no-contact icon on the board.New optional field on
POST /api/v1/stops/upsert:planned_appointment_utc, the stop's original planned appointment, kept as first planned even after a reschedule. It enables the Planned ETA Drift exception. For a date-only plan, send 12:00 in the stop's local time, as UTC.New optional field on
POST /api/v1/loadupdates/upsert:eta_stop_permalink, the stop thateta_utcis for (itsnative_system_stop_permalink). Without it, TrackFlo assumes the next stop not yet arrived.
9.25.26
New optional field on
POST /api/v1/loads/upsert:commoditycarries the order's freight. The top level holds the order totals:description,pieces,weightandweight_unit. An optionalitemslist gives the lines behind them, with the same four keys per line.piecesandweightmust be JSON numbers, not strings.weight_unitis required wheneverweightis sent.piecescounts pieces only. A quantity your TMS records in pallets or other handling units is not a piece count, so leave it out.0pieces is valid (bulk freight).Extra keys are accepted.
The object replaces what TrackFlo holds; send
nullto clear it.A malformed
commodityfails the whole upsert with400, anddetailsnames the field. See Data model.
9.12.26
New optional field on
POST /api/v1/loadlegs/upsert:driving_type:singleorteam. Send it when your TMS knows. If omitted, TrackFlo keeps the value it already holds, except that a populateddriver_2_nameordriver_2_phone_numberpromotes the leg toteam(it is never demoted tosingleautomatically). Team legs are excluded from the single-driver rest-break ETA when a company enables it.Authentication page and spec now state that a key is issued for one kind of caller: an integration key opens the
/api/v1/*upserts and nothing else; a key of another kind presented there is refused with403.
9.9.26
get-assigneeisX-API-Keyonly. The legacytokenquery parameter is no longer accepted; a request without the header returns401regardless of the query string. Every Front workspace was migrated to a Front Integration key first, so no configuration change is needed unless yours still relies ontoken=.
9.6.26
Documented timestamp semantics (
_utc/_local, offsets are not converted) and the versioning policy.First publication of the OpenAPI 3.1 reference for the five upsert endpoints.
Upsert responses are now a JSON envelope
{status, message, permalink}on all five endpoints (status codes unchanged).get-assigneeacceptsX-API-Key(Front Integration keys); the legacytokenquery parameter is being retired.Per-key rate limits with
429+Retry-After.