1
Post the load
Turn what the person told you into fields. Every field is on the
POST /v1/loads page.2
Answer what's missing
To start covering a load, Lanesurf needs: equipment, the first pickup’s city, state and date,
and the last delivery’s city, state and date. If any is missing you get Ask the person for those only, add them, and send the whole load again.
422:reference_number is optional: your own load number (your TMS or customer reference). It shows on the
load and in the Lanesurf dashboard, so loads match between your systems.Values are checked before anything is posted. A bad one answers 400 invalid_request saying which field
and why, and nothing is created:- Stops: at most 20. A state is a US state, Canadian province or Mexican state, as its code (
TX) or its name (Texas); Lanesurf stores the code. - Dates: the first pickup can’t have passed, and no delivery can be before it.
- Numbers: rates from $1 to $500,000 (
rate_minno more thanrate_max), weight from 1 to 200,000 lbs, pallets 0 to 100, temperature -60 to 120 °F. Commas may group thousands ("$1,950"). - Text: plain text within the lengths in the API reference, no HTML tags. Currency is USD, CAD or MXN.
- Only the documented fields. Any other field is refused, not ignored. Put anything else carriers must
know (a hazmat class, tarps, appointment notes) in
explicit_special_instructions.
400 load_rejected. Don’t send it again unchanged: check the stops and dates with the person, then send
it with a new Idempotency-Key.3
Lanesurf starts covering it
post_with, put that email and phone on the load wherever you advertise it (load
boards, emails), so carrier calls and replies reach Lanesurf. It comes back only when Lanesurf has set a
posting email and phone for your key. Keys made by signing in from an AI app don’t have one.4
Read offers and pick a carrier
Safe retries
Every load post needs anIdempotency-Key header (up to 200 characters; a new UUID per load). Without it
you get 400 idempotency_key_required and nothing is created, because a retry after a timeout would
otherwise create a second load and Lanesurf would contact the same carriers twice. Missing fields are
reported first. Over MCP, send it as post_load’s idempotency_key. The key is scoped to the API key
that sends it:
A
200 retry answers with the original load as it is now: