{ "api_key": "ls_live_...", "principal": { "key_id": "0b1c2d3e-4f50-4617-8293-a4b5c6d7e8f9", "key_prefix": "ls_live_1a2b", "role": "carrier", "verification": "needs_review", "carrier": { "legal_name": "EXAMPLE TRUCKING LLC", "mc_number": "123456", "dot_number": "1234567", "contact_email": "dispatch@exampletrucking.example.com" } }, "message": "your carrier account is under review; until Lanesurf verifies it you can manage trucks and lanes and list your bids, but you can't search loads, view loads, get matches or bid", "next_step": "Give the person api_key now to store securely (for example as this connector's Authorization: Bearer header): it is shown only once; never repeat it afterwards. Tell the person: your carrier account is under review; ... Meanwhile post trucks with post_truck, save lanes with save_lane and follow bids with list_bids."}
Sign-up and setup API
Verify the code
Send the 8-digit code (brokers also say who they are). Get your API key.
{ "api_key": "ls_live_...", "principal": { "key_id": "0b1c2d3e-4f50-4617-8293-a4b5c6d7e8f9", "key_prefix": "ls_live_1a2b", "role": "carrier", "verification": "needs_review", "carrier": { "legal_name": "EXAMPLE TRUCKING LLC", "mc_number": "123456", "dot_number": "1234567", "contact_email": "dispatch@exampletrucking.example.com" } }, "message": "your carrier account is under review; until Lanesurf verifies it you can manage trucks and lanes and list your bids, but you can't search loads, view loads, get matches or bid", "next_step": "Give the person api_key now to store securely (for example as this connector's Authorization: Bearer header): it is shown only once; never repeat it afterwards. Tell the person: your carrier account is under review; ... Meanwhile post trucks with post_truck, save lanes with save_lane and follow bids with list_bids."}
Step 2 of 2. Send the 8-digit code the person received. Returns the API key once; store it
securely. Codes expire after 10 minutes and allow 5 attempts. If the answer was lost on the way, send
the same code again while it’s valid: you get a working key, or 409 already_redeemed once the first
key has been used.Brokers also send name, job_title and company_name (and optionally phone and website).
If any required one is missing you get 422 missing_fieldsbefore an attempt is used, so ask for
them and send the same code again. The MC/DOT number and email come from step 1. The brokerage is
created unverified with carrier outreach off (activated: false): Lanesurf reviews it, then turns
outreach on. Until then loads you post are saved and show stalled.Carriers: Lanesurf checks the carrier by DOT/MC number and compares the email’s domain with the
carrier’s record. principal.verification is:
verified: the check confirmed the carrier (the email’s domain matches an email on the carrier’s
record, and the record doesn’t show the carrier’s authority as inactive). Full access: trucks, lanes, load search, load details, truck
matches and bids.
needs_review: the check couldn’t confirm it: no match, carrier not found, check unavailable, inactive or
broker-only authority, an MC and a DOT of different carriers, or a shared mailbox domain (free
mail, ISP mail such as att.net or comcast.net, disposable inboxes), which never counts as a
match because anyone can hold a mailbox there. Your carrier account is under review until Lanesurf’s
team verifies it; the same key then gets full access. Until then the key can post and manage trucks and lanes and list its own bids, but
can’t search loads, read a load, get truck matches, list outreach or bid (403 verification_required).
Nobody is refused for not matching. Every reply has next_step.
Carriers send code. Brokers also send name, job_title and company_name (required) and
optionally phone and website. MC/DOT and the email come from POST /v1/signup.
For people. A carrier under review: "your carrier account is under review; ...". A new brokerage:
outreach starts after Lanesurf's review.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lanesurf Agent API","description":"Let any AI agent get a freight load covered, or get a truck loaded, through Lanesurf.","colors":{"primary":"#2563EB","light":"#60A5FA","dark":"#1D4ED8"},"logo":{"light":"https://mintcdn.com/lanesurf-d98c59ed/XupxBXiERw20rl0s/logo/light.svg?fit=max\u0026auto=format\u0026n=XupxBXiERw20rl0s\u0026q=85\u0026s=e7e783e919601573a03ed1dcf02233f8","dark":"https://mintcdn.com/lanesurf-d98c59ed/XupxBXiERw20rl0s/logo/dark.svg?fit=max\u0026auto=format\u0026n=XupxBXiERw20rl0s\u0026q=85\u0026s=9c19154496fe52a5616ae0d98c489570","href":"/"},"favicon":"https://mintcdn.com/lanesurf-d98c59ed/XupxBXiERw20rl0s/favicon.png?fit=max\u0026auto=format\u0026n=XupxBXiERw20rl0s\u0026q=85\u0026s=f2c5b6e71d9aaa614f7f04cfa13d3e21","navbar":{"links":[{"href":"mailto:support@lanesurf.com","label":"Support"},{"href":"https://www.lanesurf.com","label":"lanesurf.com"}]},"footer":{"socials":{"website":"https://www.lanesurf.com"}},"contextual":{"options":["copy","view","chatgpt","claude","grok","perplexity","download-spec"],"display":"header"},"markdown":{"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."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lanesurf-d98c59ed","hasAudioNarration":false,"actualSubdomain":"lanesurf-d98c59ed","customDomains":["docs.lanesurf.com"],"gitSource":{"type":"github","owner":"lanesurf-org","repo":"agent-ai-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae61b0caf08fdd71062c1a8","collectionId":"8fd05299-2b32-4bca-b0a0-35925c6f2e50","liveDeploymentHistoryId":"6ae61b0caf08fdd71062c1a8","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae61b0caf08fdd71062c1a8","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Carriers","count":22},{"language":"default","tag":"Brokers","count":18},{"language":"default","tag":"Reference","count":14},{"language":"default","tag":"Loads API","count":12},{"language":"default","tag":"Get started","count":10},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Trucks API","count":6},{"language":"default","tag":"Loads and bids API","count":5},{"language":"default","tag":"Sign-up API","count":3},{"language":"default","tag":"Lanes API","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".nav-logo{height:34px!important}"}],"page":{"pagePath":"api-reference/authentication/finish-signup-with-the-code","slug":"/api-reference/authentication/finish-signup-with-the-code","pageMetadata":{"title":"Verify the code","description":"Send the 8-digit code (brokers also say who they are). Get your API key.","deprecated":null,"version":null,"sidebarTitle":"Verify the code","openapi":"/openapi.yaml post /v1/signup/{signup_id}/verify","href":"/api-reference/authentication/finish-signup-with-the-code","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Send the 8-digit code (brokers also say who they are). Get your API key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Step 2 of 2. Send the 8-digit code the person received. Returns the API key `,_jsx(_components.strong,{children:`once`}),`; store it\nsecurely. Codes expire after 10 minutes and allow 5 attempts. If the answer was lost on the way, send\nthe same code again while it’s valid: you get a working key, or `,_jsx(_components.code,{children:`409 already_redeemed`}),` once the first\nkey has been used.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Brokers`}),` also send `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`job_title`}),` and `,_jsx(_components.code,{children:`company_name`}),` (and optionally `,_jsx(_components.code,{children:`phone`}),` and `,_jsx(_components.code,{children:`website`}),`).\nIf any required one is missing you get `,_jsx(_components.code,{children:`422 missing_fields`}),` `,_jsx(_components.strong,{children:`before`}),` an attempt is used, so ask for\nthem and send the same code again. The MC/DOT number and email come from step 1. The brokerage is\ncreated unverified with carrier outreach `,_jsx(_components.strong,{children:`off`}),` (`,_jsx(_components.code,{children:`activated: false`}),`): Lanesurf reviews it, then turns\noutreach on. Until then loads you post are saved and show `,_jsx(_components.code,{children:`stalled`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Carriers`}),`: Lanesurf checks the carrier by DOT/MC number and compares the email’s domain with the\ncarrier’s record. `,_jsx(_components.code,{children:`principal.verification`}),` is:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`verified`}),`: the check confirmed the carrier (the email’s domain matches an email on the carrier’s\nrecord, and the record doesn’t show the carrier’s authority as inactive). Full access: trucks, lanes, load search, load details, truck\nmatches and bids.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`needs_review`}),`: the check couldn’t confirm it: no match, carrier not found, check unavailable, inactive or\nbroker-only authority, an MC and a DOT of different carriers, or a shared mailbox domain (free\nmail, ISP mail such as att.net or comcast.net, disposable inboxes), which never counts as a\nmatch because anyone can hold a mailbox there. Your carrier account is under review until Lanesurf’s\nteam verifies it; the same key then gets full access. Until then the key can post and manage trucks and lanes and list its own bids, but\n`,_jsx(_components.strong,{children:`can’t`}),` search loads, read a load, get truck matches, list outreach or bid (`,_jsx(_components.code,{children:`403 verification_required`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Nobody is refused for not matching. Every reply has `,_jsx(_components.code,{children:`next_step`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Verify the code","description":"Send the 8-digit code (brokers also say who they are). Get your API key.","deprecated":null,"version":null,"sidebarTitle":"Verify the code","openapi":"/openapi.yaml post /v1/signup/{signup_id}/verify","href":"/api-reference/authentication/finish-signup-with-the-code","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Authentication"],"summary":"Finish signup with the code","operationId":"verifySignup","security":[],"x-mint":{"metadata":{"title":"Verify the code","sidebarTitle":"Verify the code","description":"Send the 8-digit code (brokers also say who they are). Get your API key."},"content":"Step 2 of 2. Send the 8-digit code the person received. Returns the API key **once**; store it\nsecurely. Codes expire after 10 minutes and allow 5 attempts. If the answer was lost on the way, send\nthe same code again while it's valid: you get a working key, or `409 already_redeemed` once the first\nkey has been used.\n\n**Brokers** also send `name`, `job_title` and `company_name` (and optionally `phone` and `website`).\nIf any required one is missing you get `422 missing_fields` **before** an attempt is used, so ask for\nthem and send the same code again. The MC/DOT number and email come from step 1. The brokerage is\ncreated unverified with carrier outreach **off** (`activated: false`): Lanesurf reviews it, then turns\noutreach on. Until then loads you post are saved and show `stalled`.\n\n**Carriers**: Lanesurf checks the carrier by DOT/MC number and compares the email's domain with the\ncarrier's record. `principal.verification` is:\n\n- `verified`: the check confirmed the carrier (the email's domain matches an email on the carrier's\n record, and the record doesn't show the carrier's authority as inactive). Full access: trucks, lanes, load search, load details, truck\n matches and bids.\n- `needs_review`: the check couldn't confirm it: no match, carrier not found, check unavailable, inactive or\n broker-only authority, an MC and a DOT of different carriers, or a shared mailbox domain (free\n mail, ISP mail such as att.net or comcast.net, disposable inboxes), which never counts as a\n match because anyone can hold a mailbox there. Your carrier account is under review until Lanesurf's\n team verifies it; the same key then gets full access. Until then the key can post and manage trucks and lanes and list its own bids, but\n **can't** search loads, read a load, get truck matches, list outreach or bid (`403 verification_required`).\n\nNobody is refused for not matching. Every reply has `next_step`.\n"},"description":"Send the 8-digit code (brokers also say who they are). Get your API key.","parameters":["384c28a5-3f84-43d6-8e12-4bf0db914745"],"requestBody":"00e81de6-973e-407b-b44b-4862da0b6223","responses":{"201":"5cac26f7-4d26-41dc-8b19-7754b817fdfd","400":"a17fcb60-ec7e-498d-b7d1-a6468e1508cf","404":"8aee925c-2dea-466f-9034-130285f05450","409":"23e84095-edbf-4fd4-8850-eaf201433ea6","410":"5108b52a-0111-41fe-ac82-6d87be1c489f","422":"e6202a57-eaea-44cc-837a-669fe01d7dc2","429":"636ad240-0234-4133-b0bf-8f2be7e1f283","500":"1df5a121-0241-40f7-98f0-248683ffd4f2","503":"97e3f5e0-4371-4593-9215-9b4582f44b51"},"method":"post","type":"path","servers":["23a3a396-6c85-4043-970f-44c0c809dd8e"],"path":"/v1/signup/{signup_id}/verify","baseUrlOptions":["https://agent.lanesurf.com"],"title":"Finish signup with the code","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"384c28a5-3f84-43d6-8e12-4bf0db914745":{"name":"signup_id","in":"path","required":true,"description":"The `signup_id` from `POST /v1/signup`.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"The `signup_id` from `POST /v1/signup`.","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["code"],"description":"Carriers send `code`. Brokers also send `name`, `job_title` and `company_name` (required) and\noptionally `phone` and `website`. MC/DOT and the email come from `POST /v1/signup`.\n","properties":{"code":{"type":"string","pattern":"^[0-9]{8}$","example":"48291307","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"role":{"type":"string","enum":["carrier","broker"],"description":"Optional. If sent it must match the signup.","uniqueKey":"role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":200,"description":"Brokers: the person's full name.","example":"Dana Reyes","uniqueKey":"name","typeLabel":"string"},"job_title":{"type":"string","maxLength":100,"description":"Brokers: the person's job title at the brokerage.","example":"Carrier Sales Manager","uniqueKey":"job_title","typeLabel":"string"},"company_name":{"type":"string","maxLength":200,"description":"Brokers: the brokerage's name, as carriers should hear it.","example":"Acme Freight LLC","uniqueKey":"company_name","typeLabel":"string"},"phone":{"type":"string","description":"Brokers, optional: E.164; a 10-digit US number is accepted.","example":"+12145550100","uniqueKey":"phone","typeLabel":"string"},"website":{"type":"string","maxLength":300,"description":"Brokers, optional: an http(s) address; `https://` is added when no scheme is given.","example":"https://acmefreight.example.com","uniqueKey":"website","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"carrier":{"title":"carrier","value":{"code":"48291307"}},"broker":{"title":"broker","value":{"code":"48291307","name":"Dana Reyes","job_title":"Carrier Sales Manager","company_name":"Acme Freight LLC","phone":"+12145550100","website":"https://acmefreight.example.com"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5cac26f7-4d26-41dc-8b19-7754b817fdfd":{"description":"The new API key. Follow `next_step`.","headers":{"Cache-Control":{"description":"Responses that carry secrets are never cached.","schema":{"type":"string","example":"no-store"}}},"content":{"application/json":{"schema":{"type":"object","required":["api_key","principal","next_step"],"properties":{"api_key":{"type":"string","example":"ls_live_...","description":"Shown once. Store it securely.","isRequired":true,"uniqueKey":"api_key","typeLabel":"string"},"principal":{"type":"object","required":["key_id","key_prefix","role"],"properties":{"key_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"principal.key_id","typeLabel":"string\u003cuuid>"},"key_prefix":{"type":"string","example":"ls_live_1a2b","isRequired":true,"uniqueKey":"principal.key_prefix","typeLabel":"string"},"role":{"type":"string","enum":["broker","carrier"],"isRequired":true,"uniqueKey":"principal.role","typeLabel":"enum\u003cstring>"},"verification":{"type":"string","enum":["verified","needs_review"],"description":"Carriers only. `verified`: confirmed automatically (the signup email's domain matches an email on the\ncarrier's record; shared mailbox domains such as ISP mail never count; the authority isn't shown as\ninactive) or by Lanesurf's team.\n`needs_review`: the carrier account is under review (trucks, lanes and the bid list only).\n","uniqueKey":"principal.verification","typeLabel":"enum\u003cstring>"},"carrier":{"type":"object","description":"Carriers only. The carrier record from the identity check, and the contact proved with the code. Empty fields are left out.","properties":{"legal_name":{"type":"string","uniqueKey":"principal.carrier.legal_name","typeLabel":"string"},"mc_number":{"type":"string","uniqueKey":"principal.carrier.mc_number","typeLabel":"string"},"dot_number":{"type":"string","uniqueKey":"principal.carrier.dot_number","typeLabel":"string"},"contact_email":{"type":"string","uniqueKey":"principal.carrier.contact_email","typeLabel":"string"},"contact_phone":{"type":"string","uniqueKey":"principal.carrier.contact_phone","typeLabel":"string"}},"uniqueKey":"principal.carrier","typeLabel":"object"},"broker_id":{"type":"string","format":"uuid","description":"Brokers only. The brokerage.","uniqueKey":"principal.broker_id","typeLabel":"string\u003cuuid>"},"rep_name":{"type":"string","description":"Brokers only.","uniqueKey":"principal.rep_name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"principal","typeLabel":"object"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"activated":{"type":"boolean","description":"Brokers only. `false` until Lanesurf reviews the new brokerage and turns carrier outreach on. Loads\nposted before then are saved and show `stalled`.\n","uniqueKey":"activated","typeLabel":"boolean"},"message":{"type":"string","description":"For people. A carrier under review: \"your carrier account is under review; ...\". A new brokerage:\noutreach starts after Lanesurf's review.\n","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"carrier_needs_review":{"title":"carrier_needs_review","value":{"api_key":"ls_live_...","principal":{"key_id":"0b1c2d3e-4f50-4617-8293-a4b5c6d7e8f9","key_prefix":"ls_live_1a2b","role":"carrier","verification":"needs_review","carrier":{"legal_name":"EXAMPLE TRUCKING LLC","mc_number":"123456","dot_number":"1234567","contact_email":"dispatch@exampletrucking.example.com"}},"message":"your carrier account is under review; until Lanesurf verifies it you can manage trucks and lanes and list your bids, but you can't search loads, view loads, get matches or bid","next_step":"Give the person api_key now to store securely (for example as this connector's Authorization: Bearer header): it is shown only once; never repeat it afterwards. Tell the person: your carrier account is under review; ... Meanwhile post trucks with post_truck, save lanes with save_lane and follow bids with list_bids."}},"broker":{"title":"broker","value":{"api_key":"ls_live_...","principal":{"key_id":"1c2d3e4f-5061-4728-93a4-b5c6d7e8f9a0","key_prefix":"ls_live_9z8y","role":"broker","broker_id":"6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d","rep_name":"Dana Reyes"},"activated":false,"message":"Lanesurf reviews new brokerages before carrier outreach starts; loads you post are saved and start sourcing once outreach is on","next_step":"Give the person api_key now to store securely ... Meanwhile review the brokerage setup with get_broker_setup and fill in working hours, payment terms and CC emails with update_broker_setup."}}},"exampleType":"examples"}},"exampleType":"examples"},"a17fcb60-ec7e-498d-b7d1-a6468e1508cf":{"description":"`invalid_request`: e.g. the code isn't 8 digits, a website that isn't http(s), a job title over 100 characters.","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"8aee925c-2dea-466f-9034-130285f05450":{"description":"`not_found`: no such signup.","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"23e84095-edbf-4fd4-8850-eaf201433ea6":{"description":"`existing_customer`: the brokerage already works with Lanesurf; don't sign up, their Lanesurf admin or account manager gives them access. `already_redeemed`: this signup was already completed and its key is in use. `broker_name_taken`: a brokerage with this `company_name` is already set up with Lanesurf. `broker_name_mismatch`: this signup already created the brokerage under another name.","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"5108b52a-0111-41fe-ac82-6d87be1c489f":{"description":"`signup_expired`: the code expired (10 minutes) or ran out of attempts (5). Start again.","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"e6202a57-eaea-44cc-837a-669fe01d7dc2":{"description":"`missing_fields` (brokers: `name`, `job_title` or `company_name` is missing; no attempt was used) or\n`invalid_code` (wrong code; the message says how many attempts are left).\n","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"missing_fields":{"title":"missing_fields","value":{"error":"to set up the brokerage, send job_title, company_name with the code; no attempt was used","code":"missing_fields","missing":["job_title","company_name"],"next_step":"Ask the person for job_title, company_name, then call verify_signup again with the same signup_id and code plus name, job_title and company_name (phone and website optional). No attempt was used."}},"invalid_code":{"title":"invalid_code","value":{"error":"wrong code; 4 attempt(s) left","code":"invalid_code","next_step":"Ask the person to check the code in the email and call verify_signup again with the same signup_id."}}},"exampleType":"examples"}},"exampleType":"examples"},"636ad240-0234-4133-b0bf-8f2be7e1f283":{"description":"`rate_limited`: too many signups for this email, this MC/DOT number or this network. Wait `Retry-After` seconds.","headers":{"Retry-After":{"description":"Seconds to wait before trying again.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"1df5a121-0241-40f7-98f0-248683ffd4f2":{"description":"`internal`: unexpected error. Safe to retry later.","content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"97e3f5e0-4371-4593-9215-9b4582f44b51":{"description":"`unavailable`: signup can't run right now (code sending or a Lanesurf system is down). Retry later;\nwhen `Retry-After` is set, wait that many seconds. If the carrier check can't run, signup still works:\nthe carrier is `needs_review`.\n","headers":{"Retry-After":{"description":"Seconds to wait before trying again.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","code","next_step"],"properties":{"error":{"type":"string","description":"A message for people.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","missing_fields","not_found","invalid_code","signup_expired","broker_name_taken","broker_name_mismatch","existing_customer","already_redeemed","rate_limited","unavailable","internal"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"next_step":{"type":"string","description":"For the agent. Exactly what to do next and which MCP tool to call (REST path in brackets).","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"missing":{"type":"array","description":"`missing_fields` only: the fields to ask for.","items":{"type":"string","example":"job_title","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"},"retry_after_seconds":{"type":"integer","description":"MCP only; REST sends the `Retry-After` header.","uniqueKey":"retry_after_seconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","next_step":"\u003cstring>","missing":["job_title"],"retry_after_seconds":123}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"23a3a396-6c85-4043-970f-44c0c809dd8e":{"url":"https://agent.lanesurf.com","description":"Production"}}},"originalFileLocation":"openapi.yaml"},"subdomain":"lanesurf-d98c59ed","siteName":"Lanesurf Agent API","title":"Verify the code - Lanesurf Agent API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T16:24:09.566Z","originalFileLocation":"api-reference/authentication/finish-signup-with-the-code.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send the 8-digit code (brokers also say who they are). Get your API key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lanesurf Agent API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Verify the code - Lanesurf Agent API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send the 8-digit code (brokers also say who they are). Get your API key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lanesurf Agent API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lanesurf-d98c59ed.mintlify.app/_mintlify/api/og/v2?division=Sign-up+and+setup+API\u0026amp;title=Verify+the+code\u0026amp;description=Send+the+8-digit+code+%28brokers+also+say+who+they+are%29.+Get+your+API+key.\u0026amp;theme=0b87e052751a04850cc4f191\u0026amp;signature=b171e28d106781649429eb29fb2624c7eafa56ab0c79a5b04c64c16253708e45\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Verify the code - Lanesurf Agent API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send the 8-digit code (brokers also say who they are). Get your API key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lanesurf-d98c59ed.mintlify.app/_mintlify/api/og/v2?division=Sign-up+and+setup+API\u0026amp;title=Verify+the+code\u0026amp;description=Send+the+8-digit+code+%28brokers+also+say+who+they+are%29.+Get+your+API+key.\u0026amp;theme=0b87e052751a04850cc4f191\u0026amp;signature=b171e28d106781649429eb29fb2624c7eafa56ab0c79a5b04c64c16253708e45\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lanesurf-d98c59ed/aDfoxgMnpA3AXS2W/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lanesurf Agent API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authentication/finish-signup-with-the-code.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lanesurf.com/#organization\",\"name\":\"Lanesurf Agent API\",\"url\":\"https://docs.lanesurf.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lanesurf-d98c59ed/XupxBXiERw20rl0s/logo/light.svg?fit=max\u0026auto=format\u0026n=XupxBXiERw20rl0s\u0026q=85\u0026s=e7e783e919601573a03ed1dcf02233f8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lanesurf.com#website\",\"name\":\"Lanesurf Agent API\",\"url\":\"https://docs.lanesurf.com\",\"publisher\":{\"@id\":\"https://docs.lanesurf.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code#webpage\",\"url\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code\",\"name\":\"Verify the code\",\"description\":\"Send the 8-digit code (brokers also say who they are). Get your API key.\",\"dateModified\":\"2026-10-31T16:24:09.566Z\",\"isPartOf\":{\"@id\":\"https://docs.lanesurf.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sign-up and setup API\",\"item\":\"https://docs.lanesurf.com/api-reference/authentication/start-signup-carrier-or-broker\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verify the code\",\"item\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code#apireference\",\"headline\":\"Verify the code\",\"name\":\"Verify the code\",\"description\":\"Send the 8-digit code (brokers also say who they are). Get your API key.\",\"url\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lanesurf.com/api-reference/authentication/finish-signup-with-the-code#webpage\"},\"dateModified\":\"2026-10-31T16:24:09.566Z\",\"publisher\":{\"@id\":\"https://docs.lanesurf.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lanesurf.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lanesurf Agent API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lanesurf Agent API","nav":{"global":null,"tabs":[{"tab":"Get started","icon":"rocket","pages":[{"title":"Get started","href":""}]},{"tab":"Brokers","icon":"truck-fast","groups":[{"group":"Guides","pages":[{"title":"Sign up your brokerage","icon":"key","href":"/brokers/get-a-key"},{"title":"Cover a load","icon":"truck-fast","href":"/brokers/cover-a-load"},{"title":"Load status and offers","sidebarTitle":"Status and offers","icon":"list-check","href":"/brokers/load-status"},{"title":"Manage a load","sidebarTitle":"Manage a load","icon":"pen-to-square","href":"/brokers/manage-a-load"}]},{"group":"Sign-up and setup API","pages":[{"title":"Start signup","description":"Say carrier or broker, give an MC and/or DOT number and a work email. We email a code.","deprecated":null,"version":null,"sidebarTitle":"Start signup","openapi":"/openapi.yaml post /v1/signup","href":"/api-reference/authentication/start-signup-carrier-or-broker"},{"title":"Verify the code","deprecated":null,"version":null,"sidebarTitle":"Verify the code","openapi":"/openapi.yaml post /v1/signup/{signup_id}/verify","href":"/api-reference/authentication/finish-signup-with-the-code"},{"title":"Get brokerage setup","description":"What Lanesurf's agents tell carriers about your brokerage, and whether outreach is on.","deprecated":null,"version":null,"sidebarTitle":"Get setup","openapi":"/openapi.yaml get /v1/broker/setup","href":"/api-reference/broker-setup/your-brokerages-setup"},{"title":"Update brokerage setup","deprecated":null,"version":null,"sidebarTitle":"Update setup","openapi":"/openapi.yaml patch /v1/broker/setup","href":"/api-reference/broker-setup/change-your-brokerages-setup"},{"title":"Who am I","deprecated":null,"version":null,"sidebarTitle":"Who am I","openapi":"/openapi.yaml get /v1/me","href":"/api-reference/authentication/who-this-key-belongs-to"}]},{"group":"Loads API","pages":[{"title":"List your loads","deprecated":null,"version":null,"sidebarTitle":"List your loads","openapi":"/openapi.yaml get /v1/loads","href":"/api-reference/broker-loads/list-your-loads"},{"title":"Post a load","deprecated":null,"version":null,"sidebarTitle":"Post a load","openapi":"/openapi.yaml post /v1/loads","href":"/api-reference/broker-loads/post-a-load"},{"title":"Get load status","deprecated":null,"version":null,"sidebarTitle":"Get load status","openapi":"/openapi.yaml get /v1/loads/{id}","href":"/api-reference/broker-loads/load-status-and-carrier-offers"},{"title":"Edit a load","deprecated":null,"version":null,"sidebarTitle":"Edit load","openapi":"/openapi.yaml patch /v1/loads/{id}","href":"/api-reference/broker-loads/edit-a-load"},{"title":"Delete a load","deprecated":null,"version":null,"sidebarTitle":"Delete load","openapi":"/openapi.yaml delete /v1/loads/{id}","href":"/api-reference/broker-loads/delete-a-load"},{"title":"Load outreach","deprecated":null,"version":null,"sidebarTitle":"Load outreach","openapi":"/openapi.yaml get /v1/loads/{id}/outreach","href":"/api-reference/broker-loads/who-was-contacted-on-a-load"},{"title":"Accept an offer","deprecated":null,"version":null,"sidebarTitle":"Accept an offer","openapi":"/openapi.yaml post /v1/loads/{id}/offers/{session_id}/accept","href":"/api-reference/broker-loads/accept-a-carriers-offer"},{"title":"Decline an offer","deprecated":null,"version":null,"sidebarTitle":"Decline an offer","openapi":"/openapi.yaml post /v1/loads/{id}/offers/{session_id}/decline","href":"/api-reference/broker-loads/decline-a-carriers-offer"},{"title":"Mark covered","deprecated":null,"version":null,"sidebarTitle":"Mark covered","openapi":"/openapi.yaml post /v1/loads/{id}/covered","href":"/api-reference/broker-loads/mark-the-load-covered-elsewhere"},{"title":"Pause a load","deprecated":null,"version":null,"sidebarTitle":"Pause load","openapi":"/openapi.yaml post /v1/loads/{id}/pause","href":"/api-reference/broker-loads/pause-a-load"},{"title":"Resume a load","deprecated":null,"version":null,"sidebarTitle":"Resume load","openapi":"/openapi.yaml post /v1/loads/{id}/resume","href":"/api-reference/broker-loads/resume-a-load"},{"title":"Reopen a covered load","deprecated":null,"version":null,"sidebarTitle":"Reopen load","openapi":"/openapi.yaml post /v1/loads/{id}/reopen","href":"/api-reference/broker-loads/reopen-a-covered-load"}]}]},{"tab":"Carriers","icon":"truck","groups":[{"group":"Guides","pages":[{"title":"Sign up","icon":"user-plus","href":"/carriers/sign-up"},{"title":"Get your truck loaded","sidebarTitle":"Get loaded","icon":"magnifying-glass-location","href":"/carriers/find-a-load"},{"title":"Post a truck","sidebarTitle":"Posting trucks","icon":"truck","href":"/carriers/post-a-truck"},{"title":"Save your lanes","sidebarTitle":"Lanes","icon":"route","href":"/carriers/lanes"},{"title":"Bid on a load","sidebarTitle":"Bidding","icon":"hand","href":"/carriers/bid-on-a-load"}]},{"group":"Sign-up API","pages":[{"title":"Start signup","description":"Say carrier or broker, give an MC and/or DOT number and a work email. We email a code.","deprecated":null,"version":null,"sidebarTitle":"Start signup","openapi":"/openapi.yaml post /v1/signup","href":"/api-reference/authentication/start-signup-carrier-or-broker"},{"title":"Verify the code","deprecated":null,"version":null,"sidebarTitle":"Verify the code","openapi":"/openapi.yaml post /v1/signup/{signup_id}/verify","href":"/api-reference/authentication/finish-signup-with-the-code"},{"title":"Who am I","description":"See who this API key belongs to.","deprecated":null,"version":null,"sidebarTitle":"Who am I","openapi":"/openapi.yaml get /v1/me","href":"/api-reference/authentication/who-this-key-belongs-to"}]},{"group":"Trucks API","pages":[{"title":"Post a truck","deprecated":null,"version":null,"sidebarTitle":"Post a truck","openapi":"/openapi.yaml post /v1/carrier/trucks","href":"/api-reference/carrier-trucks/post-an-available-truck"},{"title":"List my trucks","deprecated":null,"version":null,"sidebarTitle":"List my trucks","openapi":"/openapi.yaml get /v1/carrier/trucks","href":"/api-reference/carrier-trucks/list-my-trucks"},{"title":"Get a truck","deprecated":null,"version":null,"sidebarTitle":"Get a truck","openapi":"/openapi.yaml get /v1/carrier/trucks/{truck_id}","href":"/api-reference/carrier-trucks/get-a-truck"},{"title":"Update a truck","deprecated":null,"version":null,"sidebarTitle":"Update a truck","openapi":"/openapi.yaml patch /v1/carrier/trucks/{truck_id}","href":"/api-reference/carrier-trucks/update-a-truck"},{"title":"Remove a truck","deprecated":null,"version":null,"sidebarTitle":"Remove a truck","openapi":"/openapi.yaml delete /v1/carrier/trucks/{truck_id}","href":"/api-reference/carrier-trucks/remove-a-truck"},{"title":"Loads for a truck","deprecated":null,"version":null,"sidebarTitle":"Loads for a truck","openapi":"/openapi.yaml get /v1/carrier/trucks/{truck_id}/matches","href":"/api-reference/carrier-loads/loads-that-fit-this-truck"}]},{"group":"Lanes API","pages":[{"title":"Save a lane","deprecated":null,"version":null,"sidebarTitle":"Save a lane","openapi":"/openapi.yaml post /v1/carrier/lanes","href":"/api-reference/carrier-lanes/save-a-lane"},{"title":"List my lanes","deprecated":null,"version":null,"sidebarTitle":"List my lanes","openapi":"/openapi.yaml get /v1/carrier/lanes","href":"/api-reference/carrier-lanes/list-my-lanes"},{"title":"Remove a lane","deprecated":null,"version":null,"sidebarTitle":"Remove a lane","openapi":"/openapi.yaml delete /v1/carrier/lanes/{lane_id}","href":"/api-reference/carrier-lanes/remove-a-lane"}]},{"group":"Loads and bids API","pages":[{"title":"Search loads","deprecated":null,"version":null,"sidebarTitle":"Search loads","openapi":"/openapi.yaml get /v1/carrier/loads/search","href":"/api-reference/carrier-loads/search-loads-near-a-zip-or-city-or-by-state"},{"title":"Get a load","deprecated":null,"version":null,"sidebarTitle":"Get a load","openapi":"/openapi.yaml get /v1/carrier/loads/{load_id}","href":"/api-reference/carrier-loads/one-loads-details"},{"title":"Bid on a load","deprecated":null,"version":null,"sidebarTitle":"Bid on a load","openapi":"/openapi.yaml post /v1/carrier/loads/{load_id}/bids","href":"/api-reference/carrier-loads/bid-on-a-load"},{"title":"My bids","deprecated":null,"version":null,"sidebarTitle":"My bids","openapi":"/openapi.yaml get /v1/carrier/bids","href":"/api-reference/carrier-loads/my-bids-and-their-status"},{"title":"My outreach","deprecated":null,"version":null,"sidebarTitle":"My outreach","openapi":"/openapi.yaml get /v1/carrier/outreach","href":"/api-reference/carrier-loads/lanesurf-outreach-i-received"}]}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/api-reference"}]}]},"basePath":"","title":"Verify the code - Lanesurf Agent API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}