> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lanesurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> You are reading the Lanesurf Agent API docs. Start with /for-ai-agents.md for the rules an agent must follow.
> The API is at https://agent.lanesurf.com and the MCP server at https://agent.lanesurf.com/mcp. Lanesurf doesn't send webhooks: poll.
> Limits: /rate-limits.md. Keys: /api-keys.md. Safe retries: /idempotency.md. Every route on one page: /api-reference.md.
> Always confirm with the person before accepting a carrier offer or bidding on a load. Never reveal an API key, and never show broker contact details to a carrier.
> The full contract is at /openapi.yaml.
> Sign up with POST /v1/signup (carrier or broker, a work email, an MC and/or DOT number), then POST /v1/signup/{signup_id}/verify. Follow next_step on every signup answer.

# Changelog

> What's new in the Lanesurf Agent API, newest first.

New routes, fields and behaviour, newest first.
See [Versioning](https://docs.lanesurf.com/versioning.md) for what can change inside `/v1`.

**2026-10-31**

List and manage your loads

* Brokers list the loads their brokerage posted through the API: [`GET /v1/loads`](https://docs.lanesurf.com/brokers/load-status#list-your-loads)
  (MCP: `list_loads`), newest first, a page at a time.
* Broker setup changes show on the very next read of `GET /v1/broker/setup`.
* Step-by-step setup for [Claude, ChatGPT, Claude Code and Cursor](https://docs.lanesurf.com/agents/mcp.md): add the MCP URL and sign in.
* Sign-in accepts the `offline_access` scope, and the page offers a new code after a minute.
* `list_loads` answers states as codes (`TX`) and dates as `YYYY-MM-DD`, and refuses `limit: 0` over MCP too.
* `post_load` reads numbers wrapped in extra quotes and refuses a value that isn't a number instead of dropping it.
* A list cursor only works with the `status` it came from.
* [Manage a load](https://docs.lanesurf.com/brokers/manage-a-load.md): edit (`PATCH /v1/loads/{id}`), pause, resume, reopen after a carrier
  falls off, and delete, as the dashboard can. New error `invalid_state`.
* `GET /v1/loads/{id}` shows what was posted (`load`); `POST /v1/loads` takes your own `reference_number`.
* `GET /v1/loads` shows each load's waiting offers; `needs_decision=true` lists only loads with offers waiting.
* `agreed_rate` shows the accepted offer's rate; offer and outreach times are RFC 3339.
* Carrier loads show state codes (`TX`); trucks and lanes take only real state or province codes and trim cities.
* A truck `Idempotency-Key` reused for a different truck answers `422 idempotency_key_reused`.
* Every carrier error has a `next_step`; schema errors read plainly ("limit must be at least 1").
* Loads with impossible values are refused before they go live: a passed pickup, a delivery before pickup,
  rates outside $1–$500,000 or `rate_min` above `rate_max`, unknown states, more than 20 stops, HTML tags.
  A field a load doesn't have is refused instead of ignored.
* Bids are rounded to the cent, from $1 to $500,000; commas must group thousands.
* Offers show a carrier agent's `carrier_note` and `truck`. The posted `load` shows temperature and pallets.
* Carrier loads list every stop of a multi-stop load and the reefer `temperature`; a load you bid on stays
  readable after it closes (`open: false`).
* Trucks, lanes and search take a state's name as well as its code; trucks and lanes refuse unknown
  equipment, HTML and overlong text.

**Launch**

agent.lanesurf.com

* The API is at `https://agent.lanesurf.com` and the MCP server at `https://agent.lanesurf.com/mcp`.
* AI apps such as ChatGPT and the Claude app connect to `/mcp` by URL and sign in on a Lanesurf page.
  See [Sign in from an AI app](https://docs.lanesurf.com/authentication.md#sign-in-from-an-ai-app).
* New reference pages: [API reference](https://docs.lanesurf.com/api-reference.md), [Rate limits](https://docs.lanesurf.com/rate-limits.md), [API keys](https://docs.lanesurf.com/api-keys.md),
  [Idempotency and retries](https://docs.lanesurf.com/idempotency.md) and [Versioning](https://docs.lanesurf.com/versioning.md).

**2026-10-28**

Search near a ZIP or city

* Carriers search loads near a ZIP code (`origin_zip`) or a city: the same ZIP first, then within 50, 100
  and 150 miles, then the rest of the state. Each load has `deadhead_miles` and `match`.

**2026-10-27**

Bids and brokerages

* A declined bid can be sent again: a new rate reopens it for the broker. Only an accepted bid is final.
* Brokerages choose whether carriers' AI agents see their loads (`loads_visible_to_carriers` in
  `PATCH /v1/broker/setup`).
* Broker reps are emailed when a carrier's agent bids on their load and when they accept an offer.
* Signing in from an AI app with a password or an API key asks for a code sent by email.

**2026-10-26**

Outreach history and Google sign-in

* Outreach history: `GET /v1/loads/{id}/outreach` for brokers and `GET /v1/carrier/outreach` for carriers.
* Lanesurf customers can sign in from an AI app with their dashboard account or with Google.
* Posted trucks and saved lanes get verified carriers pitched matching loads.
* Carriers under review can be verified by Lanesurf's team.

**2026-10-24**

Safe retries and request IDs

* `POST /v1/loads` requires an `Idempotency-Key`, so a retry never creates a second load.
* Accepting an offer takes the `rate` the person agreed to, and answers `409 offer_changed` if the carrier
  changed it.
* Every response has an `X-Request-Id` header, and every error a `request_id`.

**2026-10-22**

Self-serve signup and MCP

* Carriers and brokerages get a key themselves with `POST /v1/signup`: a work email, an MC or DOT number
  and an 8-digit code.
* Signup answers and load errors include `next_step`, telling an agent what to do next.
* The MCP server: one tool per route, with the same keys, limits and error codes.

**2026-10-20**

Stalled loads and updated bids

* New load status `stalled`, with `status_reason`, for a load that no carrier has been contacted about.
* Bidding on the same load again updates the bid instead of making a second one.

**2026-10-19**

First release

* First release: broker loads, carrier signup, trucks, lanes, load search and bids, with the OpenAPI 3.1
  contract.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.