> ## 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.

# Statuses

> What every load, offer, truck, bid and carrier verification status means, in one place.

## Load status (brokers)

From `GET /v1/loads/{id}` and the accept, decline and covered calls. A new load from `POST /v1/loads`
is `sourcing` (or `stalled` for a brokerage Lanesurf hasn't activated yet). Load answers have `next_step`.
A load that is missing fields (`422 missing_fields`) or that Lanesurf can't process (`400 load_rejected`) is
never created. For retries, see [Idempotency and retries](https://docs.lanesurf.com/idempotency.md).

| Status | Meaning | Next step |
| - | - | - |
| `sourcing` | Lanesurf is contacting carriers | Poll for offers every few minutes |
| `stalled` | The load is open, but no carrier has been contacted 15 minutes after posting; or the brokerage signed up through the API and carrier outreach starts after Lanesurf's review. `status_reason` explains | Tell the person the `status_reason`. Slow down or stop polling |
| `covered` | Done. `covered_by` is `lanesurf` (the rep accepted an offer here) or `rep` (marked covered elsewhere) | Stop polling |
| `inactive` | The load is no longer active and wasn't covered through this API | Stop polling |
| `deleted` | The load was deleted | Stop polling |

Each offer also has a `status`: Lanesurf's raw outreach status for that carrier, such as
`NEGOTIATION_LOGGED | WITHIN_RANGE` or `BID_LOGGED | WE_ASKED_FIRST`. Show it; don't branch on it.
An offer's `decision` is `accepted` or `declined` once the rep chooses.

## Truck status (carriers)

| Status | Meaning |
| - | - |
| `active` | Posted, and `expires_at` hasn't passed |
| `removed` | The carrier took it down. `removed_reason` is `loaded`, `unavailable` or `other` |
| `expired` | Past `expires_at`: `available_to`, or 72 hours after `available_from` when there's no end |

## Bid status (carriers)

From `GET /v1/carrier/bids`. A new bid is `submitted`.

| Status | Meaning |
| - | - |
| `submitted` | The broker has it and the load is still open. The broker's team follows up with the dispatcher |
| `accepted` | The broker accepted this bid |
| `declined` | The broker passed on this bid. Send it again with a new rate to reopen it |
| `load_closed` | The load was covered some other way, closed, or booked to someone else, and the broker made no choice on this bid |
| `incomplete` | The bid was recorded but never reached the broker (a failure mid-bid). `POST` it again to finish it: within 2 minutes from the same key (its original rate, truck and note are used), after that from any of your carrier's keys (the new terms are used) |

The broker's choice wins: an `accepted` or `declined` bid keeps that status after the load closes.

## Carrier verification

| Value | Meaning |
| - | - |
| `verified` | Confirmed: automatically (the signup email's domain matches an email on the carrier's record, shared mailbox domains such as ISP mail never count, and the record doesn't show the authority as inactive) or by Lanesurf's team. Full access: trucks, lanes, load search, load details, truck matches and bids |
| `needs_review` | The carrier account is under review: the automatic check couldn't confirm it, and Lanesurf's team hasn't verified it yet. Post and manage trucks and lanes, and list its own bids. No load search, load details, truck matches, outreach or bids (`403 verification_required`) |

See [Carrier sign up](https://docs.lanesurf.com/carriers/sign-up.md) for how a carrier gets verified.

## Brokerage outreach

A brokerage that signs up through the API starts with carrier outreach off (`activated: false` in the
verify reply, `outreach.activated: false` in `GET /v1/broker/setup`). Lanesurf reviews it and turns
outreach on. Until then its loads show `stalled`. See [Sign up your brokerage](https://docs.lanesurf.com/brokers/get-a-key.md).


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