Skip to main content
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 422:
Ask the person for those only, add them, and send the whole load again.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_min no more than rate_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.
If Lanesurf can’t process the load (bad stop cities, states, zip codes or dates), you get 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

When the answer has 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 an Idempotency-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:
Use a new key for each new load. A used key can’t be used to change a load.
Commodity defaults to “General freight” and rate is optional. Numbers can be sent as numbers or strings (40000, "40000" or "$40,000"). A value that isn’t a number is refused with invalid_request naming the field, and nothing is posted.