Use this endpoint to set (or change) who fulfills a route. You can target any of these:
Provider (providerId) — an external delivery provider (e.g. uber). Selects the route’s successful quote for that provider.
Driver group (driverGroupId) — a contract. Selects the route’s successful quote for that contract.
Courier (courierId) — an individual driver. Must belong to the route’s driver group.
Vehicle (vehicleId) — a vehicle. Must be assigned to the route’s driver group (contract).
driverGroupId, courierId, and vehicleId accept either an internal Nash id or your own external id. Provide at least one target; you may combine a courier and a vehicle.
Pre-dispatch vs. post-dispatch
The endpoint behaves differently depending on whether the route has already been dispatched:
Pre-dispatch — the route’s assignment is updated in place.
Post-dispatch — the active assignment is cancelled, live deliveries are cancelled, tasks are recreated and re-quoted, a fresh route assignment is created, and the requested target is applied.
In both cases the updated route is returned.
Requirements
Provide at least one target (providerId, driverGroupId, courierId, or vehicleId).
Assigning by provider or driver group selects that target’s successful quote on the route — a successful quote for it must already exist.
A courier must belong to the route’s driver group.
A vehicle must be assigned to the route’s driver group (contract).
Errors
Failed assignments return 400 Bad Request with a body of shape { "error": { "code", "message", "details": { "reason" } }, "response_status", "RequestID" }. Common reasons:
reason
Meaning
courier_not_assigned_to_driver_group
The courier isn’t a member of the route’s driver group. Move the route to a group the courier belongs to, or add the courier to that group.
vehicle_not_assigned_to_contract
The vehicle isn’t assigned to the route’s driver group (contract).
A request with no target fails validation with 422 Unprocessable Content.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
id
string
required
Route ID
Body
application/json
Input for assigning or reassigning a route.
Provide a provider, a driver group (contract), a courier, and/or a vehicle;
driver group / courier / vehicle ids may be internal or external. Pre-dispatch the assignment
is updated in place; post-dispatch the route is reassigned (cancel live deliveries, recreate
tasks, re-quote) and the new target applied.
providerId
string | null
Provider id to assign. Selects the route's successful quote for this provider.
Example:
"uber"
driverGroupId
string | null
Driver group/Contract id (internal or external) to assign. Selects the route's successful quote for this contract.
Example:
"cntr_7mP3xVt9Nk8sRfWzY2hLbQ"
courierId
string | null
Courier/Driver id (internal or external) to assign to the route. The courier must belong to the route's driver group.
Example:
"cor_9dK2mNp7xVt3RfWzY8sLbQ"
vehicleId
string | null
Vehicle id (internal or external) to assign to the route. The vehicle must be assigned to the route's driver group (contract).
Example:
"veh_4hL8pXq2sVn6RtY3wCbD9M"
Response
OK
Represents a planned sequence of stops for a delivery or batch.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nash","colors":{"primary":"#193000","light":"#C9FF00","dark":"#C9FF00"},"logo":{"light":"https://mintcdn.com/nashtechnologies/Hn0_BgTkq2u_H6Y8/logo/light.svg?fit=max\u0026auto=format\u0026n=Hn0_BgTkq2u_H6Y8\u0026q=85\u0026s=f722e2f19592e69c296bca12ed590f56","dark":"https://mintcdn.com/nashtechnologies/Hn0_BgTkq2u_H6Y8/logo/dark.svg?fit=max\u0026auto=format\u0026n=Hn0_BgTkq2u_H6Y8\u0026q=85\u0026s=ea0304a254f547bd5375e702d2a528bf"},"favicon":"https://mintcdn.com/nashtechnologies/Hn0_BgTkq2u_H6Y8/favicon.svg?fit=max\u0026auto=format\u0026n=Hn0_BgTkq2u_H6Y8\u0026q=85\u0026s=9bbde759b7ec406c779e49f469d5791e","api":{"mdx":{"auth":{"method":"bearer"}}},"appearance":{"default":"dark"},"background":{"color":{"light":"#F8FAFC","dark":"#01051E"}},"navbar":{"links":[{"href":"mailto:support@usenash.com","label":"Support"},{"href":"https://status.usenash.com/","label":"Status"}],"primary":{"type":"button","label":"Open portal","href":"https://portal.usenash.com"}},"footer":{"socials":{"x":"https://x.com/usenash","github":"https://github.com/usenash","linkedin":"https://www.linkedin.com/company/usenash"},"links":[{"header":"Resources","items":[{"label":"Website","href":"https://www.nash.ai/"},{"label":"Blog","href":"https://www.nash.ai/blog"},{"label":"Engineering blog","href":"https://www.nash.ai/blog?category=Engineering"},{"label":"Release notes","href":"/release-notes/change"}]}]},"fonts":{"family":"Host Grotesk"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"integrations":{"mixpanel":{"projectToken":"7b213c087799f470b4c55e1f7262fc57"}},"contextual":{"options":["copy","view","claude","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["Nash exposes two MCP servers. The docs MCP server at https://docs.usenash.com/mcp searches this documentation and needs no credentials. The Nash MCP server at https://mcp.usenash.com/mcp operates an organization's deliveries and needs a Nash API key. See https://docs.usenash.com/reference/build-with-ai.","Use the Sandbox environment (https://api.sandbox.usenash.com/v1) for anything that creates or dispatches deliveries during development."]},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nashtechnologies","hasAudioNarration":false,"actualSubdomain":"nashtechnologies","customDomains":["docs.usenash.com"],"gitSource":{"type":"github","owner":"usenash","repo":"nash-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"agentFeedback":true,"thumbs":true},"entitlements":{},"buildId":"6af5e5b6f324a3d565bc0ec0","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":136},{"language":"default","tag":"Documentation","count":39},{"language":"default","tag":"Order","count":31},{"language":"default","tag":"Nash Agent","count":22},{"language":"default","tag":"Jobs","count":18},{"language":"default","tag":"Store locations \u0026 zones","count":18},{"language":"default","tag":"Core concepts","count":16},{"language":"default","tag":"Workflows","count":11},{"language":"default","tag":"Getting started","count":10},{"language":"default","tag":"Automation","count":10}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600\u0026display=swap');@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1\u0026display=swap');:root{--nash-font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, monospace;--nash-font-serif: 'Instrument Serif', 'Iowan Old Style', Georgia, serif;--nash-accent: #193000;--nash-accent-ink: #F8FAFC;--nash-accent-dim: rgba(25, 48, 0, 0.10);--nash-fg: #01051E;--nash-fg-2: #314868;--nash-fg-muted: #5A7498;--nash-fg-faint: #B1C4DC;--nash-border: rgba(11, 31, 58, 0.08);--nash-border-strong: rgba(11, 31, 58, 0.16);--nash-surface: #FFFFFF;--nash-surface-2: #F8FAFC;--nash-surface-3: #E5EDF6;--nash-card-bg: #FFFFFF;--nash-card-border: rgba(11, 31, 58, 0.08);--nash-shadow-1: 0 1px 2px rgba(11, 31, 58, 0.06), 0 8px 24px rgba(11, 31, 58, 0.06);--nash-ease: cubic-bezier(0.22, 1, 0.36, 1)}.dark{--nash-accent: #C9FF00;--nash-accent-ink: #01051E;--nash-accent-dim: rgba(201, 255, 0, 0.14);--nash-fg: #FFFFFF;--nash-fg-2: #B1C4DC;--nash-fg-muted: #5A7498;--nash-fg-faint: #314868;--nash-border: rgba(255, 255, 255, 0.08);--nash-border-strong: rgba(255, 255, 255, 0.16);--nash-surface: #050B25;--nash-surface-2: #0A1230;--nash-surface-3: #131C42;--nash-card-bg: linear-gradient(180deg, rgba(177, 196, 220, 0.04), rgba(177, 196, 220, 0.01));--nash-card-border: rgba(255, 255, 255, 0.10);--nash-shadow-1: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 8px 24px rgba(0, 0, 0, 0.40)}code,pre,kbd,method-pill,method-nav-pill{font-family:var(--nash-font-mono);font-feature-settings:'ss01', 'cv01'}::selection{background:rgba(25, 48, 0, 0.16)}.dark ::selection{background:rgba(201, 255, 0, 0.22);color:#01051E}#navbar .h-full.flex-1.border-b{border-bottom:none!important}#topbar-cta-button a>span:first-child{background:var(--nash-accent)!important;border-radius:999px}#topbar-cta-button a div span,#topbar-cta-button a div svg{color:var(--nash-accent-ink)!important}.nav-tabs-item{transition:color 160ms var(--nash-ease), background 160ms var(--nash-ease)}.nav-tabs-item[data-active]{color:var(--nash-fg)!important}@media (min-width: 1024px){#navbar .max-w-8xl>div>.relative>div:has(#search-bar-entry){height:48px!important}#navbar .max-w-8xl>div>div:has(>.nav-tabs){height:0!important;overflow:visible;padding-left:0!important;padding-right:0!important}#navbar .h-full.relative.flex-1.flex.items-center.gap-x-4{gap:12px}#navbar .h-full.relative.flex-1.flex.items-center.gap-x-4>.flex-1:first-child{flex:0 0 18rem!important}#navbar div:has(>#search-bar-entry){flex:0 0 9.5rem!important;justify-content:flex-end!important;margin-left:auto}#search-bar-entry{width:9.5rem!important;height:34px!important;border-radius:999px!important}#navbar div:has(>#search-bar-entry)+div{flex:0 0 auto!important;margin-left:0!important}#navbar .nav-tabs{position:absolute;top:7px;left:50%;z-index:40;height:34px!important;transform:translateX(-50%);align-items:center;gap:3px;padding:4px;border:1px solid var(--nash-border);border-radius:999px;background:rgba(255, 255, 255, 0.045);box-shadow:0 1px 0 rgba(255, 255, 255, 0.04) inset}:root:not(.dark) #navbar .nav-tabs{background:rgba(1, 5, 30, 0.035);box-shadow:0 1px 1px rgba(11, 31, 58, 0.04)}#navbar .nav-tabs-item{height:26px!important;padding:0 11px;border-radius:999px;font-size:13px;line-height:26px;white-space:nowrap}#navbar .nav-tabs-item[data-active]{background:rgba(255, 255, 255, 0.075);box-shadow:none;text-shadow:none!important}:root:not(.dark) #navbar .nav-tabs-item[data-active]{background:rgba(1, 5, 30, 0.07)}#navbar .nav-tabs-item>div{display:none}#sidebar{top:48px!important}#sidebar-content{height:calc(100vh - 48px)!important;padding-top:10px}}@media (min-width: 1024px) and (max-width: 1800px){#navbar nav[aria-label=\"Main\"] .navbar-link{display:none}}@media (min-width: 1024px) and (max-width: 1535px){#navbar div:has(>#search-bar-entry){display:flex!important;flex:0 0 auto!important}#search-bar-entry{display:none!important}#navbar div:has(>#search-bar-entry)+div{margin-left:0!important}}@media (min-width: 1024px) and (max-width: 1199px){#assistant-entry{display:none!important}}.sidebar-group-header,sidebar-group-header{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--nash-fg)}#sidebar-content li[data-active] a{background:transparent!important;box-shadow:none!important;border-radius:6px;color:var(--nash-accent)!important;font-weight:500}breadcrumb-list{font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--nash-fg-muted)}breadcrumb-list breadcrumb-item:last-of-type,breadcrumb-list li:last-of-type{color:var(--nash-accent)}eyebrow{letter-spacing:0.14em;text-transform:uppercase;color:var(--nash-accent)}#navbar .max-w-8xl.mx-auto,#navbar+div{max-width:none!important}@media (min-width: 1024px){#footer.advanced-footer{width:calc(100% - 20rem);margin-left:20rem!important;margin-right:0!important}}@media (min-width: 768px){#footer.advanced-footer div:has(>a.md\\:truncate){flex-wrap:wrap;row-gap:0.75rem}#footer.advanced-footer a.md\\:truncate{flex-shrink:0}}html[data-page-mode=\"none\"] #content-area>#api-playground-2-operation-page{max-width:none!important}html[data-page-mode=\"none\"] #content-area>#header,html[data-page-mode=\"none\"] #content-area>#content,html[data-page-mode=\"none\"] #content-area>#pagination{max-width:56rem!important}html[data-page-mode=\"none\"] #content-area:not(:has(>#api-playground-2-operation-page))>#header,html[data-page-mode=\"none\"] #content-area:not(:has(>#api-playground-2-operation-page))>#content,html[data-page-mode=\"none\"] #content-area:not(:has(>#api-playground-2-operation-page))>#pagination{margin-left:auto;margin-right:auto}@media (min-width: 1280px){#content-area{width:calc(100% - 22rem)!important}}mdx-content h1{letter-spacing:-0.025em}mdx-content h2{letter-spacing:-0.02em}mdx-content h3{letter-spacing:-0.01em}card{border-radius:12px;transition:border-color 180ms var(--nash-ease)}card:hover{transform:none}code-block,code-group{border-radius:12px}method-pill,method-nav-pill{font-size:10px;font-weight:600}toc-item{transition:color 140ms var(--nash-ease)}toc-item[data-active],toc-item[data-active] a{color:var(--nash-fg)!important;border-color:var(--nash-fg)!important}toc-item[data-active-deepest]{font-weight:500}.nash-home{color:var(--nash-fg);padding-bottom:96px}.nash-section{max-width:1100px;margin:0 auto;padding:0 24px}.nash-section-hd{display:flex;align-items:baseline;gap:14px;margin:56px 0 18px}.nash-section-hd h2{font-size:22px;letter-spacing:-0.02em;font-weight:500;margin:0;color:var(--nash-fg)}.nash-section-hd .nash-all{margin-left:auto;font-size:13px;color:var(--nash-fg-muted);text-decoration:none}.nash-section-hd .nash-all:hover{color:var(--nash-fg)}.nash-hero{position:relative;padding:104px 0 76px;overflow:hidden;text-align:center}.nash-hero-aurora{position:absolute;inset:-40% -20%;pointer-events:none;background:radial-gradient(38% 42% at 32% 60%, rgba(79, 179, 201, 0.20), transparent 70%),\n radial-gradient(30% 36% at 55% 38%, rgba(201, 255, 0, 0.10), transparent 70%),\n radial-gradient(34% 40% at 72% 62%, rgba(186, 79, 201, 0.12), transparent 70%);filter:blur(40px);animation:nash-aurora-drift 16s ease-in-out infinite}:root:not(.dark) .nash-hero-aurora{opacity:0.5}@keyframes nash-aurora-drift{0%,100%{transform:translateX(-4%) scale(1)}50%{transform:translateX(4%) scale(1.06)}}@media (prefers-reduced-motion: reduce){.nash-hero-aurora{animation:none}}.nash-hero-inner{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:0 24px}.nash-hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--nash-accent);margin:0 0 4px}.nash-hero h1{font-size:58px;line-height:64px;letter-spacing:-0.03em;font-weight:500;margin:16px 0 18px;color:var(--nash-fg)}.nash-hero h1 em{font-family:var(--nash-font-serif);font-style:italic;font-weight:400;letter-spacing:0}.nash-hero-sub{font-size:18px;line-height:30px;color:var(--nash-fg-2);max-width:620px;margin:0 auto 36px;text-wrap:pretty}.nash-hero-search{display:flex;align-items:center;gap:12px;width:100%;max-width:640px;margin:0 auto;height:58px;padding:0 20px;background:var(--nash-surface);border:1px solid var(--nash-border-strong);border-radius:999px;color:var(--nash-fg-muted);font-size:15px;cursor:pointer;font-family:inherit;box-shadow:var(--nash-shadow-1);transition:border-color 180ms var(--nash-ease)}.nash-hero-search:hover{border-color:var(--nash-fg-muted)}.nash-hero-search svg{width:17px;height:17px;flex-shrink:0}.nash-hero-search .grow{flex:1;text-align:left}.nash-hero-search kbd{font-size:11.5px;background:var(--nash-surface-2);border:1px solid var(--nash-border);border-radius:5px;padding:2px 7px}.nash-quick{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}.nash-pill{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:480;color:var(--nash-fg-2);border:1px solid var(--nash-border);border-radius:999px;padding:8px 16px;text-decoration:none;transition:border-color 160ms var(--nash-ease), color 160ms var(--nash-ease)}.nash-pill:hover{border-color:var(--nash-border-strong);color:var(--nash-fg)}.nash-pill svg{width:13px;height:13px}.nash-surface-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px;margin-top:44px}.nash-surface{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--nash-card-bg);border:1px solid var(--nash-card-border);border-radius:12px;padding:26px 24px;transition:border-color 200ms var(--nash-ease)}.nash-surface:hover{border-color:var(--nash-border-strong)}.nash-surface .surface-eyebrow{font-size:10.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--nash-fg-muted)}.nash-surface .surface-title{font-size:19px;font-weight:530;letter-spacing:-0.015em;color:var(--nash-fg)}.nash-surface .surface-title a{color:inherit;text-decoration:none}.nash-surface .surface-desc{font-size:13.5px;line-height:22px;color:var(--nash-fg-muted);flex:1;text-wrap:pretty}.nash-surface .surface-links{display:flex;flex-direction:column;gap:2px;margin-top:10px;border-top:1px solid var(--nash-border);padding-top:12px}.nash-surface .surface-link{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--nash-fg-2);padding:4px 0;text-decoration:none}.nash-surface .surface-link:hover{color:var(--nash-fg)}.nash-surface .surface-link svg{width:12px;height:12px;opacity:0.6;flex-shrink:0}.nash-build-grid{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:32px;align-items:start}@media (max-width: 1024px){.nash-build-grid{grid-template-columns:minmax(0, 1fr)}}.nash-build-grid .code-group,.nash-build-grid code-group{margin-top:0}.nash-api-strip{display:grid;grid-template-columns:repeat(4, 1fr);gap:10px}.nash-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--nash-border);border-radius:8px;padding:11px 14px;font-size:13px;color:var(--nash-fg-2);text-decoration:none;transition:border-color 160ms var(--nash-ease), color 160ms var(--nash-ease)}.nash-chip:hover{border-color:var(--nash-border-strong);color:var(--nash-fg)}.nash-chip .mono{font-family:var(--nash-font-mono);font-size:11px;color:var(--nash-fg-muted);margin-left:auto}@media (max-width: 880px){.nash-hero{padding:72px 0 54px}.nash-hero h1{font-size:40px;line-height:46px}.nash-hero-sub{font-size:16.5px;line-height:27px;margin-bottom:28px}.nash-hero-search{height:54px;max-width:100%}.nash-quick{margin-top:18px}.nash-surface-grid{grid-template-columns:1fr}.nash-api-strip{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.nash-hero{padding:56px 0 44px}.nash-hero h1{font-size:36px;line-height:42px}.nash-pill{padding:7px 13px}}.nash-callout-signal{display:flex;gap:12px;border:1px solid rgba(25, 48, 0, 0.3);border-radius:12px;background:var(--nash-card-bg);padding:16px 18px;margin:24px 0;font-size:14px;line-height:23px;color:var(--nash-fg-2)}.dark .nash-callout-signal{border-color:rgba(201, 255, 0, 0.3)}.nash-callout-signal svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--nash-accent)}.nash-callout-signal strong{color:var(--nash-fg)}[data-component-part=\"update-tag\"]{padding:0.125rem 0.5rem;border-radius:0.5rem;border:1px solid color-mix(in srgb, currentColor 22%, transparent);background-color:color-mix(in srgb, currentColor 8%, transparent);line-height:1.3}body:has(.update-container) #content-area{width:100%!important;max-width:none!important}body:has(.update-container) .update-container{flex-direction:column!important;gap:6px!important}body:has(.update-container) .update-container>div:first-child{position:static!important;width:auto!important;max-width:none!important;flex-direction:column!important;flex-wrap:nowrap;align-items:flex-start;gap:8px;font-size:0.85rem;color:var(--nash-fg-muted)}body:has(.update-container) .update-container>div:first-child>button{font-size:1.4rem!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-0.01em;padding:0!important;background:none!important;color:var(--nash-accent)!important}.nash-weekof-hidden{display:none!important}body:has(.update-container) .update-container>div:first-child>*{margin-top:0!important;margin-bottom:0!important}body:has(.update-container) .update-container>div:last-child{width:100%!important;max-width:none!important}body:has(.update-container) #content-area{padding-left:0!important;margin-left:0!important}body:has(.update-container) #content-area>:not(#nash-relnotes-toc){margin-left:228px}#nash-relnotes-toc{float:left;width:200px;position:sticky;top:calc(var(--banner-height, 0px) + var(--topbar-tabs-height, 3rem) + 16px);max-height:calc(100vh - 8rem);overflow-y:auto;padding-right:8px;border-right:1px solid var(--nash-border)}#nash-relnotes-toc .nash-toc-head{display:flex;justify-content:flex-end;margin-bottom:8px}#nash-relnotes-toc .nash-toc-toggle{border:1px solid var(--nash-border);background:var(--nash-surface-2);color:var(--nash-fg-muted);border-radius:6px;width:24px;height:24px;line-height:1;cursor:pointer}#nash-relnotes-toc .nash-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}#nash-relnotes-toc .nash-toc-list a{display:block;padding:6px 8px;border-radius:6px;font-size:0.82rem;color:var(--nash-fg-muted);text-decoration:none;border-left:2px solid transparent}#nash-relnotes-toc .nash-toc-list a:hover{color:var(--nash-fg);background:var(--nash-surface-2)}#nash-relnotes-toc .nash-toc-list a.is-active{color:var(--nash-fg);border-left-color:var(--nash-accent);font-weight:560}@media (max-width: 1023px){#nash-relnotes-toc{display:none}body:has(.update-container) #content-area>:not(#nash-relnotes-toc){margin-left:0}}#nash-relnotes-toc{transition:width 180ms var(--nash-ease, ease)}body:has(.update-container) #content-area>:not(#nash-relnotes-toc){transition:margin-left 180ms var(--nash-ease, ease)}#nash-relnotes-toc.is-collapsed{width:40px;overflow:hidden}#nash-relnotes-toc.is-collapsed .nash-toc-list{display:none}body:has(.update-container) #content-area:has(#nash-relnotes-toc.is-collapsed)>:not(#nash-relnotes-toc){margin-left:68px}@media (min-width: 1024px){body:has(.update-container) #content,body:has(.update-container) #header{margin-left:228px!important;margin-right:auto!important}body:has(.update-container) #content-area:has(#nash-relnotes-toc.is-collapsed) #content,body:has(.update-container) #content-area:has(#nash-relnotes-toc.is-collapsed) #header{margin-left:68px!important}body:has(.update-container) #content-area:has(#nash-relnotes-toc.is-collapsed) #content,body:has(.update-container) #content-area:has(#nash-relnotes-toc.is-collapsed) #header{max-width:calc(896px + 160px)!important}}body:has(.update-container) #content-side-layout{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden!important}@media (min-width: 1024px){body:has(.update-container) #sidebar{display:none!important}}.nash-filter-block{margin:2px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--nash-border)}#nash-relnotes-toc.is-collapsed .nash-filter-block{display:none}.nash-toc-title{font-size:0.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--nash-fg-muted);margin:0 0 6px;padding:0 8px}#nash-relnotes-toc.is-collapsed .nash-toc-title{display:none}.nash-filter-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--nash-border-strong);background:var(--nash-surface-2);color:var(--nash-fg-2);border-radius:8px;padding:6px 12px;font-size:0.85rem;cursor:pointer}.nash-filter-btn:hover{color:var(--nash-fg);border-color:var(--nash-fg-faint)}.nash-filter-badge{background:var(--nash-accent);color:var(--nash-accent-ink);border-radius:999px;padding:0 7px;font-size:0.72rem;font-weight:600;line-height:1.5}.nash-caret{color:var(--nash-fg-muted);font-size:0.7rem}.nash-filter-pop{position:fixed;z-index:60;min-width:210px;background:var(--nash-surface);border:1px solid var(--nash-border-strong);border-radius:10px;box-shadow:var(--nash-shadow-1);padding:8px;display:flex;flex-direction:column;gap:2px}.nash-pop-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:6px;font-size:0.85rem;color:var(--nash-fg-2);cursor:pointer;user-select:none}.nash-pop-row:hover{background:var(--nash-surface-2);color:var(--nash-fg)}.nash-pop-row input{accent-color:var(--nash-accent)}.nash-pop-clear{margin-top:4px;border:0;border-top:1px solid var(--nash-border);background:none;color:var(--nash-fg-muted);font-size:0.8rem;padding:8px 8px 2px;text-align:left;cursor:pointer}.nash-pop-clear:hover{color:var(--nash-fg)}"},{"filePath":"figures.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7azYYmg8.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7YjYYmg8.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7aDYYmg8.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7ZjYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7azYYmg8.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7YjYYmg8.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7aDYYmg8.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Caveat';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/caveat/v23/Wnz6HAc5bAfYB2Q7ZjYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--nash-font-hand: 'Caveat', 'Bradley Hand', 'Segoe Print', cursive;--nash-fig-ink: #314868;--nash-fig-strong: #01051E;--nash-fig-soft: #5A7498;--nash-fig-pencil: #B1C4DC;--nash-fig-paper: #FFFFFF;--nash-fig-wash: rgba(11, 31, 58, 0.045);--nash-fig-shade: rgba(11, 31, 58, 0.10);--nash-fig-halo: rgba(108, 216, 0, 0.40);--nash-fig-grid: rgba(11, 31, 58, 0.085)}.dark{--nash-fig-ink: #B1C4DC;--nash-fig-strong: #FFFFFF;--nash-fig-soft: #7A8BA6;--nash-fig-pencil: #46618A;--nash-fig-paper: #050B25;--nash-fig-wash: rgba(177, 196, 220, 0.055);--nash-fig-shade: rgba(177, 196, 220, 0.14);--nash-fig-halo: rgba(201, 255, 0, 0.22);--nash-fig-grid: rgba(177, 196, 220, 0.085)}.nash-fig-block{margin:28px 0 32px}.nash-fig-caption{margin:10px 2px 0!important;font-size:13px;line-height:1.5;color:var(--nash-fg-muted);text-wrap:pretty}.nash-fig{--nash-fig-s: 0;--nash-fig-e: 0;--nash-fig-c1: 0;--nash-fig-c2: 0;--nash-fig-c3: 0;--nash-fig-c4: 0;--nash-fig-c5: 0;--nash-fig-c6: 0;--nash-fig-c7: 0;--nash-fig-c8: 0;position:relative;border:1px solid var(--nash-border);border-radius:12px;background-color:var(--nash-fig-paper);background-image:radial-gradient(var(--nash-fig-grid) 1px, transparent 1.4px);background-size:18px 18px;color:var(--nash-fig-ink);font-size:13px;line-height:1.4;container-type:inline-size;overflow:hidden}.nash-fig-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:14px 18px 0}.nash-fig-eyebrow{font:500 10.5px/1.3 var(--nash-font-mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--nash-fig-soft)}.nash-fig-seg,.nash-fig-pills{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--nash-border);border-radius:18px;background:var(--nash-fig-paper)}.nash-fig-seg{margin-left:auto}.nash-fig-pills{align-items:center;margin:14px 18px 0}.nash-fig-pills-label{padding:5px 6px 5px 11px;font-size:12.5px;line-height:1.3;color:var(--nash-fig-ink)}.nash-fig-opt,.nash-fig-step[data-ui=\"pill\"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.nash-fig-opt+label,.nash-fig-step[data-ui=\"pill\"]+label{padding:5px 13px;border-radius:999px;font-size:12.5px;line-height:1.3;color:var(--nash-fig-soft);cursor:pointer;user-select:none;transition:color 160ms var(--nash-ease), background 160ms var(--nash-ease)}.nash-fig-opt+label:hover,.nash-fig-step[data-ui=\"pill\"]+label:hover{color:var(--nash-fig-strong)}.nash-fig-opt:checked+label,.nash-fig-step[data-ui=\"pill\"]:checked+label{background:var(--nash-surface-3);color:var(--nash-fig-strong)}.nash-fig-opt:focus-visible+label,.nash-fig-step[data-ui=\"pill\"]:focus-visible+label{outline:2px solid var(--nash-accent);outline-offset:2px}.nash-fig-scene{display:none}.nash-fig:has(.nash-fig-opt[data-opt=\"1\"]:checked) .nash-fig-scene[data-opt=\"1\"],.nash-fig:has(.nash-fig-opt[data-opt=\"2\"]:checked) .nash-fig-scene[data-opt=\"2\"],.nash-fig:has(.nash-fig-opt[data-opt=\"3\"]:checked) .nash-fig-scene[data-opt=\"3\"],.nash-fig:has(.nash-fig-opt[data-opt=\"4\"]:checked) .nash-fig-scene[data-opt=\"4\"],.nash-fig:has(.nash-fig-opt[data-opt=\"5\"]:checked) .nash-fig-scene[data-opt=\"5\"],.nash-fig:has(.nash-fig-opt[data-opt=\"6\"]:checked) .nash-fig-scene[data-opt=\"6\"]{display:block}.nash-fig-scroll{overflow-x:auto}.nash-fig-scroll:focus-visible{outline:2px solid var(--nash-accent);outline-offset:-2px}.nash-fig-canvas{--nash-fig-u: clamp(0.86px, calc(100cqw / var(--nash-fig-w, 720)), 1.16px);position:relative;aspect-ratio:var(--nash-fig-ar, 2);min-width:calc(var(--nash-fig-w, 720) * 0.86px)}.nash-fig-canvas>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.nash-fig-ink,.nash-fig-pencil,.nash-fig-rule,.nash-fig-flash,.nash-fig-halo{fill:none;stroke-linecap:round;stroke-linejoin:round}.nash-fig-ink{stroke:var(--nash-fig-ink);stroke-width:1.6}.nash-fig-ink[data-w=\"bold\"]{stroke-width:2.3}.nash-fig-ink[data-w=\"thin\"]{stroke-width:1.15}.nash-fig-ink[data-tone=\"soft\"]{stroke:var(--nash-fig-soft)}.nash-fig-ink[data-tone=\"strong\"]{stroke:var(--nash-fig-strong)}.nash-fig-pencil{stroke:var(--nash-fig-pencil);stroke-width:1.1;stroke-dasharray:2 5}.nash-fig-rule{stroke:var(--nash-border-strong);stroke-width:1;stroke-linecap:butt}.nash-fig-flash{stroke:var(--nash-accent);stroke-width:2.2}.nash-fig-halo{stroke:var(--nash-fig-halo);stroke-width:9}.nash-fig-fill{fill:var(--nash-fig-ink);stroke:none}.nash-fig-fill[data-tone=\"paper\"]{fill:var(--nash-fig-paper)}.nash-fig-fill[data-tone=\"soft\"]{fill:var(--nash-fig-soft)}.nash-fig-fill[data-tone=\"strong\"]{fill:var(--nash-fig-strong)}.nash-fig-fill[data-tone=\"wash\"]{fill:var(--nash-fig-wash)}.nash-fig-fill[data-tone=\"shade\"]{fill:var(--nash-fig-shade)}.nash-fig-fill[data-tone=\"flash\"]{fill:var(--nash-accent)}.nash-fig-fill[data-tone=\"halo\"]{fill:var(--nash-fig-halo)}.nash-fig-t,.nash-fig-card{position:absolute;font-size:calc(12.5 * var(--nash-fig-u));line-height:1.25;color:var(--nash-fig-ink);pointer-events:none}.nash-fig-t{transform:translate(var(--nash-fig-ax, 0%), -50%) rotate(var(--nash-fig-r, 0deg));white-space:nowrap;text-shadow:0 0 3px var(--nash-fig-paper), 0 0 3px var(--nash-fig-paper),\n 0 0 5px var(--nash-fig-paper), 0 0 5px var(--nash-fig-paper)}.nash-fig-t[data-a=\"m\"]{--nash-fig-ax: -50%;text-align:center}.nash-fig-t[data-a=\"e\"]{--nash-fig-ax: -100%;text-align:right}.nash-fig-t[data-wrap]{white-space:normal;width:calc(var(--nash-fig-tw) * var(--nash-fig-u))}.nash-fig-card{display:flex;flex-direction:column;gap:calc(3 * var(--nash-fig-u));width:calc(var(--nash-fig-tw) * var(--nash-fig-u))}.nash-fig-card[data-a=\"m\"]{transform:translateX(-50%);text-align:center}.nash-fig-card>span{display:block}.nash-fig [data-k=\"strong\"]{color:var(--nash-fig-strong);font-weight:560}.nash-fig [data-k=\"soft\"]{color:var(--nash-fig-soft);font-size:calc(11.8 * var(--nash-fig-u))}.nash-fig [data-k=\"mono\"],.nash-fig-m{font-family:var(--nash-font-mono);font-size:calc(11.2 * var(--nash-fig-u, 1px));letter-spacing:-0.02em}.nash-fig [data-k=\"eyebrow\"],.nash-fig [data-k=\"flash\"]{font-family:var(--nash-font-mono);font-size:calc(9.5 * var(--nash-fig-u));font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--nash-fig-soft)}.nash-fig [data-k=\"flash\"]{font-weight:600;color:var(--nash-accent)}.nash-fig [data-k=\"hand\"]{font-family:var(--nash-font-hand);font-size:calc(18.5 * var(--nash-fig-u));font-weight:500;line-height:1.02;color:var(--nash-fig-ink)}.nash-fig [data-k=\"hand\"] .nash-fig-m{font-size:0.62em}.nash-fig-cap-body .nash-fig-m{font-size:0.9em;color:var(--nash-fig-strong)}.nash-fig-scope{--nash-fig-s: 0;--nash-fig-p: 0;--nash-fig-e: var(--nash-fig-s);--nash-fig-now: var(--nash-fig-x0, 0%)}.nash-fig-scope[data-story]{--nash-fig-e: max(var(--nash-fig-s), var(--nash-fig-p))}.nash-fig-scope:has(.nash-fig-step[data-step=\"1\"]:checked){--nash-fig-s: 1;--nash-fig-p: 1;--nash-fig-now: var(--nash-fig-x1)}.nash-fig-scope:has(.nash-fig-step[data-step=\"2\"]:checked){--nash-fig-s: 2;--nash-fig-p: 2;--nash-fig-now: var(--nash-fig-x2)}.nash-fig-scope:has(.nash-fig-step[data-step=\"3\"]:checked){--nash-fig-s: 3;--nash-fig-p: 3;--nash-fig-now: var(--nash-fig-x3)}.nash-fig-scope:has(.nash-fig-step[data-step=\"4\"]:checked){--nash-fig-s: 4;--nash-fig-p: 4;--nash-fig-now: var(--nash-fig-x4)}.nash-fig-scope:has(.nash-fig-step[data-step=\"5\"]:checked){--nash-fig-s: 5;--nash-fig-p: 5;--nash-fig-now: var(--nash-fig-x5)}.nash-fig-scope:has(.nash-fig-step[data-step=\"6\"]:checked){--nash-fig-s: 6;--nash-fig-p: 6;--nash-fig-now: var(--nash-fig-x6)}.nash-fig-scope:has(.nash-fig-step[data-step=\"7\"]:checked){--nash-fig-s: 7;--nash-fig-p: 7;--nash-fig-now: var(--nash-fig-x7)}.nash-fig-scope:has(.nash-fig-step[data-step=\"8\"]:checked){--nash-fig-s: 8;--nash-fig-p: 8;--nash-fig-now: var(--nash-fig-x8)}.nash-fig-scope:has(.nash-fig-step[data-step=\"9\"]:checked){--nash-fig-s: 9;--nash-fig-p: 9;--nash-fig-now: var(--nash-fig-x9)}.nash-fig-scope:has(.nash-fig-step[data-step=\"10\"]:checked){--nash-fig-s: 10;--nash-fig-p: 10;--nash-fig-now: var(--nash-fig-x10)}.nash-fig-scope:has(.nash-fig-step[data-step=\"11\"]:checked){--nash-fig-s: 11;--nash-fig-p: 11;--nash-fig-now: var(--nash-fig-x11)}.nash-fig-scope:has(.nash-fig-step[data-step=\"12\"]:checked){--nash-fig-s: 12;--nash-fig-p: 12;--nash-fig-now: var(--nash-fig-x12)}.nash-fig-scope:has(.nash-fig-step[data-step=\"13\"]:checked){--nash-fig-s: 13;--nash-fig-p: 13;--nash-fig-now: var(--nash-fig-x13)}@media (hover: hover){.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"0\"]:hover){--nash-fig-s: 0;--nash-fig-now: var(--nash-fig-x0)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"1\"]:hover){--nash-fig-s: 1;--nash-fig-now: var(--nash-fig-x1)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"2\"]:hover){--nash-fig-s: 2;--nash-fig-now: var(--nash-fig-x2)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"3\"]:hover){--nash-fig-s: 3;--nash-fig-now: var(--nash-fig-x3)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"4\"]:hover){--nash-fig-s: 4;--nash-fig-now: var(--nash-fig-x4)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"5\"]:hover){--nash-fig-s: 5;--nash-fig-now: var(--nash-fig-x5)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"6\"]:hover){--nash-fig-s: 6;--nash-fig-now: var(--nash-fig-x6)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"7\"]:hover){--nash-fig-s: 7;--nash-fig-now: var(--nash-fig-x7)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"8\"]:hover){--nash-fig-s: 8;--nash-fig-now: var(--nash-fig-x8)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"9\"]:hover){--nash-fig-s: 9;--nash-fig-now: var(--nash-fig-x9)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"10\"]:hover){--nash-fig-s: 10;--nash-fig-now: var(--nash-fig-x10)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"11\"]:hover){--nash-fig-s: 11;--nash-fig-now: var(--nash-fig-x11)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"12\"]:hover){--nash-fig-s: 12;--nash-fig-now: var(--nash-fig-x12)}.nash-fig-scope:has(.nash-fig-canvas:hover :is(.nash-fig-hit,.nash-fig-step)[data-step=\"13\"]:hover){--nash-fig-s: 13;--nash-fig-now: var(--nash-fig-x13)}}@supports not selector(:has(*)){.nash-fig-scope[data-start=\"1\"]{--nash-fig-s: 1;--nash-fig-now: var(--nash-fig-x1)}.nash-fig-scope[data-start=\"2\"]{--nash-fig-s: 2;--nash-fig-now: var(--nash-fig-x2)}.nash-fig-scope[data-start=\"3\"]{--nash-fig-s: 3;--nash-fig-now: var(--nash-fig-x3)}.nash-fig-scope[data-start=\"4\"]{--nash-fig-s: 4;--nash-fig-now: var(--nash-fig-x4)}.nash-fig-scope[data-start=\"5\"]{--nash-fig-s: 5;--nash-fig-now: var(--nash-fig-x5)}.nash-fig-scope[data-start=\"6\"]{--nash-fig-s: 6;--nash-fig-now: var(--nash-fig-x6)}.nash-fig-scope[data-start=\"7\"]{--nash-fig-s: 7;--nash-fig-now: var(--nash-fig-x7)}.nash-fig-scope[data-start=\"8\"]{--nash-fig-s: 8;--nash-fig-now: var(--nash-fig-x8)}.nash-fig-scope[data-start=\"9\"]{--nash-fig-s: 9;--nash-fig-now: var(--nash-fig-x9)}.nash-fig-scope[data-start=\"10\"]{--nash-fig-s: 10;--nash-fig-now: var(--nash-fig-x10)}.nash-fig-scope[data-start=\"11\"]{--nash-fig-s: 11;--nash-fig-now: var(--nash-fig-x11)}.nash-fig-scope[data-start=\"12\"]{--nash-fig-s: 12;--nash-fig-now: var(--nash-fig-x12)}.nash-fig-scope[data-start=\"13\"]{--nash-fig-s: 13;--nash-fig-now: var(--nash-fig-x13)}.nash-fig-scene[data-opt=\"1\"]{display:block}.nash-fig-seg,.nash-fig-pills,.nash-fig-foot,.nash-fig-sw,.nash-fig-step,.nash-fig-hit,.nash-fig-now{display:none}}.nash-fig [data-when]{--nash-fig-from: 0;--nash-fig-until: 99;opacity:calc(\n clamp(0, var(--nash-fig-e) - var(--nash-fig-from) + 1, 1) *\n clamp(0, var(--nash-fig-until) - var(--nash-fig-e) + 1, 1)\n );transition:opacity 240ms var(--nash-ease)}.nash-fig [data-when=\"draw\"]{stroke-dasharray:1 2;stroke-dashoffset:clamp(0px, calc((var(--nash-fig-from) - var(--nash-fig-e)) * 1px), 1px);transition:stroke-dashoffset 520ms var(--nash-ease), opacity 120ms linear}.nash-fig [data-when=\"dim\"]{opacity:calc(\n 0.34 + 0.66 *\n clamp(0, var(--nash-fig-e) - var(--nash-fig-from) + 1, 1) *\n clamp(0, var(--nash-fig-until) - var(--nash-fig-e) + 1, 1)\n )}.nash-fig-hit{position:absolute;cursor:pointer;z-index:2}.nash-fig-step{appearance:none;-webkit-appearance:none;position:absolute;z-index:3;width:calc(24 * var(--nash-fig-u));height:calc(24 * var(--nash-fig-u));margin:0;padding:0;border:0;border-radius:999px;transform:translate(-50%, -50%);background:radial-gradient(circle, var(--nash-fig-soft) 0 21%, transparent 24%);cursor:pointer;transition:background 160ms var(--nash-ease)}.nash-fig-step:hover{background:radial-gradient(circle, var(--nash-fig-strong) 0 26%, transparent 29%)}.nash-fig-step:checked{background:radial-gradient(\n circle,\n var(--nash-fig-strong) 0 24%,\n transparent 27% 40%,\n var(--nash-fig-strong) 42% 49%,\n transparent 52%\n )}.nash-fig-step:focus-visible{outline:2px solid var(--nash-accent);outline-offset:1px}.nash-fig-step[data-ui=\"box\"]{transform:none;border-radius:8px;background:none}.nash-fig-step[data-ui=\"box\"]:hover{background:var(--nash-fig-wash)}.nash-fig-step[data-ui=\"box\"]:checked{background:none}.nash-fig-step[data-ui=\"box\"]:focus-visible{outline-offset:3px}.nash-fig-now{position:absolute;top:var(--nash-fig-now-top, 0%);bottom:var(--nash-fig-now-bottom, 0%);left:var(--nash-fig-now);width:0;border-left:1px solid var(--nash-border-strong);pointer-events:none;transition:left 420ms var(--nash-ease)}.nash-fig-now[data-axis=\"y\"]{top:var(--nash-fig-now);bottom:auto;width:auto;border:0;border-radius:6px;background:var(--nash-fig-wash);transform:translateY(-50%);transition:top 320ms var(--nash-ease)}.nash-fig:has(.nash-fig-sw[data-sw=\"1\"]:checked){--nash-fig-c1: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"2\"]:checked){--nash-fig-c2: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"3\"]:checked){--nash-fig-c3: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"4\"]:checked){--nash-fig-c4: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"5\"]:checked){--nash-fig-c5: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"6\"]:checked){--nash-fig-c6: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"7\"]:checked){--nash-fig-c7: 1}.nash-fig:has(.nash-fig-sw[data-sw=\"8\"]:checked){--nash-fig-c8: 1}.nash-fig [data-show]{transition:opacity 260ms var(--nash-ease)}.nash-fig-sw{appearance:none;-webkit-appearance:none;position:absolute;z-index:3;width:calc(var(--nash-fig-r, 13) * 2 * var(--nash-fig-u));height:calc(var(--nash-fig-r, 13) * 2 * var(--nash-fig-u));margin:0;padding:0;border:0;border-radius:999px;transform:translate(-50%, -50%);box-shadow:inset 0 0 0 1px var(--nash-border-strong);background:radial-gradient(circle closest-side, transparent 0 30%, var(--nash-fig-soft) 33% 41%, transparent 44%);cursor:pointer;transition:background 160ms var(--nash-ease), box-shadow 160ms var(--nash-ease)}.nash-fig-sw:checked{background:radial-gradient(circle closest-side, var(--nash-fig-ink) 0 35%, transparent 38%)}.nash-fig-sw:hover{box-shadow:inset 0 0 0 1px var(--nash-fig-soft)}.nash-fig-sw:checked:hover{background:radial-gradient(circle closest-side, var(--nash-fig-strong) 0 38%, transparent 41%)}.nash-fig-sw:focus-visible{outline:2px solid var(--nash-accent);outline-offset:1px}.nash-fig-caps{display:grid;padding:4px 18px 0}.nash-fig-cap{grid-area:1 / 1;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 15.5rem);gap:8px 28px;align-items:start;--nash-fig-at: 0;opacity:clamp(\n 0,\n 1 - max(var(--nash-fig-s) - var(--nash-fig-at), var(--nash-fig-at) - var(--nash-fig-s)),\n 1\n );transition:opacity 200ms var(--nash-ease);pointer-events:none}.nash-fig-cap-tag{display:block;margin-bottom:4px;font:500 12.5px/1.3 var(--nash-font-mono);color:var(--nash-fig-strong)}.nash-fig-cap-tag[data-tone=\"flash\"]{color:var(--nash-accent)}.nash-fig-cap-body{display:block;max-width:34rem;font-size:14px;line-height:1.5;color:var(--nash-fg-2);text-wrap:pretty}.nash-fig-cap-wire{display:block;padding:2px 0 2px 14px;border-left:1px solid var(--nash-border-strong)}.nash-fig-cap-wire b{display:block;margin-bottom:3px;font:500 9.5px/1.3 var(--nash-font-mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--nash-fig-soft)}.nash-fig-cap-wire span{display:block;font:400 11.5px/1.5 var(--nash-font-mono);color:var(--nash-fig-ink);overflow-wrap:anywhere}.nash-fig-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:12px 18px 14px;font-size:12px;color:var(--nash-fig-soft)}.nash-fig-foot[data-for=\"narrow\"]{display:none}.nash-fig-caps:last-child,.nash-fig-caps:has(+.nash-fig-foot[data-for=\"narrow\"]){padding-bottom:16px}.nash-fig-hint{margin-left:auto}.nash-fig-hint[data-for=\"narrow\"]{display:none}.nash-fig-nav{display:inline-grid}.nash-fig-nav>label,.nash-fig-nav>span{grid-area:1 / 1;display:none;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--nash-border-strong);border-radius:999px;font-size:12.5px;line-height:1.3;color:var(--nash-fig-ink);white-space:nowrap;user-select:none}.nash-fig-nav>label{cursor:pointer}.nash-fig-nav>label:hover{border-color:var(--nash-fig-soft);color:var(--nash-fig-strong)}.nash-fig-nav>span{opacity:0.4}.nash-fig-scope:has(.nash-fig-step[data-step=\"0\"]:checked) .nash-fig-nav>[data-step=\"0\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"1\"]:checked) .nash-fig-nav>[data-step=\"1\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"2\"]:checked) .nash-fig-nav>[data-step=\"2\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"3\"]:checked) .nash-fig-nav>[data-step=\"3\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"4\"]:checked) .nash-fig-nav>[data-step=\"4\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"5\"]:checked) .nash-fig-nav>[data-step=\"5\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"6\"]:checked) .nash-fig-nav>[data-step=\"6\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"7\"]:checked) .nash-fig-nav>[data-step=\"7\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"8\"]:checked) .nash-fig-nav>[data-step=\"8\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"9\"]:checked) .nash-fig-nav>[data-step=\"9\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"10\"]:checked) .nash-fig-nav>[data-step=\"10\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"11\"]:checked) .nash-fig-nav>[data-step=\"11\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"12\"]:checked) .nash-fig-nav>[data-step=\"12\"],.nash-fig-scope:has(.nash-fig-step[data-step=\"13\"]:checked) .nash-fig-nav>[data-step=\"13\"]{display:inline-flex}@container (max-width: 620px){.nash-fig-cap{grid-template-columns:minmax(0, 1fr)}.nash-fig-hint[data-for=\"wide\"]{display:none}.nash-fig-hint[data-for=\"narrow\"]{display:inline;margin-left:0}.nash-fig-foot[data-for=\"narrow\"]{display:flex;padding-top:0}}@media (prefers-reduced-motion: reduce){.nash-fig *,.nash-fig *::before,.nash-fig *::after{transition:none!important;animation:none!important}}"}],"page":{"pagePath":"api-reference/route/assign-route","slug":"/api-reference/route/assign-route","pageMetadata":{"openapi":"post /v1/routes/{id}/assign","title":"Assign or Reassign a Route","description":"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.","href":"/api-reference/route/assign-route"},"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: \"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\"\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={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this endpoint to set (or change) who fulfills a route. You can target any of these:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Provider`}),` (`,_jsx(_components.code,{children:`providerId`}),`) — an external delivery provider (e.g. `,_jsx(_components.code,{children:`uber`}),`). Selects the route’s successful quote for that provider.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Driver group`}),` (`,_jsx(_components.code,{children:`driverGroupId`}),`) — a contract. Selects the route’s successful quote for that contract.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Courier`}),` (`,_jsx(_components.code,{children:`courierId`}),`) — an individual driver. Must belong to the route’s driver group.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Vehicle`}),` (`,_jsx(_components.code,{children:`vehicleId`}),`) — a vehicle. Must be assigned to the route’s driver group (contract).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`driverGroupId`}),`, `,_jsx(_components.code,{children:`courierId`}),`, and `,_jsx(_components.code,{children:`vehicleId`}),` accept either an internal Nash id or your own external id. Provide at least one target; you may combine a courier and a vehicle.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pre-dispatch-vs-post-dispatch`,children:`Pre-dispatch vs. post-dispatch`}),`\n`,_jsx(_components.p,{children:`The endpoint behaves differently depending on whether the route has already been dispatched:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pre-dispatch`}),` — the route’s assignment is updated in place.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Post-dispatch`}),` — the active assignment is cancelled, live deliveries are cancelled, tasks are recreated and re-quoted, a fresh route assignment is created, and the requested target is applied.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`In both cases the updated route is returned.`}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Provide at least one target (`,_jsx(_components.code,{children:`providerId`}),`, `,_jsx(_components.code,{children:`driverGroupId`}),`, `,_jsx(_components.code,{children:`courierId`}),`, or `,_jsx(_components.code,{children:`vehicleId`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Assigning by `,_jsx(_components.strong,{children:`provider`}),` or `,_jsx(_components.strong,{children:`driver group`}),` selects that target’s successful quote on the route — a successful quote for it must already exist.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`courier`}),` must belong to the route’s driver group.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`vehicle`}),` must be assigned to the route’s driver group (contract).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[`Failed assignments return `,_jsx(_components.code,{children:`400 Bad Request`}),` with a body of shape `,_jsx(_components.code,{children:`{ \"error\": { \"code\", \"message\", \"details\": { \"reason\" } }, \"response_status\", \"RequestID\" }`}),`. Common reasons:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`reason`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`courier_not_assigned_to_driver_group`})}),_jsx(_components.td,{children:`The courier isn’t a member of the route’s driver group. Move the route to a group the courier belongs to, or add the courier to that group.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vehicle_not_assigned_to_contract`})}),_jsx(_components.td,{children:`The vehicle isn’t assigned to the route’s driver group (contract).`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A request with no target fails validation with `,_jsx(_components.code,{children:`422 Unprocessable Content`}),`.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`To assign a route using your own identifier instead of the Nash route id, use `,_jsx(_components.a,{href:`/api-reference/route/assign-route-by-external-identifier`,children:`Assign or Reassign a Route by external id`}),`.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"openapi":"post /v1/routes/{id}/assign","title":"Assign or Reassign a Route","description":"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.","href":"/api-reference/route/assign-route"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Pre-dispatch vs. post-dispatch","slug":"pre-dispatch-vs-post-dispatch","depth":2,"children":[]},{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/nashtechnologies/1acdd5b2b4feac91/scripts/webflow-sync.js","/_mintlify/custom/nashtechnologies/f04ecff2e983533c/js/nash-docs.js","/_mintlify/custom/nashtechnologies/d62e3c84f0cc9f86/js/release-notes.js"],"openApiReferenceData":{"operation":{"tags":["Route"],"summary":"Assign or Reassign a Route","description":"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.","operationId":"routes_v1_assign_route_routes__string_id__assign_post","parameters":["76072231-eaee-446c-a89b-0738c2d27022"],"requestBody":"a9a1ea2c-8996-42a9-981c-9398e450a4d8","responses":{"200":"afb2298b-da7f-4d16-98fb-0a4448788da2","422":"c123042f-dfcd-46c5-ae17-835202cc0ae2"},"method":"post","type":"path","servers":["4e2fe9bd-c2e1-4831-896f-aa4e009bffa9","3961a575-404d-4652-8ff0-e9d3c19c1aa8","6efa42bc-fbc0-41a8-bbc0-4ff30ac1ac61","2a7a777b-60a5-4fbd-abfb-6f3ef74e21c0"],"security":[],"path":"/v1/routes/{id}/assign","baseUrlOptions":["https://api.sandbox.usenash.com","https://api.sandbox.ap-southeast-2.usenash.com","https://api.usenash.com","https://api.ap-southeast-2.usenash.com"],"title":"Assign or Reassign a Route","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"76072231-eaee-446c-a89b-0738c2d27022":{"name":"id","in":"path","description":"Route ID","required":true,"schema":{"title":"Id","type":"string","description":"Route ID","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"title":"AssignRouteInputSerializer","type":"object","properties":{"providerId":{"oneOf":[{"type":"string","title":"Providerid","description":"Provider id to assign. Selects the route's successful quote for this provider.","example":"uber","uniqueKey":"providerId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Providerid","description":"Provider id to assign. Selects the route's successful quote for this provider.","example":"uber","uniqueKey":"providerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"providerId","typeLabel":"string | null"},"driverGroupId":{"oneOf":[{"type":"string","title":"Drivergroupid","description":"Driver group/Contract id (internal or external) to assign. Selects the route's successful quote for this contract.","example":"cntr_7mP3xVt9Nk8sRfWzY2hLbQ","uniqueKey":"driverGroupId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Drivergroupid","description":"Driver group/Contract id (internal or external) to assign. Selects the route's successful quote for this contract.","example":"cntr_7mP3xVt9Nk8sRfWzY2hLbQ","uniqueKey":"driverGroupId.oneOf.1","typeLabel":"null"}],"uniqueKey":"driverGroupId","typeLabel":"string | null"},"courierId":{"oneOf":[{"type":"string","title":"Courierid","description":"Courier/Driver id (internal or external) to assign to the route. The courier must belong to the route's driver group.","example":"cor_9dK2mNp7xVt3RfWzY8sLbQ","uniqueKey":"courierId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Courierid","description":"Courier/Driver id (internal or external) to assign to the route. The courier must belong to the route's driver group.","example":"cor_9dK2mNp7xVt3RfWzY8sLbQ","uniqueKey":"courierId.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierId","typeLabel":"string | null"},"vehicleId":{"oneOf":[{"type":"string","title":"Vehicleid","description":"Vehicle id (internal or external) to assign to the route. The vehicle must be assigned to the route's driver group (contract).","example":"veh_4hL8pXq2sVn6RtY3wCbD9M","uniqueKey":"vehicleId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Vehicleid","description":"Vehicle id (internal or external) to assign to the route. The vehicle must be assigned to the route's driver group (contract).","example":"veh_4hL8pXq2sVn6RtY3wCbD9M","uniqueKey":"vehicleId.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicleId","typeLabel":"string | null"}},"description":"Input for assigning or reassigning a route.\n\nProvide a provider, a driver group (contract), a courier, and/or a vehicle;\ndriver group / courier / vehicle ids may be internal or external. Pre-dispatch the assignment\nis updated in place; post-dispatch the route is reassigned (cancel live deliveries, recreate\ntasks, re-quote) and the new target applied.","uniqueKey":"","typeLabel":"AssignRouteInputSerializer · object"},"examples":{"Example":{"title":"Example","value":{"providerId":"uber","driverGroupId":"cntr_7mP3xVt9Nk8sRfWzY2hLbQ","courierId":"cor_9dK2mNp7xVt3RfWzY8sLbQ","vehicleId":"veh_4hL8pXq2sVn6RtY3wCbD9M"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"afb2298b-da7f-4d16-98fb-0a4448788da2":{"description":"OK","content":{"application/json":{"schema":{"title":"RouteSerializer","required":["id","portalUrl","type","stops"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Unique identifier for the route.","example":"rte_JphRWDiEosGpXuxwgaYfY3","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"portalUrl":{"title":"Portalurl","type":"string","description":"Portal URL of the route.","example":"https://portal.usenash.com/routes/rte_JphRWDiEosGpXuxwgaYfY3","isRequired":true,"uniqueKey":"portalUrl","typeLabel":"string"},"type":{"title":"Type","type":"string","description":"Type of the route, indicating the pickup/dropoff structure.","example":"SINGLE_PICKUP_MULTIPLE_DROPOFFS","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"stops":{"title":"Stops","type":"array","items":{"title":"RouteStopSerializer","required":["stopType","objectIds","location"],"type":"object","properties":{"stopType":{"title":"Stoptype","type":"string","description":"Type of the stop.","example":"PICKUP","isRequired":true,"uniqueKey":"stops.items.[INDEX].stopType","typeLabel":"string"},"objectIds":{"title":"Objectids","type":"array","items":{"type":"string","uniqueKey":"stops.items.[INDEX].objectIds.items.[INDEX]","typeLabel":"string"},"description":"List of object IDs (e.g., order IDs, store location IDs) associated with this stop.","example":["ord_Qr5bVt8WiByGh66z2g7xEu","ord_WJFuooSiRvFCaceGZjpbqs"],"isRequired":true,"uniqueKey":"stops.items.[INDEX].objectIds","typeLabel":"string[]"},"location":{"oneOf":[{"type":"object","title":"LatLngSerializer","description":"Geographic location of the stop. Can be null for non-location based stops like breaks.","required":["lat","lng"],"properties":{"lat":{"title":"Lat","type":"number","description":"Latitude coordinate.","example":45.558214,"isRequired":true,"uniqueKey":"stops.items.[INDEX].location.oneOf.0.lat","typeLabel":"number"},"lng":{"title":"Lng","type":"number","description":"Longitude coordinate.","example":-122.587074,"isRequired":true,"uniqueKey":"stops.items.[INDEX].location.oneOf.0.lng","typeLabel":"number"}},"isRequired":true,"uniqueKey":"stops.items.[INDEX].location.oneOf.0","typeLabel":"LatLngSerializer · object"},{"type":"null","description":"Geographic location of the stop. Can be null for non-location based stops like breaks.","isRequired":true,"uniqueKey":"stops.items.[INDEX].location.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"stops.items.[INDEX].location","typeLabel":"LatLngSerializer · object | null"},"arrivalTime":{"oneOf":[{"type":"string","title":"Arrivaltime","description":"Estimated arrival time at the stop (UTC).","example":"2025-04-25T03:27:00","uniqueKey":"stops.items.[INDEX].arrivalTime.oneOf.0","typeLabel":"string"},{"type":"null","title":"Arrivaltime","description":"Estimated arrival time at the stop (UTC).","example":"2025-04-25T03:27:00","uniqueKey":"stops.items.[INDEX].arrivalTime.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].arrivalTime","typeLabel":"string | null"},"departTime":{"oneOf":[{"type":"string","title":"Departtime","description":"Estimated departure time from the stop (UTC).","example":"2025-04-25T03:30:00","uniqueKey":"stops.items.[INDEX].departTime.oneOf.0","typeLabel":"string"},{"type":"null","title":"Departtime","description":"Estimated departure time from the stop (UTC).","example":"2025-04-25T03:30:00","uniqueKey":"stops.items.[INDEX].departTime.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].departTime","typeLabel":"string | null"},"plannedArrivalTime":{"oneOf":[{"type":"string","title":"Plannedarrivaltime","description":"Snapshot of arrival_time captured pre-dispatch (UTC). Mirrors arrival_time while the route is undispatched, then freezes at dispatch — gives consumers the planned ETA at dispatch even after real-time tracking updates arrival_time.","example":"2025-04-25T03:27:00","uniqueKey":"stops.items.[INDEX].plannedArrivalTime.oneOf.0","typeLabel":"string"},{"type":"null","title":"Plannedarrivaltime","description":"Snapshot of arrival_time captured pre-dispatch (UTC). Mirrors arrival_time while the route is undispatched, then freezes at dispatch — gives consumers the planned ETA at dispatch even after real-time tracking updates arrival_time.","example":"2025-04-25T03:27:00","uniqueKey":"stops.items.[INDEX].plannedArrivalTime.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].plannedArrivalTime","typeLabel":"string | null"},"serviceTime":{"oneOf":[{"type":"integer","title":"Servicetime","description":"Estimated service time spent at the stop (in seconds).","example":360,"uniqueKey":"stops.items.[INDEX].serviceTime.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Servicetime","description":"Estimated service time spent at the stop (in seconds).","example":360,"uniqueKey":"stops.items.[INDEX].serviceTime.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].serviceTime","typeLabel":"integer | null"},"distanceFromPrevious":{"oneOf":[{"type":"integer","title":"Distancefromprevious","description":"Distance traveled from the previous stop (in meters).","example":3376,"uniqueKey":"stops.items.[INDEX].distanceFromPrevious.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Distancefromprevious","description":"Distance traveled from the previous stop (in meters).","example":3376,"uniqueKey":"stops.items.[INDEX].distanceFromPrevious.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].distanceFromPrevious","typeLabel":"integer | null"},"durationFromPrevious":{"oneOf":[{"type":"integer","title":"Durationfromprevious","description":"Travel duration from the previous stop (in seconds).","example":420,"uniqueKey":"stops.items.[INDEX].durationFromPrevious.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Durationfromprevious","description":"Travel duration from the previous stop (in seconds).","example":420,"uniqueKey":"stops.items.[INDEX].durationFromPrevious.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].durationFromPrevious","typeLabel":"integer | null"},"status":{"oneOf":[{"type":"string","title":"Status","description":"Current status of the stop.","example":"PENDING","uniqueKey":"stops.items.[INDEX].status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Status","description":"Current status of the stop.","example":"PENDING","uniqueKey":"stops.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].status","typeLabel":"string | null"},"statusDescription":{"oneOf":[{"type":"string","title":"Statusdescription","description":"Detailed description of the current status of the stop.","example":"leave_unattended","uniqueKey":"stops.items.[INDEX].statusDescription.oneOf.0","typeLabel":"string"},{"type":"null","title":"Statusdescription","description":"Detailed description of the current status of the stop.","example":"leave_unattended","uniqueKey":"stops.items.[INDEX].statusDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].statusDescription","typeLabel":"string | null"},"statusHistory":{"oneOf":[{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].additionalProperties.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].additionalProperties","typeLabel":"string | null"},"uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.0.items.[INDEX]","typeLabel":"object"},"title":"Statushistory","description":"History of status changes for the stop.","example":[{"created_at":"2025-04-25T03:00:00Z","status":"PENDING"},{"created_at":"2025-04-25T03:15:00Z","status":"ENROUTE"},{"created_at":"2025-04-25T03:20:00Z","status":"COMPLETED","status_description":"leave_unattended"}],"uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.0","typeLabel":"Statushistory · object[]"},{"type":"null","title":"Statushistory","description":"History of status changes for the stop.","example":[{"created_at":"2025-04-25T03:00:00Z","status":"PENDING"},{"created_at":"2025-04-25T03:15:00Z","status":"ENROUTE"},{"created_at":"2025-04-25T03:20:00Z","status":"COMPLETED","status_description":"leave_unattended"}],"uniqueKey":"stops.items.[INDEX].statusHistory.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].statusHistory","typeLabel":"Statushistory · object[] | null"},"metadata":{"oneOf":[{"type":"object","title":"Metadata","description":"Additional metadata for this stop.","additionalProperties":true,"uniqueKey":"stops.items.[INDEX].metadata.oneOf.0","typeLabel":"Metadata · object"},{"type":"null","title":"Metadata","description":"Additional metadata for this stop.","uniqueKey":"stops.items.[INDEX].metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].metadata","typeLabel":"Metadata · object | null"},"startedAt":{"oneOf":[{"type":"string","title":"Startedat","description":"Timestamp when the stop entered IN_PROGRESS status (UTC).","example":"2025-04-25T03:27:00Z","uniqueKey":"stops.items.[INDEX].startedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Startedat","description":"Timestamp when the stop entered IN_PROGRESS status (UTC).","example":"2025-04-25T03:27:00Z","uniqueKey":"stops.items.[INDEX].startedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].startedAt","typeLabel":"string | null"},"breakDuration":{"oneOf":[{"type":"integer","title":"Breakduration","description":"Duration in seconds of the break at this stop (for DRIVER_BREAK stops).","uniqueKey":"stops.items.[INDEX].breakDuration.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Breakduration","description":"Duration in seconds of the break at this stop (for DRIVER_BREAK stops).","uniqueKey":"stops.items.[INDEX].breakDuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].breakDuration","typeLabel":"integer | null"},"orders":{"oneOf":[{"type":"array","items":{"title":"StopOrderSerializer","required":["id"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Order ID.","example":"ord_Qr5bVt8WiByGh66z2g7xEu","isRequired":true,"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].id","typeLabel":"string"},"externalId":{"oneOf":[{"type":"string","title":"Externalid","description":"External identifier for the order.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].externalId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Externalid","description":"External identifier for the order.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].externalId.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].externalId","typeLabel":"string | null"},"publicTrackingUrl":{"oneOf":[{"type":"string","title":"Publictrackingurl","description":"Public tracking URL for the order.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].publicTrackingUrl.oneOf.0","typeLabel":"string"},{"type":"null","title":"Publictrackingurl","description":"Public tracking URL for the order.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].publicTrackingUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].publicTrackingUrl","typeLabel":"string | null"},"pod":{"oneOf":[{"type":"array","items":{"title":"ProofOfDeliverySerializer","required":["type"],"type":"object","properties":{"type":{"title":"Type","type":"string","description":"Type of proof of delivery, e.g., 'photo', 'signature', etc.","isRequired":true,"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].type","typeLabel":"string"},"url":{"oneOf":[{"type":"string","title":"Url","description":"URL of the proof of delivery document.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"URL of the proof of delivery document.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].url","typeLabel":"string | null"},"uploadedAt":{"oneOf":[{"type":"string","title":"Uploadedat","description":"Timestamp when the proof of delivery was uploaded.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].uploadedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Uploadedat","description":"Timestamp when the proof of delivery was uploaded.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].uploadedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX].uploadedAt","typeLabel":"string | null"}},"description":"Delivery tracking details for an order at a route stop.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0.items.[INDEX]","typeLabel":"ProofOfDeliverySerializer · object"},"title":"Pod","description":"Proof of delivery data (photos, signature, etc.) if captured.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.0","typeLabel":"ProofOfDeliverySerializer · object[]"},{"type":"null","title":"Pod","description":"Proof of delivery data (photos, signature, etc.) if captured.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].pod","typeLabel":"ProofOfDeliverySerializer · object[] | null"},"orderItems":{"oneOf":[{"type":"array","items":{"title":"OrderItemSerializer","type":"object","properties":{"id":{"oneOf":[{"type":"string","title":"Id","description":"The merchant ID of the item","example":"item-001","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","description":"The merchant ID of the item","example":"item-001","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].id","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"The description of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"The description of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"count":{"oneOf":[{"type":"integer","title":"Count","description":"The quantity of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].count.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Count","description":"The quantity of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].count.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].count","typeLabel":"integer | null"},"valueCents":{"oneOf":[{"type":"integer","title":"Valuecents","description":"The value of the item in cents","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].valueCents.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Valuecents","description":"The value of the item in cents","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].valueCents.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].valueCents","typeLabel":"integer | null"},"barcode":{"oneOf":[{"type":"string","title":"Barcode","description":"Barcode associated with the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].barcode.oneOf.0","typeLabel":"string"},{"type":"null","title":"Barcode","description":"Barcode associated with the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].barcode.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].barcode","typeLabel":"string | null"},"sku":{"oneOf":[{"type":"string","title":"Sku","description":"SKU of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].sku.oneOf.0","typeLabel":"string"},{"type":"null","title":"Sku","description":"SKU of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].sku","typeLabel":"string | null"},"category":{"oneOf":[{"type":"string","title":"Category","description":"The category of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].category.oneOf.0","typeLabel":"string"},{"type":"null","title":"Category","description":"The category of the item","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].category.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].category","typeLabel":"string | null"},"status":{"oneOf":[{"type":"string","title":"Status","description":"Current lifecycle status of the item.","example":"delivered","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Status","description":"Current lifecycle status of the item.","example":"delivered","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].status","typeLabel":"string | null"},"availableQuantity":{"oneOf":[{"type":"integer","title":"Availablequantity","description":"Quantity available after pickup (may differ from count)","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].availableQuantity.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Availablequantity","description":"Quantity available after pickup (may differ from count)","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].availableQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].availableQuantity","typeLabel":"integer | null"},"statusMetadata":{"oneOf":[{"type":"object","title":"ItemStatusMetadataSerializer","description":"Operational metadata tracked during the item's lifecycle.","properties":{"pickedAt":{"oneOf":[{"type":"string","title":"Pickedat","description":"Timestamp when the item was picked up","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.pickedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Pickedat","description":"Timestamp when the item was picked up","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.pickedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.pickedAt","typeLabel":"string | null"},"deliveredAt":{"oneOf":[{"type":"string","title":"Deliveredat","description":"Timestamp when the item was delivered","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.deliveredAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Deliveredat","description":"Timestamp when the item was delivered","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.deliveredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.deliveredAt","typeLabel":"string | null"},"failedAt":{"oneOf":[{"type":"string","title":"Failedat","description":"Timestamp when the item delivery failed","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Failedat","description":"Timestamp when the item delivery failed","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failedAt","typeLabel":"string | null"},"returnedAt":{"oneOf":[{"type":"string","title":"Returnedat","description":"Timestamp when the item was returned","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.returnedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Returnedat","description":"Timestamp when the item was returned","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.returnedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.returnedAt","typeLabel":"string | null"},"failureReason":{"oneOf":[{"type":"string","title":"Failurereason","description":"Reason for delivery failure","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureReason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Failurereason","description":"Reason for delivery failure","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureReason.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureReason","typeLabel":"string | null"},"failureLocation":{"oneOf":[{"type":"string","title":"Failurelocation","description":"Where the failure occurred: 'pickup' or 'dropoff'","example":"dropoff","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureLocation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Failurelocation","description":"Where the failure occurred: 'pickup' or 'dropoff'","example":"dropoff","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureLocation.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0.failureLocation","typeLabel":"string | null"}},"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.0","typeLabel":"ItemStatusMetadataSerializer · object"},{"type":"null","description":"Operational metadata tracked during the item's lifecycle.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusMetadata","typeLabel":"ItemStatusMetadataSerializer · object | null"},"statusHistory":{"oneOf":[{"type":"array","items":{"title":"ItemStatusHistoryEntrySerializer","required":["status","createdAt"],"type":"object","properties":{"status":{"title":"Status","type":"string","description":"Item status at this point in time","example":"picked","isRequired":true,"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].status","typeLabel":"string"},"createdAt":{"title":"Createdat","type":"string","description":"Timestamp of the status change","example":"2025-04-25T03:20:00","isRequired":true,"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].createdAt","typeLabel":"string"},"occurredAt":{"oneOf":[{"type":"string","title":"Occurredat","description":"Time the action happened on the driver's device, when known","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].occurredAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Occurredat","description":"Time the action happened on the driver's device, when known","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].occurredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX].occurredAt","typeLabel":"string | null"}},"description":"A single status change entry in an item's status history.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0.items.[INDEX]","typeLabel":"ItemStatusHistoryEntrySerializer · object"},"title":"Statushistory","description":"History of status changes for this item.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.0","typeLabel":"ItemStatusHistoryEntrySerializer · object[]"},{"type":"null","title":"Statushistory","description":"History of status changes for this item.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].statusHistory","typeLabel":"ItemStatusHistoryEntrySerializer · object[] | null"},"subItems":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].subItems.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Subitems","description":"Nested sub-items with their own status tracking.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].subItems.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Subitems","description":"Nested sub-items with their own status tracking.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].subItems.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX].subItems","typeLabel":"any[] | null"}},"description":"Item with status tracking for route stop webhook payloads.\n\nCombines item definition with lifecycle status from the route state machine.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0.items.[INDEX]","typeLabel":"OrderItemSerializer · object"},"title":"Orderitems","description":"Items with lifecycle status tracking (picked, delivered, failed, etc.).","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.0","typeLabel":"OrderItemSerializer · object[]"},{"type":"null","title":"Orderitems","description":"Items with lifecycle status tracking (picked, delivered, failed, etc.).","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX].orderItems","typeLabel":"OrderItemSerializer · object[] | null"}},"description":"Order information associated with a route stop.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0.items.[INDEX]","typeLabel":"StopOrderSerializer · object"},"title":"Orders","description":"Orders associated with this stop, including tracking URLs and delivery details.","uniqueKey":"stops.items.[INDEX].orders.oneOf.0","typeLabel":"StopOrderSerializer · object[]"},{"type":"null","title":"Orders","description":"Orders associated with this stop, including tracking URLs and delivery details.","uniqueKey":"stops.items.[INDEX].orders.oneOf.1","typeLabel":"null"}],"uniqueKey":"stops.items.[INDEX].orders","typeLabel":"StopOrderSerializer · object[] | null"}},"description":"Represents a single stop within a planned route.","uniqueKey":"stops.items.[INDEX]","typeLabel":"RouteStopSerializer · object"},"description":"Ordered list of stops included in the route.","isRequired":true,"uniqueKey":"stops","typeLabel":"RouteStopSerializer · object[]"},"externalId":{"oneOf":[{"type":"string","title":"Externalid","description":"External Route ID.","example":"rte_JphRWDiEosGpXuxwgaYfY3","uniqueKey":"externalId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Externalid","description":"External Route ID.","example":"rte_JphRWDiEosGpXuxwgaYfY3","uniqueKey":"externalId.oneOf.1","typeLabel":"null"}],"uniqueKey":"externalId","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","title":"Name","description":"Name of the route.","example":"Route 1","uniqueKey":"name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","description":"Name of the route.","example":"Route 1","uniqueKey":"name.oneOf.1","typeLabel":"null"}],"uniqueKey":"name","typeLabel":"string | null"},"courierId":{"oneOf":[{"type":"string","title":"Courierid","description":"Courier ID of the driver assigned to the route.","example":"cor_9dK2mNp7xVt3RfWzY8sLbQ","uniqueKey":"courierId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Courierid","description":"Courier ID of the driver assigned to the route.","example":"cor_9dK2mNp7xVt3RfWzY8sLbQ","uniqueKey":"courierId.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierId","typeLabel":"string | null"},"vehicleId":{"oneOf":[{"type":"string","title":"Vehicleid","description":"Vehicle ID of the vehicle assigned to the route.","example":"veh_4hL8pXq2sVn6RtY3wCbD9M","uniqueKey":"vehicleId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Vehicleid","description":"Vehicle ID of the vehicle assigned to the route.","example":"veh_4hL8pXq2sVn6RtY3wCbD9M","uniqueKey":"vehicleId.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicleId","typeLabel":"string | null"},"courier":{"oneOf":[{"type":"object","title":"CourierSerializer","description":"Courier/driver details for the route.","properties":{"id":{"oneOf":[{"type":"string","title":"Id","uniqueKey":"courier.oneOf.0.id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","uniqueKey":"courier.oneOf.0.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"courier.oneOf.0.id","typeLabel":"string | null"},"firstName":{"oneOf":[{"type":"string","title":"Firstname","uniqueKey":"courier.oneOf.0.firstName.oneOf.0","typeLabel":"string"},{"type":"null","title":"Firstname","uniqueKey":"courier.oneOf.0.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"courier.oneOf.0.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","title":"Lastname","uniqueKey":"courier.oneOf.0.lastName.oneOf.0","typeLabel":"string"},{"type":"null","title":"Lastname","uniqueKey":"courier.oneOf.0.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"courier.oneOf.0.lastName","typeLabel":"string | null"},"phoneNumber":{"oneOf":[{"type":"string","title":"Phonenumber","uniqueKey":"courier.oneOf.0.phoneNumber.oneOf.0","typeLabel":"string"},{"type":"null","title":"Phonenumber","uniqueKey":"courier.oneOf.0.phoneNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"courier.oneOf.0.phoneNumber","typeLabel":"string | null"}},"uniqueKey":"courier.oneOf.0","typeLabel":"CourierSerializer · object"},{"type":"null","description":"Courier/driver details for the route.","uniqueKey":"courier.oneOf.1","typeLabel":"null"}],"uniqueKey":"courier","typeLabel":"CourierSerializer · object | null"},"driverGroup":{"oneOf":[{"type":"object","title":"DriverGroupSerializer","description":"Driver group assigned to the route.","properties":{"id":{"oneOf":[{"type":"string","title":"Id","uniqueKey":"driverGroup.oneOf.0.id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","uniqueKey":"driverGroup.oneOf.0.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"driverGroup.oneOf.0.id","typeLabel":"string | null"},"externalId":{"oneOf":[{"type":"string","title":"Externalid","uniqueKey":"driverGroup.oneOf.0.externalId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Externalid","uniqueKey":"driverGroup.oneOf.0.externalId.oneOf.1","typeLabel":"null"}],"uniqueKey":"driverGroup.oneOf.0.externalId","typeLabel":"string | null"}},"uniqueKey":"driverGroup.oneOf.0","typeLabel":"DriverGroupSerializer · object"},{"type":"null","description":"Driver group assigned to the route.","uniqueKey":"driverGroup.oneOf.1","typeLabel":"null"}],"uniqueKey":"driverGroup","typeLabel":"DriverGroupSerializer · object | null"},"courierPosition":{"oneOf":[{"type":"object","title":"CourierPositionSerializer","description":"Current GPS position of the assigned courier.","required":["lat","lng"],"properties":{"lat":{"title":"Lat","type":"number","description":"Latitude coordinate.","isRequired":true,"uniqueKey":"courierPosition.oneOf.0.lat","typeLabel":"number"},"lng":{"title":"Lng","type":"number","description":"Longitude coordinate.","isRequired":true,"uniqueKey":"courierPosition.oneOf.0.lng","typeLabel":"number"},"updatedAt":{"oneOf":[{"type":"string","title":"Updatedat","description":"Timestamp when the position was last updated on the server.","uniqueKey":"courierPosition.oneOf.0.updatedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Updatedat","description":"Timestamp when the position was last updated on the server.","uniqueKey":"courierPosition.oneOf.0.updatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.updatedAt","typeLabel":"string | null"},"capturedAt":{"oneOf":[{"type":"string","title":"Capturedat","description":"Timestamp when the GPS position was captured on driver's device.","uniqueKey":"courierPosition.oneOf.0.capturedAt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Capturedat","description":"Timestamp when the GPS position was captured on driver's device.","uniqueKey":"courierPosition.oneOf.0.capturedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.capturedAt","typeLabel":"string | null"},"accuracy":{"oneOf":[{"type":"number","title":"Accuracy","description":"Estimated horizontal accuracy radius in meters.","uniqueKey":"courierPosition.oneOf.0.accuracy.oneOf.0","typeLabel":"number"},{"type":"null","title":"Accuracy","description":"Estimated horizontal accuracy radius in meters.","uniqueKey":"courierPosition.oneOf.0.accuracy.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.accuracy","typeLabel":"number | null"},"heading":{"oneOf":[{"type":"number","title":"Heading","description":"Heading in degrees relative to true north.","uniqueKey":"courierPosition.oneOf.0.heading.oneOf.0","typeLabel":"number"},{"type":"null","title":"Heading","description":"Heading in degrees relative to true north.","uniqueKey":"courierPosition.oneOf.0.heading.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.heading","typeLabel":"number | null"},"speed":{"oneOf":[{"type":"number","title":"Speed","description":"Speed in meters per second.","uniqueKey":"courierPosition.oneOf.0.speed.oneOf.0","typeLabel":"number"},{"type":"null","title":"Speed","description":"Speed in meters per second.","uniqueKey":"courierPosition.oneOf.0.speed.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.speed","typeLabel":"number | null"},"altitude":{"oneOf":[{"type":"number","title":"Altitude","description":"Altitude in meters above sea level.","uniqueKey":"courierPosition.oneOf.0.altitude.oneOf.0","typeLabel":"number"},{"type":"null","title":"Altitude","description":"Altitude in meters above sea level.","uniqueKey":"courierPosition.oneOf.0.altitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.altitude","typeLabel":"number | null"},"altitudeAccuracy":{"oneOf":[{"type":"number","title":"Altitudeaccuracy","description":"Estimated altitude accuracy in meters.","uniqueKey":"courierPosition.oneOf.0.altitudeAccuracy.oneOf.0","typeLabel":"number"},{"type":"null","title":"Altitudeaccuracy","description":"Estimated altitude accuracy in meters.","uniqueKey":"courierPosition.oneOf.0.altitudeAccuracy.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.altitudeAccuracy","typeLabel":"number | null"},"batteryLevel":{"oneOf":[{"type":"number","title":"Batterylevel","description":"Battery level from 0.0 to 1.0, if provided by device.","uniqueKey":"courierPosition.oneOf.0.batteryLevel.oneOf.0","typeLabel":"number"},{"type":"null","title":"Batterylevel","description":"Battery level from 0.0 to 1.0, if provided by device.","uniqueKey":"courierPosition.oneOf.0.batteryLevel.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.batteryLevel","typeLabel":"number | null"},"batteryIsCharging":{"oneOf":[{"type":"boolean","title":"Batteryischarging","description":"Whether the device is currently charging.","uniqueKey":"courierPosition.oneOf.0.batteryIsCharging.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Batteryischarging","description":"Whether the device is currently charging.","uniqueKey":"courierPosition.oneOf.0.batteryIsCharging.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.batteryIsCharging","typeLabel":"boolean | null"},"isMoving":{"oneOf":[{"type":"boolean","title":"Ismoving","description":"Whether the device is currently detected as moving.","uniqueKey":"courierPosition.oneOf.0.isMoving.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Ismoving","description":"Whether the device is currently detected as moving.","uniqueKey":"courierPosition.oneOf.0.isMoving.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition.oneOf.0.isMoving","typeLabel":"boolean | null"}},"uniqueKey":"courierPosition.oneOf.0","typeLabel":"CourierPositionSerializer · object"},{"type":"null","description":"Current GPS position of the assigned courier.","uniqueKey":"courierPosition.oneOf.1","typeLabel":"null"}],"uniqueKey":"courierPosition","typeLabel":"CourierPositionSerializer · object | null"},"vehicle":{"oneOf":[{"type":"object","title":"VehicleSerializer","description":"Vehicle details for the route.","properties":{"licensePlate":{"oneOf":[{"type":"string","title":"Licenseplate","uniqueKey":"vehicle.oneOf.0.licensePlate.oneOf.0","typeLabel":"string"},{"type":"null","title":"Licenseplate","uniqueKey":"vehicle.oneOf.0.licensePlate.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.licensePlate","typeLabel":"string | null"},"make":{"oneOf":[{"type":"string","title":"Make","uniqueKey":"vehicle.oneOf.0.make.oneOf.0","typeLabel":"string"},{"type":"null","title":"Make","uniqueKey":"vehicle.oneOf.0.make.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.make","typeLabel":"string | null"},"model":{"oneOf":[{"type":"string","title":"Model","uniqueKey":"vehicle.oneOf.0.model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model","uniqueKey":"vehicle.oneOf.0.model.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.model","typeLabel":"string | null"},"color":{"oneOf":[{"type":"string","title":"Color","uniqueKey":"vehicle.oneOf.0.color.oneOf.0","typeLabel":"string"},{"type":"null","title":"Color","uniqueKey":"vehicle.oneOf.0.color.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.color","typeLabel":"string | null"},"year":{"oneOf":[{"type":"integer","title":"Year","uniqueKey":"vehicle.oneOf.0.year.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Year","uniqueKey":"vehicle.oneOf.0.year.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.year","typeLabel":"integer | null"},"type":{"oneOf":[{"type":"string","title":"Type","uniqueKey":"vehicle.oneOf.0.type.oneOf.0","typeLabel":"string"},{"type":"null","title":"Type","uniqueKey":"vehicle.oneOf.0.type.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle.oneOf.0.type","typeLabel":"string | null"}},"uniqueKey":"vehicle.oneOf.0","typeLabel":"VehicleSerializer · object"},{"type":"null","description":"Vehicle details for the route.","uniqueKey":"vehicle.oneOf.1","typeLabel":"null"}],"uniqueKey":"vehicle","typeLabel":"VehicleSerializer · object | null"},"providerName":{"oneOf":[{"type":"string","title":"Providername","description":"Name of the delivery provider assigned to this route.","uniqueKey":"providerName.oneOf.0","typeLabel":"string"},{"type":"null","title":"Providername","description":"Name of the delivery provider assigned to this route.","uniqueKey":"providerName.oneOf.1","typeLabel":"null"}],"uniqueKey":"providerName","typeLabel":"string | null"},"shiftId":{"oneOf":[{"type":"string","title":"Shiftid","description":"Shift ID of the shift assigned to the route.","example":"shf_1234567890abcdef12345678","uniqueKey":"shiftId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Shiftid","description":"Shift ID of the shift assigned to the route.","example":"shf_1234567890abcdef12345678","uniqueKey":"shiftId.oneOf.1","typeLabel":"null"}],"uniqueKey":"shiftId","typeLabel":"string | null"},"isDispatched":{"title":"Isdispatched","type":"boolean","description":"Whether the route is dispatched.","default":false,"uniqueKey":"isDispatched","typeLabel":"boolean"},"jobId":{"oneOf":[{"type":"string","title":"Jobid","description":"Dispatched Job ID of this route","example":"job_1234567890abcdef12345678","uniqueKey":"jobId.oneOf.0","typeLabel":"string"},{"type":"null","title":"Jobid","description":"Dispatched Job ID of this route","example":"job_1234567890abcdef12345678","uniqueKey":"jobId.oneOf.1","typeLabel":"null"}],"uniqueKey":"jobId","typeLabel":"string | null"},"routeMetadata":{"oneOf":[{"type":"object","title":"Routemetadata","description":"Additional metadata for the route.","example":{"priority":"high","source":"optimization_engine"},"additionalProperties":true,"uniqueKey":"routeMetadata.oneOf.0","typeLabel":"Routemetadata · object"},{"type":"null","title":"Routemetadata","description":"Additional metadata for the route.","example":{"priority":"high","source":"optimization_engine"},"uniqueKey":"routeMetadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"routeMetadata","typeLabel":"Routemetadata · object | null"},"validationErrors":{"oneOf":[{"type":"object","title":"Validationerrors","description":"Validation errors for the route.","example":{"order_123":"Order 123 has pickup but no dropoff"},"additionalProperties":{"type":"string","uniqueKey":"validationErrors.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"validationErrors.oneOf.0","typeLabel":"Validationerrors · object"},{"type":"null","title":"Validationerrors","description":"Validation errors for the route.","example":{"order_123":"Order 123 has pickup but no dropoff"},"uniqueKey":"validationErrors.oneOf.1","typeLabel":"null"}],"uniqueKey":"validationErrors","typeLabel":"Validationerrors · object | null"},"encodedPolyline":{"oneOf":[{"type":"string","title":"Encodedpolyline","description":"Encoded polyline representing the route geometry.","uniqueKey":"encodedPolyline.oneOf.0","typeLabel":"string"},{"type":"null","title":"Encodedpolyline","description":"Encoded polyline representing the route geometry.","uniqueKey":"encodedPolyline.oneOf.1","typeLabel":"null"}],"uniqueKey":"encodedPolyline","typeLabel":"string | null"},"status":{"oneOf":[{"type":"string","title":"Status","description":"Current status of the route.","example":"CREATED","uniqueKey":"status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Status","description":"Current status of the route.","example":"CREATED","uniqueKey":"status.oneOf.1","typeLabel":"null"}],"uniqueKey":"status","typeLabel":"string | null"},"statusHistory":{"oneOf":[{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"statusHistory.oneOf.0.items.[INDEX].additionalProperties.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"statusHistory.oneOf.0.items.[INDEX].additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"statusHistory.oneOf.0.items.[INDEX].additionalProperties","typeLabel":"string | null"},"uniqueKey":"statusHistory.oneOf.0.items.[INDEX]","typeLabel":"object"},"title":"Statushistory","description":"History of status changes for the route.","example":[{"created_at":"2025-04-25T03:00:00Z","status":"CREATED"},{"created_at":"2025-04-25T03:10:00Z","status":"ASSIGNED"},{"created_at":"2025-04-25T03:15:00Z","status":"STARTED"}],"uniqueKey":"statusHistory.oneOf.0","typeLabel":"Statushistory · object[]"},{"type":"null","title":"Statushistory","description":"History of status changes for the route.","example":[{"created_at":"2025-04-25T03:00:00Z","status":"CREATED"},{"created_at":"2025-04-25T03:10:00Z","status":"ASSIGNED"},{"created_at":"2025-04-25T03:15:00Z","status":"STARTED"}],"uniqueKey":"statusHistory.oneOf.1","typeLabel":"null"}],"uniqueKey":"statusHistory","typeLabel":"Statushistory · object[] | null"}},"description":"Represents a planned sequence of stops for a delivery or batch.","uniqueKey":"","typeLabel":"RouteSerializer · object"},"examples":{"Example":{"title":"Example","value":{"id":"rte_JphRWDiEosGpXuxwgaYfY3","portalUrl":"https://portal.usenash.com/routes/rte_JphRWDiEosGpXuxwgaYfY3","type":"SINGLE_PICKUP_MULTIPLE_DROPOFFS","stops":[{"stopType":"PICKUP","objectIds":["ord_Qr5bVt8WiByGh66z2g7xEu","ord_WJFuooSiRvFCaceGZjpbqs"],"location":{"lat":45.558214,"lng":-122.587074},"arrivalTime":"2025-04-25T03:27:00","departTime":"2025-04-25T03:30:00","plannedArrivalTime":"2025-04-25T03:27:00","serviceTime":360,"distanceFromPrevious":3376,"durationFromPrevious":420,"status":"PENDING","statusDescription":"leave_unattended","statusHistory":[{"created_at":"2025-04-25T03:00:00Z","status":"PENDING"},{"created_at":"2025-04-25T03:15:00Z","status":"ENROUTE"},{"created_at":"2025-04-25T03:20:00Z","status":"COMPLETED","status_description":"leave_unattended"}],"metadata":{},"startedAt":"2025-04-25T03:27:00Z","breakDuration":123,"orders":[{"id":"ord_Qr5bVt8WiByGh66z2g7xEu","externalId":"\u003cstring>","publicTrackingUrl":"\u003cstring>","pod":[{"type":"\u003cstring>","url":"\u003cstring>","uploadedAt":"\u003cstring>"}],"orderItems":[{"id":"item-001","description":"\u003cstring>","count":123,"valueCents":123,"barcode":"\u003cstring>","sku":"\u003cstring>","category":"\u003cstring>","status":"delivered","availableQuantity":123,"statusMetadata":{"pickedAt":"\u003cstring>","deliveredAt":"\u003cstring>","failedAt":"\u003cstring>","returnedAt":"\u003cstring>","failureReason":"\u003cstring>","failureLocation":"dropoff"},"statusHistory":[{"status":"picked","createdAt":"2025-04-25T03:20:00","occurredAt":"\u003cstring>"}],"subItems":["\u003cunknown>"]}]}]}],"externalId":"rte_JphRWDiEosGpXuxwgaYfY3","name":"Route 1","courierId":"cor_9dK2mNp7xVt3RfWzY8sLbQ","vehicleId":"veh_4hL8pXq2sVn6RtY3wCbD9M","courier":{"id":"\u003cstring>","firstName":"\u003cstring>","lastName":"\u003cstring>","phoneNumber":"\u003cstring>"},"driverGroup":{"id":"\u003cstring>","externalId":"\u003cstring>"},"courierPosition":{"lat":123,"lng":123,"updatedAt":"\u003cstring>","capturedAt":"\u003cstring>","accuracy":123,"heading":123,"speed":123,"altitude":123,"altitudeAccuracy":123,"batteryLevel":123,"batteryIsCharging":true,"isMoving":true},"vehicle":{"licensePlate":"\u003cstring>","make":"\u003cstring>","model":"\u003cstring>","color":"\u003cstring>","year":123,"type":"\u003cstring>"},"providerName":"\u003cstring>","shiftId":"shf_1234567890abcdef12345678","isDispatched":false,"jobId":"job_1234567890abcdef12345678","routeMetadata":{"priority":"high","source":"optimization_engine"},"validationErrors":{"order_123":"Order 123 has pickup but no dropoff"},"encodedPolyline":"\u003cstring>","status":"CREATED","statusHistory":[{"created_at":"2025-04-25T03:00:00Z","status":"CREATED"},{"created_at":"2025-04-25T03:10:00Z","status":"ASSIGNED"},{"created_at":"2025-04-25T03:15:00Z","status":"STARTED"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"c123042f-dfcd-46c5-ae17-835202cc0ae2":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"title":"NashValidationError","required":["error","response_status","RequestID"],"type":"object","properties":{"error":{"title":"NashErrorDetails","required":["code","message"],"type":"object","properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].error.message","typeLabel":"string"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Structured error context; shape depends on `code`. For `VALIDATION_ERRORS` (HTTP 422) it is `{\"fields\": [{\"loc\": [...], \"msg\": \"...\", \"type\": \"...\"}]}` — one entry per invalid field, where `loc` is the field path, `msg` the human-readable message, and `type` the machine-readable error type (e.g. `string_type`, `missing`).","additionalProperties":true,"uniqueKey":"items.[INDEX].error.details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Structured error context; shape depends on `code`. For `VALIDATION_ERRORS` (HTTP 422) it is `{\"fields\": [{\"loc\": [...], \"msg\": \"...\", \"type\": \"...\"}]}` — one entry per invalid field, where `loc` is the field path, `msg` the human-readable message, and `type` the machine-readable error type (e.g. `string_type`, `missing`).","uniqueKey":"items.[INDEX].error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].error.details","typeLabel":"Details · object | null"}},"isRequired":true,"uniqueKey":"items.[INDEX].error","typeLabel":"NashErrorDetails · object"},"response_status":{"title":"Response Status","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].response_status","typeLabel":"string"},"RequestID":{"title":"Requestid","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].RequestID","typeLabel":"string"}},"uniqueKey":"items.[INDEX]","typeLabel":"NashValidationError · object"},"uniqueKey":"","typeLabel":"NashValidationError · object[]"},"examples":{"Example":{"title":"Example","value":[{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"response_status":"\u003cstring>","RequestID":"\u003cstring>"}]}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"9e3b320f-0bc8-482c-9cde-9feee3730f31":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}}},"servers":{"4e2fe9bd-c2e1-4831-896f-aa4e009bffa9":{"url":"https://api.sandbox.usenash.com","description":"Sandbox API"},"3961a575-404d-4652-8ff0-e9d3c19c1aa8":{"url":"https://api.sandbox.ap-southeast-2.usenash.com","description":"Sandbox API (Australia)"},"6efa42bc-fbc0-41a8-bbc0-4ff30ac1ac61":{"url":"https://api.usenash.com","description":"Production API"},"2a7a777b-60a5-4fbd-abfb-6f3ef74e21c0":{"url":"https://api.ap-southeast-2.usenash.com","description":"Production API (Australia)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Authorization","name":"Authorization"}],"title":"Authorization"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"nashtechnologies","siteName":"Nash","title":"Assign or Reassign a Route - Nash","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T16:14:02.476Z","originalFileLocation":"api-reference/route/assign-route.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=\"dark\"}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=\"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nash\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_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/nashtechnologies/mB8Cb63KzoguKMem/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Assign or Reassign a Route - Nash\">\u003cmeta data-mint-head property=\"og:description\" content=\"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nash\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.usenash.com/api-reference/route/assign-route\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nashtechnologies.mintlify.site/_mintlify/api/og/v2?division=Routes\u0026amp;title=Assign+or+Reassign+a+Route\u0026amp;description=Assign+a+route+to+a+provider%2C+driver+group%2C+courier%2C+or+vehicle+%E2%80%94+before+or+after+dispatch.\u0026amp;theme=c862c2759769c4efad8faae9\u0026amp;signature=39a2f0230931cca486b5100fd37e08e28ab65053e02e4a3fe0fd87ff445fc33a\">\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=\"Assign or Reassign a Route - Nash\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nashtechnologies.mintlify.site/_mintlify/api/og/v2?division=Routes\u0026amp;title=Assign+or+Reassign+a+Route\u0026amp;description=Assign+a+route+to+a+provider%2C+driver+group%2C+courier%2C+or+vehicle+%E2%80%94+before+or+after+dispatch.\u0026amp;theme=c862c2759769c4efad8faae9\u0026amp;signature=39a2f0230931cca486b5100fd37e08e28ab65053e02e4a3fe0fd87ff445fc33a\">\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/nashtechnologies/mB8Cb63KzoguKMem/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nash\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#193000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.usenash.com/api-reference/route/assign-route\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/route/assign-route.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.usenash.com/#organization\",\"name\":\"Nash\",\"url\":\"https://docs.usenash.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nashtechnologies/Hn0_BgTkq2u_H6Y8/logo/light.svg?fit=max\u0026auto=format\u0026n=Hn0_BgTkq2u_H6Y8\u0026q=85\u0026s=f722e2f19592e69c296bca12ed590f56\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.usenash.com#website\",\"name\":\"Nash\",\"url\":\"https://docs.usenash.com\",\"publisher\":{\"@id\":\"https://docs.usenash.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.usenash.com/api-reference/route/assign-route#webpage\",\"url\":\"https://docs.usenash.com/api-reference/route/assign-route\",\"name\":\"Assign or Reassign a Route\",\"description\":\"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\",\"dateModified\":\"2026-11-12T16:14:02.476Z\",\"isPartOf\":{\"@id\":\"https://docs.usenash.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.usenash.com/api-reference/route/assign-route#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.usenash.com/api-reference/route/assign-route#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Routes\",\"item\":\"https://docs.usenash.com/api-reference/route/list-routes\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Assign or Reassign a Route\",\"item\":\"https://docs.usenash.com/api-reference/route/assign-route\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.usenash.com/api-reference/route/assign-route#apireference\",\"headline\":\"Assign or Reassign a Route\",\"name\":\"Assign or Reassign a Route\",\"description\":\"Assign a route to a provider, driver group, courier, or vehicle — before or after dispatch.\",\"url\":\"https://docs.usenash.com/api-reference/route/assign-route\",\"mainEntityOfPage\":{\"@id\":\"https://docs.usenash.com/api-reference/route/assign-route#webpage\"},\"dateModified\":\"2026-11-12T16:14:02.476Z\",\"publisher\":{\"@id\":\"https://docs.usenash.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.usenash.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nash\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Nash\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/route/assign-route.md","siteName":"Nash","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/reference/how-nash-works"}]},{"tab":"Nash Agent","pages":[{"title":"Nash Agent","href":"/nash-agent/overview"}]},{"tab":"API Reference","groups":[{"group":"Getting started","icon":"rocket","pages":[{"title":"Nash API","href":"/api-reference/api-overview"},{"title":"Using LLMs with Nash API","href":"/api-reference/using-llms-with-nash-api"}]},{"group":"Interview exercises","hidden":true,"pages":[{"title":"Agentic Checkout Challenge","href":"/interview-exercises/agentic-checkout-challenge"}]},{"group":"Order","icon":"box-open","pages":[{"title":"Orders overview","href":"/api-reference/order/order"},{"title":"Order address validation (geocoding)","href":"/api-reference/order/order-address-validation-geocoding"},{"title":"Order requirements","mode":"wide","href":"/api-reference/order/order-requirements"},{"title":"Order validations","mode":"wide","href":"/api-reference/order/order-validations"},{"openapi":"post /v1/order","title":"Create Order","href":"/api-reference/order/create-order"},{"openapi":"post /v1/orders","title":"Create Orders","href":"/api-reference/order/create-orders"},{"openapi":"post /v1/order/external-identifier/{externalId}","title":"Create or Update Order by External Identifier","href":"/api-reference/order/create-or-update-order-by-external-identifier"},{"openapi":"post /v2/orders/upsert/bulk","title":"Create or Update Orders by External Identifier","href":"/api-reference/order/create-or-update-orders-by-external-identifier-v2"},{"openapi":"patch /v1/order/{id}","title":"Update order","href":"/api-reference/order/update-order"},{"openapi":"get /v1/order/{id}","title":"Get order","href":"/api-reference/order/get-order"},{"openapi":"get /v1/orders","title":"List/Search Orders","href":"/api-reference/order/listsearch-orders"},{"openapi":"post /v1/order/get_quotes","title":"Create Quote","href":"/api-reference/order/get-order-quotes"},{"openapi":"get /v1/order/{id}/documents","title":"Get Order Documents","href":"/api-reference/order/get-order-documents"},{"openapi":"post /v1/select_quote","title":"Select Quote","href":"/api-reference/order/select-quote"},{"openapi":"post /v1/order/refresh_quotes","title":"Refresh order quotes","href":"/api-reference/order/refresh-order-quotes"},{"openapi":"post /v1/order/{id}/autodispatch","title":"Autodispatch Order","href":"/api-reference/order/autodispatch-order"},{"openapi":"post /v1/order/{id}/events","title":"Add Custom Event to Order","href":"/api-reference/order/add-custom-event-to-order"},{"openapi":"delete /v1/order/{id}","title":"Archive order","href":"/api-reference/order/archive-order"},{"openapi":"patch /v1/order/{id}/confirm","title":"Confirm order","href":"/api-reference/order/confirm-order"},{"openapi":"patch /v1/order/{id}/unarchive","title":"Unarchive order","href":"/api-reference/order/unarchive-order"},{"openapi":"post /v1/orders/external-identifier/{external_id}/undispatch","title":"Undispatch an order","href":"/api-reference/order/undispatch-an-order"},{"openapi":"post /v1/orders/{order_id}/undispatch","title":"Undispatch an order by id","href":"/api-reference/order/undispatch-an-order-by-id"},{"group":"Bulk order actions","pages":[{"title":"Bulk Order Actions","openapi":"post /v1/orders/bulk","href":"/api-reference/order/create-update-upsert-or-delete-orders-asynchronously-in-bulk"},{"title":"Get Bulk Order Response","openapi":"get /v1/orders/bulk/{id}","href":"/api-reference/order/get-response-from-asynchronous-bulk-order-operation"}]},{"group":"Delivery windows \u0026 capacity","pages":[{"openapi":"post /v1/order/external-identifier/{externalId}/delivery-window","title":"Upsert order by external identifier with delivery window","href":"/api-reference/order/upsert-order-by-external-identifier-with-delivery-window"},{"openapi":"get /v1/eligible_delivery_windows","title":"Get eligible delivery windows for order","href":"/api-reference/delivery-windows/get-eligible-delivery-windows-for-order"},{"openapi":"post /v1/order/external-identifier/{externalId}/delivery-window/book","title":"Book a delivery window for order","href":"/api-reference/delivery-windows/book-a-delivery-window-for-order"},{"openapi":"post /v1/order/external-identifier/{externalId}/delivery-window/confirm","title":"Confirm a delivery window for order","href":"/api-reference/delivery-windows/confirm-a-delivery-window-for-order"},{"openapi":"post /v1/order/external-identifier/{externalId}/delivery-window/revoke","title":"Revoke a delivery window for order","href":"/api-reference/delivery-windows/revoke-a-delivery-window-for-order"},{"openapi":"post /v1/delivery-window","title":"Create a single delivery window","href":"/api-reference/delivery-windows/create-a-single-delivery-window"},{"openapi":"get /v1/delivery-window/{id}","title":"Get a delivery window","href":"/api-reference/delivery-windows/get-a-delivery-window"}]}]},{"group":"Dispatch strategies","icon":"route","pages":[{"title":"Dispatch strategies","href":"/api-reference/dispatch-strategies/dispatch-strategy"},{"title":"Automations","href":"/api-reference/dispatch-strategies/dispatch-automations"},{"openapi":"get /v1/options_group","title":"Get Dispatch Strategies","href":"/api-reference/dispatch-strategies/get-dispatch-strategies"},{"openapi":"post /v1/options_group","title":"Create dispatch strategy","href":"/api-reference/dispatch-strategies/create-dispatch-strategy"},{"openapi":"patch /v1/options_group/{id}","title":"Update dispatch strategy","href":"/api-reference/dispatch-strategies/update-dispatch-strategy"}]},{"group":"Workflows","icon":"diagram-project","pages":[{"openapi":"get /v1/workflows","title":"List Workflows","href":"/api-reference/workflow/list-workflows"},{"openapi":"get /v1/workflows/{id}","title":"Get Workflow","href":"/api-reference/workflow/get-workflow"},{"openapi":"post /v1/workflows","title":"Create Workflow","href":"/api-reference/workflow/create-workflow"},{"openapi":"patch /v1/workflows/{id}","title":"Update Workflow","href":"/api-reference/workflow/update-workflow"},{"openapi":"post /v1/workflows/{id}/status","title":"Set Workflow Status","href":"/api-reference/workflow/set-workflow-status"},{"openapi":"post /v1/workflows/{id}/trigger","title":"Trigger Workflow","href":"/api-reference/workflow/trigger-workflow"},{"openapi":"post /v1/workflows/{id}/test","title":"Test Workflow","href":"/api-reference/workflow/test-workflow"},{"openapi":"get /v1/workflows/schema","title":"Get Workflow Schema","href":"/api-reference/workflow/get-workflow-schema"},{"openapi":"get /v1/workflows/{id}/executions","title":"List Workflow Executions","href":"/api-reference/workflow-execution/list-workflow-executions"},{"openapi":"get /v1/workflows/{id}/executions/count","title":"Count Workflow Executions","href":"/api-reference/workflow-execution/count-workflow-executions"},{"openapi":"get /v1/workflow-executions/{id}","title":"Get Workflow Execution Detail","href":"/api-reference/workflow-execution/get-workflow-execution-detail"}]},{"group":"Notifications","icon":"bell","pages":[{"title":"Notifications","href":"/api-reference/notifications/notifications"},{"openapi":"get /v1/notification-triggers/catalog","title":"Get Notification Trigger Catalog","href":"/api-reference/notifications/get-notification-trigger-catalog"},{"openapi":"get /v1/notification-triggers/templates","title":"List Notification Trigger Templates","href":"/api-reference/notifications/list-notification-trigger-templates"},{"openapi":"post /v1/organization-management/notifications/deny-list","title":"Add Contact to the Deny List","href":"/api-reference/notifications/add-a-contact-to-the-deny-list"},{"openapi":"get /v1/organization-management/notifications/deny-list","title":"Get Contacts in the Deny List","href":"/api-reference/notifications/get-contacts-in-the-deny-list"},{"openapi":"delete /v1/organization-management/notifications/deny-list","title":"Remove Contact from the Deny List","href":"/api-reference/notifications/remove-a-contact-from-the-deny-list"}]},{"group":"Store locations \u0026 zones","icon":"map-location-dot","pages":[{"openapi":"post /v1/store_locations","title":"Create store location","href":"/api-reference/store-locations/create-store-location"},{"openapi":"patch /v1/store_locations/{id}","title":"Update Store Location","href":"/api-reference/store-locations/update-store-location"},{"openapi":"post /v1/store_locations/external-identifier/{externalIdentifier}","title":"Create or update store location by external identifier","href":"/api-reference/store-locations/create-or-update-store-location-by-external-identifier"},{"openapi":"post /v1/store_locations/upsert","title":"Create or update store location","href":"/api-reference/store-locations/create-or-update-store-location"},{"openapi":"post /v1/store_locations/upsert/bulk","title":"Upsert multiple store locations","href":"/api-reference/store-locations/upsert-multiple-store-locations"},{"openapi":"get /v1/store_locations/{id}","title":"Get Store Location","href":"/api-reference/store-locations/get-store-location"},{"openapi":"get /v1/store_locations","title":"Get Store Locations","href":"/api-reference/store-locations/get-store-locations"},{"openapi":"get /v1/store_locations/external_identifier/{externalIdentifier}","title":null,"href":"/api-reference/store-locations/get-store-location-by-external-identifier"},{"openapi":"delete /v1/store_locations/{id}","title":"Delete store location","href":"/api-reference/store-locations/delete-store-location"},{"openapi":"get /v1/store_locations/coverage","title":"Get store locations that cover specified location (latitude \u0026 longitude, city_zipcode)","href":"/api-reference/store-locations/get-store-locations-that-cover-specified-latitude-and-longitude"},{"openapi":"post /v1/zones","title":"Create a zone","href":"/api-reference/zones/create-a-zone"},{"openapi":"patch /v1/zones/{id}","title":"Update a zone","href":"/api-reference/zones/update-a-zone"},{"openapi":"delete /v1/zones/{id}","title":"Delete a zone","href":"/api-reference/zones/delete-a-zone"},{"openapi":"get /v1/zones/{id}","title":"Get zone","href":"/api-reference/zones/get-zone"},{"openapi":"get /v1/zones","title":"Get zones","href":"/api-reference/zones/get-zones"},{"openapi":"post /v1/zones/query","title":"Query zones","href":"/api-reference/zones/query-zones"},{"openapi":"get /v1/zones/external_identifier/{externalIdentifier}","title":"Get zone by external identifier","href":"/api-reference/zones/get-zone-by-external-identifier"},{"openapi":"get /v1/zones/coverage","title":"Get zones that cover specified location (latitude \u0026 longitude, city_zipcode)","href":"/api-reference/zones/get-zones-that-cover-specified-location-latitude-and-longitude-city_zipcode"}]},{"group":"Jobs","icon":"box","pages":[{"title":"Jobs overview","href":"/api-reference/job/jobs"},{"openapi":"post /v1/jobs","title":"Create Job","href":"/api-reference/job/create-job"},{"openapi":"post /v1/jobs/external_identifier/{externalIdentifier}","title":"Create or Update Job by External Identifier","href":"/api-reference/job/create-or-update-job-by-external-identifier"},{"title":"Update Job","openapi":"patch /v1/jobs/{id}","href":"/api-reference/job/update-job-by-id"},{"openapi":"patch /v1/jobs/{jobId}/{jobConfigurationId}","title":null,"href":"/api-reference/job/update-job-by-job-id-and-job-configuration-id"},{"title":"Get Job","openapi":"get /v1/jobs/{id}","href":"/api-reference/job/get-job"},{"openapi":"get /v1/jobs/external_identifier/{externalIdentifier}","title":"Get Job by External Identifier","href":"/api-reference/job/get-job-by-external-identifier"},{"openapi":"get /v1/jobs","title":"List/Search Jobs","href":"/api-reference/job/listsearch-jobs"},{"openapi":"post /v1/select_quote","title":"Select Quote","href":"/api-reference/job/select-quote"},{"openapi":"post /v1/jobs/{jobId}/{taskId}/reassign","title":"Reassign a Task","href":"/api-reference/job/reassign-task-by-job-id-and-task-id"},{"openapi":"post /v1/jobs/{jobId}/tasks/{taskId}/refresh_quotes","title":"Refresh Quotes","href":"/api-reference/job/refresh-quotes-by-job-id-and-task-id"},{"openapi":"post /v1/jobs/{id}/autodispatch","title":"Autodispatch Job","href":"/api-reference/job/autodispatch-job"},{"openapi":"post /v1/jobs/external_identifier/{externalIdentifier}/autodispatch","title":"Autodispatch Job by External Identifier","href":"/api-reference/job/autodispatch-job-by-external-identifier"},{"openapi":"post /v1/jobs/{jobId}/{objectId}/cancel","title":"Cancel Job","href":"/api-reference/job/cancel-job-by-job-id-and-job-configuration-id"},{"openapi":"post /v1/jobs/external_identifier/{externalIdentifier}/cancel","title":"Cancel Job by External Identifier","href":"/api-reference/job/cancel-job-by-external-identifier"},{"openapi":"post /v1/jobs/{jobId}/tasks/{taskId}/delivery_incident","title":"Create Delivery Incident","href":"/api-reference/job/create-delivery-incident"},{"title":"Get Refund Requests","openapi":"get /v1/refund-requests","href":"/api-reference/job/get-refund-requests"},{"title":"Get Refund Request","openapi":"get /v1/refund-request/{id}","href":"/api-reference/job/get-refund-request"}]},{"group":"Batch jobs","icon":"boxes-stacked","pages":[{"openapi":"post /v1/batch_job","title":"Create Batch Job","href":"/api-reference/batch-job/create-batch-job"},{"title":"Update Batch Job","openapi":"patch /v1/jobs/{id}/{jobConfigurationId}","href":"/api-reference/batch-job/update-job-by-job-id-and-job-configuration-id"},{"openapi":"post /v1/select_quote","title":"Select Quote (Batch)","href":"/api-reference/batch-job/select-quote"},{"openapi":"post /v1/jobs/{jobId}/batch/{batchId}/refresh_quotes","title":"Refresh Quotes (Batch)","href":"/api-reference/batch-job/refresh-quotes-by-job-id-and-batch-id"},{"openapi":"post /v1/jobs/{jobId}/cancel","title":"Cancel Batch Job","href":"/api-reference/batch-job/cancel-job-by-job-id-and-task-or-job-configuration-id"}]},{"group":"Providers","icon":"truck","pages":[{"openapi":"get /v1/providers","title":"Get Providers","href":"/api-reference/provider/get-providers"}]},{"group":"Routes","icon":"route","pages":[{"openapi":"get /v1/routes","title":"List Routes","href":"/api-reference/route/list-routes"},{"openapi":"get /v1/routes/{id}","title":"Get Route","href":"/api-reference/route/get-route"},{"openapi":"post /v1/routes","title":"Create or Update Route","href":"/api-reference/route/create-or-update-route"},{"openapi":"post /v1/routes/{id}/calculate-timing","title":"Calculate Route Timing","description":"Calculate per-stop ETAs and polyline for a route using HERE truck routing. Updates arrival/departure times for each stop and returns the route polyline.","href":"/api-reference/route/calculate-route-timing"},{"openapi":"post /v1/routes/{id}/assign","title":"Assign or Reassign a Route","href":"/api-reference/route/assign-route"},{"openapi":"get /v1/routes/nearby-couriers","title":"Find Nearby Couriers","description":"Find the drivers on active routes nearest to a point.","href":"/api-reference/route/find-nearby-couriers"},{"openapi":"post /v1/routes/dispatch","title":"Dispatch Routes","href":"/api-reference/route/dispatch-routes"},{"openapi":"post /v1/activities/{id}/dispatch","title":"Dispatch Optimized Orders","href":"/api-reference/route/dispatch-optimized-orders"},{"openapi":"post /v1/activities/{id}/save-routes","title":"Save Optimization Routes","href":"/api-reference/route/save-optimization-routes"}]},{"group":"Optimization strategies","icon":"sliders","pages":[{"openapi":"get /v1/optimization-strategies","title":"List Optimization Strategies","href":"/api-reference/optimization-strategies/list-optimization-strategies"},{"openapi":"get /v1/optimization-strategies/{id}","title":"Get Optimization Strategy","href":"/api-reference/optimization-strategies/get-optimization-strategy"},{"openapi":"post /v1/optimization-strategies","title":"Create Optimization Strategy","href":"/api-reference/optimization-strategies/create-optimization-strategy"},{"openapi":"patch /v1/optimization-strategies/{id}","title":"Update Optimization Strategy","href":"/api-reference/optimization-strategies/update-optimization-strategy"},{"openapi":"delete /v1/optimization-strategies/{id}","title":"Delete Optimization Strategy","href":"/api-reference/optimization-strategies/delete-optimization-strategy"}]},{"group":"Shifts","icon":"business-time","pages":[{"openapi":"post /v1/shift","title":"Create a shift","href":"/api-reference/shifts/create-a-shift"},{"openapi":"get /v1/shifts","title":"Get all shifts","href":"/api-reference/shifts/get-all-shifts"},{"openapi":"get /v1/shift/{id}","title":"Get a shift","href":"/api-reference/shifts/get-a-shift"},{"openapi":"post /v1/shifts/upsert","title":"Upsert shifts","href":"/api-reference/shifts/upsert-shifts"}]},{"group":"Templates","icon":"file-lines","pages":[{"openapi":"post /v1/templates/upsert","title":"Upsert multiple templates","href":"/api-reference/templates/upsert-multiple-templates"}]},{"group":"Store catalog","icon":"basket-shopping","pages":[{"title":"Pick and Pack overview","href":"/api-reference/store-catalog/pick-and-pack"},{"group":"Products","pages":[{"openapi":"post /v1/products","title":"Create or update products","href":"/api-reference/store-catalog/create-or-update-products"},{"openapi":"get /v1/products","title":"Get products","href":"/api-reference/store-catalog/get-products"},{"title":"Product catalog examples","href":"/api-reference/store-catalog/product-catalog-examples"}]},{"group":"Store inventory","pages":[{"openapi":"post /v1/inventory","title":"Create or update inventory","href":"/api-reference/store-catalog/create-or-update-inventory"},{"openapi":"get /v1/inventory","title":"Get inventory","href":"/api-reference/store-catalog/get-inventory"},{"openapi":"post /v1/inventory/sync","title":"Sync store inventory catalogs to SFTP","href":"/api-reference/inventory/sync-store-inventory-catalogs-to-sftp"}]}]},{"group":"Feedback","icon":"star","pages":[{"openapi":"post /v1/feedback/{delivery_id}","title":"Add Delivery Feedback","href":"/api-reference/feedback/add-delivery-feedback"},{"openapi":"post /v1/feedback/external_identifier/{external_identifier}","title":"Add Delivery Feedback by External Identifier","href":"/api-reference/feedback/add-delivery-feedback-by-external-identifier"}]},{"group":"Shipping","icon":"boxes-packing","pages":[{"openapi":"post /v1/manifest","title":"Manifest Orders","href":"/api-reference/shipping/manifest-orders"},{"openapi":"post /v1/dispatch-and-manifest","title":"Dispatch and Manifest Orders","href":"/api-reference/shipping/dispatch-and-manifest-orders"}]},{"group":"Simulate delivery","icon":"flask","pages":[{"openapi":"post /v1/deliveries/{delivery_id}/simulate","title":"Simulate Delivery Status Transition","href":"/api-reference/fleet-simulator/simulate-delivery-status-transition"}]},{"group":"Fleet","icon":"truck-ramp-box","pages":[{"title":"Outbound integration","href":"/api-reference/fleet/outbound-integration"},{"openapi":"put /v1/fleet/drivers/upsert","title":"Upsert Driver","href":"/api-reference/fleet/upsert-driver"},{"openapi":"get /v1/fleet/driver-groups","title":"List Driver Groups","href":"/api-reference/fleet/list-driver-groups"},{"openapi":"get /v1/fleet/driver-groups/{first_version_contract_id}","title":"Get Driver Group","href":"/api-reference/fleet/get-driver-group"},{"openapi":"put /v1/fleet/driver-groups/upsert","title":"Upsert Driver Group","href":"/api-reference/fleet/upsert-driver-group"},{"openapi":"patch /v1/fleet/deliveries/{delivery_id}","title":"Update Delivery","href":"/api-reference/fleet/update-delivery"},{"openapi":"patch /v1/fleet/deliveries","title":"Bulk Update Deliveries","href":"/api-reference/fleet/bulk-update-deliveries"}]},{"group":"Miscellaneous","icon":"table-cells","pages":[{"openapi":"get /v1/health-check","title":"Server Health Check","href":"/api-reference/miscellaneous/server-health-check"}]}]},{"tab":"Release notes","pages":[{"title":"Release notes","href":"/release-notes/change"}]}]},"basePath":"","title":"Assign or Reassign a Route - Nash","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}