{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Solvice Maps","colors":{"primary":"#0f62fe","light":"#0f62fe","dark":"#0f62fe"},"logo":{"light":"https://mintcdn.com/solvice/qOsY6dIGQG5uZ9Zf/logo/light.svg?fit=max\u0026auto=format\u0026n=qOsY6dIGQG5uZ9Zf\u0026q=85\u0026s=125635ddde3e055e7b55b663eed75460","dark":"https://mintcdn.com/solvice/qOsY6dIGQG5uZ9Zf/logo/dark.svg?fit=max\u0026auto=format\u0026n=qOsY6dIGQG5uZ9Zf\u0026q=85\u0026s=613c3e11a264fa4aac7d8c1d8ff7ef4c"},"favicon":"https://mintcdn.com/solvice/1Oz_OffF-EApdqyh/favicon.png?fit=max\u0026auto=format\u0026n=1Oz_OffF-EApdqyh\u0026q=85\u0026s=15140f7aedecf8f18796fc75b6862f12","api":{"openapi":"openapi.yaml","playground":{"display":"interactive"}},"background":{"decoration":"gradient","color":{"light":"#F8FAFC","dark":"#0A0A0F"}},"navbar":{"links":[{"href":"mailto:support@solvice.io","label":"Support"}]},"footer":{"socials":{"website":"https://solvice.io","github":"https://github.com/solvice","linkedin":"https://linkedin.com/company/solvice"}},"seo":{"metatags":{"og:site_name":"Solvice Maps","og:description":"Fast routing, distance matrix, and map tile APIs built on OpenStreetMap","og:image":"https://solvice.io/og-image.png","twitter:card":"summary_large_image"},"indexing":"all"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"solvice","hasAudioNarration":false,"actualSubdomain":"solvice","customDomains":["maps.solvice.io"],"gitSource":{"type":"github","owner":"solvice","repo":"maps-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae92188380856db55845b7e:success","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Routing","count":23},{"language":"default","tag":"Tiles","count":9},{"language":"default","tag":"Matrix","count":9},{"language":"default","tag":"Cube","count":7},{"language":"default","tag":"Maplibre","count":5},{"language":"default","tag":"Directions","count":4},{"language":"default","tag":"Map Tiles","count":4},{"language":"default","tag":"Get Started","count":3}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"route/post-route-batch","slug":"/route/post-route-batch","pageMetadata":{"openapi":"POST /route/batch","title":"/route/batch","description":"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.","href":"/route/post-route-batch"},"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: \"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.\"\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"POST /route/batch","title":"/route/batch","description":"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.","href":"/route/post-route-batch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/solvice/36851869b6f5bc0b/colors.js"],"openApiReferenceData":{"operation":{"summary":"Calculate batch routes","description":"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.","tags":["Routes"],"requestBody":"32f74661-c83e-4a4a-97df-719c69caa687","responses":{"200":"4cd2a8a4-2544-43d5-acab-7c91c1061e49","400":"44e72666-2a8f-4be3-bba0-e5db804a20f4","429":"e9f8ab5c-17e3-4dfd-b723-1d6fb271e6dc","500":"c0ddfc3d-0209-4c5b-9ea5-1883708a0e31","502":"dae6c971-d660-4a35-81a8-460a2301bb93","503":"521a29be-84a7-4097-b8d3-263ce64deea8","504":"943a3505-60b7-47f7-ba76-1efd93dfe79d"},"method":"post","type":"path","servers":["911a4648-571b-4e0a-a206-0a73d738b950"],"security":["27d729fc-b0ea-4887-93b5-9742c24bf8e9"],"path":"/route/batch","baseUrlOptions":["https://routing.solvice.io"],"title":"Calculate batch routes","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"description":"Request DTO for batch route processing","examples":[{"routes":[{"coordinates":[[4.9,50.2],[4.8,50.4]]},{"coordinates":[[5.1,50.3],[5,50.5]]}]}],"type":"object","required":["routes"],"properties":{"routes":{"oneOf":[{"type":"array","items":{"type":"object","description":"Route Dto","examples":[{"coordinates":[[4.9,50.2],[4.8,50.4]]}],"required":["coordinates"],"properties":{"coordinates":{"oneOf":[{"type":"array","items":{"type":"array","items":{"type":"number","format":"double","uniqueKey":"routes.oneOf.0.items.[INDEX].coordinates.oneOf.0.items.[INDEX].items.[INDEX]","typeLabel":"number\u003cdouble>"},"uniqueKey":"routes.oneOf.0.items.[INDEX].coordinates.oneOf.0.items.[INDEX]","typeLabel":"number\u003cdouble>[]"},"description":"The coordinates this request will use, coordinates as [{lon},{lat}] values, in decimal degrees.","minItems":2,"isRequired":true,"uniqueKey":"routes.oneOf.0.items.[INDEX].coordinates.oneOf.0","typeLabel":"number\u003cdouble>[][]"},{"type":"null","items":{"type":"array","items":{"type":"number","format":"double"}},"description":"The coordinates this request will use, coordinates as [{lon},{lat}] values, in decimal degrees.","minItems":2,"isRequired":true,"uniqueKey":"routes.oneOf.0.items.[INDEX].coordinates.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"routes.oneOf.0.items.[INDEX].coordinates","typeLabel":"number\u003cdouble>[][] | null"},"bearings":{"oneOf":[{"type":"array","items":{"type":"array","items":{"type":"integer","format":"int32","uniqueKey":"routes.oneOf.0.items.[INDEX].bearings.oneOf.0.items.[INDEX].items.[INDEX]","typeLabel":"integer\u003cint32>"},"uniqueKey":"routes.oneOf.0.items.[INDEX].bearings.oneOf.0.items.[INDEX]","typeLabel":"integer\u003cint32>[]"},"description":"Limits the search to segments with given bearing in degrees towards true north in clockwise direction. Can be null or an array of [{value},{range}] with integer 0 .. 360,integer 0 .. 180.","uniqueKey":"routes.oneOf.0.items.[INDEX].bearings.oneOf.0","typeLabel":"integer\u003cint32>[][]"},{"type":"null","items":{"type":"array","items":{"type":"integer","format":"int32"}},"description":"Limits the search to segments with given bearing in degrees towards true north in clockwise direction. Can be null or an array of [{value},{range}] with integer 0 .. 360,integer 0 .. 180.","uniqueKey":"routes.oneOf.0.items.[INDEX].bearings.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].bearings","typeLabel":"integer\u003cint32>[][] | null"},"radiuses":{"oneOf":[{"type":"array","items":{"type":"integer","format":"int32","uniqueKey":"routes.oneOf.0.items.[INDEX].radiuses.oneOf.0.items.[INDEX]","typeLabel":"integer\u003cint32>"},"description":"Limits the coordinate snapping to streets in the given radius in meters. Can be null double >= 0.","uniqueKey":"routes.oneOf.0.items.[INDEX].radiuses.oneOf.0","typeLabel":"integer\u003cint32>[]"},{"type":"null","items":{"type":"integer","format":"int32"},"description":"Limits the coordinate snapping to streets in the given radius in meters. Can be null double >= 0.","uniqueKey":"routes.oneOf.0.items.[INDEX].radiuses.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].radiuses","typeLabel":"integer\u003cint32>[] | null"},"hints":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"routes.oneOf.0.items.[INDEX].hints.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Hints for the coordinate snapping. Array of base64 encoded strings.","uniqueKey":"routes.oneOf.0.items.[INDEX].hints.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Hints for the coordinate snapping. Array of base64 encoded strings.","uniqueKey":"routes.oneOf.0.items.[INDEX].hints.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].hints","typeLabel":"string[] | null"},"generate_hints":{"oneOf":[{"type":"boolean","description":"Whether or not adds a Hint to the response which can be used in subsequent requests. (optional, default true)","uniqueKey":"routes.oneOf.0.items.[INDEX].generate_hints.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether or not adds a Hint to the response which can be used in subsequent requests. (optional, default true)","uniqueKey":"routes.oneOf.0.items.[INDEX].generate_hints.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].generate_hints","typeLabel":"boolean | null"},"alternatives":{"oneOf":[{"type":"integer","format":"int32","description":"Search for up to this many alternative routes. Please note that even if alternative routes are requested, a result cannot be guaranteed. (optional, default 0)","maximum":10,"minimum":0,"uniqueKey":"routes.oneOf.0.items.[INDEX].alternatives.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Search for up to this many alternative routes. Please note that even if alternative routes are requested, a result cannot be guaranteed. (optional, default 0)","maximum":10,"minimum":0,"uniqueKey":"routes.oneOf.0.items.[INDEX].alternatives.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].alternatives","typeLabel":"integer\u003cint32> | null"},"steps":{"oneOf":[{"type":"boolean","description":"Return route steps for each route leg. (optional, default false)","uniqueKey":"routes.oneOf.0.items.[INDEX].steps.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Return route steps for each route leg. (optional, default false)","uniqueKey":"routes.oneOf.0.items.[INDEX].steps.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].steps","typeLabel":"boolean | null"},"annotations":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"routes.oneOf.0.items.[INDEX].annotations.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"An array with strings of duration, nodes, distance, weight, datasources, speed (optional)","uniqueKey":"routes.oneOf.0.items.[INDEX].annotations.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"An array with strings of duration, nodes, distance, weight, datasources, speed (optional)","uniqueKey":"routes.oneOf.0.items.[INDEX].annotations.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].annotations","typeLabel":"string[] | null"},"geometries":{"oneOf":[{"type":"string","description":"Returned route geometry format (influences overview and per step). Can also be geojson. (optional, default polyline)","pattern":"polyline|geojson|polyline6","uniqueKey":"routes.oneOf.0.items.[INDEX].geometries.oneOf.0","typeLabel":"string"},{"type":"null","description":"Returned route geometry format (influences overview and per step). Can also be geojson. (optional, default polyline)","pattern":"polyline|geojson|polyline6","uniqueKey":"routes.oneOf.0.items.[INDEX].geometries.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].geometries","typeLabel":"string | null"},"overview":{"oneOf":[{"type":"string","description":"Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all (false). (optional, default simplified)","pattern":"full|simplified|false","uniqueKey":"routes.oneOf.0.items.[INDEX].overview.oneOf.0","typeLabel":"string"},{"type":"null","description":"Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all (false). (optional, default simplified)","pattern":"full|simplified|false","uniqueKey":"routes.oneOf.0.items.[INDEX].overview.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].overview","typeLabel":"string | null"},"continue_straight":{"oneOf":[{"type":"boolean","description":"Forces the route to keep going straight at waypoints and don't do a uturn even if it would be faster. Default value depends on the profile.","uniqueKey":"routes.oneOf.0.items.[INDEX].continue_straight.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Forces the route to keep going straight at waypoints and don't do a uturn even if it would be faster. Default value depends on the profile.","uniqueKey":"routes.oneOf.0.items.[INDEX].continue_straight.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].continue_straight","typeLabel":"boolean | null"},"approaches":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"routes.oneOf.0.items.[INDEX].approaches.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Keep waypoints on curb side. Can be null (unrestricted, default) or curb.","uniqueKey":"routes.oneOf.0.items.[INDEX].approaches.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Keep waypoints on curb side. Can be null (unrestricted, default) or curb.","uniqueKey":"routes.oneOf.0.items.[INDEX].approaches.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].approaches","typeLabel":"string[] | null"},"waypoints":{"oneOf":[{"type":"array","items":{"type":"integer","format":"int32","uniqueKey":"routes.oneOf.0.items.[INDEX].waypoints.oneOf.0.items.[INDEX]","typeLabel":"integer\u003cint32>"},"description":"Indices to coordinates to treat as waypoints. If not supplied, all coordinates are waypoints. Must include first and last coordinate index","uniqueKey":"routes.oneOf.0.items.[INDEX].waypoints.oneOf.0","typeLabel":"integer\u003cint32>[]"},{"type":"null","items":{"type":"integer","format":"int32"},"description":"Indices to coordinates to treat as waypoints. If not supplied, all coordinates are waypoints. Must include first and last coordinate index","uniqueKey":"routes.oneOf.0.items.[INDEX].waypoints.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].waypoints","typeLabel":"integer\u003cint32>[] | null"},"snapping":{"oneOf":[{"type":"string","pattern":"default|any","uniqueKey":"routes.oneOf.0.items.[INDEX].snapping.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"default|any","uniqueKey":"routes.oneOf.0.items.[INDEX].snapping.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].snapping","typeLabel":"string | null"},"vehicleType":{"oneOf":[{"type":"string","description":"The vehicle type for which the table is requested","enum":["CAR","BIKE","TRUCK","ELECTRIC_CAR","ELECTRIC_BIKE"],"uniqueKey":"routes.oneOf.0.items.[INDEX].vehicleType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"routes.oneOf.0.items.[INDEX].vehicleType.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].vehicleType","typeLabel":"enum\u003cstring> | null"},"routingEngine":{"oneOf":[{"type":"string","description":"Routing data engine used to calculate distances/durations.\n\n- `OSM`: Open Street Map, traffic-unaware (default).\n- `TOMTOM`: TomTom map data with predictive traffic patterns. Use with `departureTime` and optionally `interpolate`.\n- `TOMTOM_REAL_TIME`: TomTom map data with **real-time traffic**. The `departureTime` field is ignored — every request uses the current time. Available on `POST /route` and `POST /table/sync` only (not on async `/table` or `/route/batch`). Live traffic is combined with historical traffic patterns by default; set `includeTrafficPatterns: false` for live traffic only.\n- `GOOGLE`: Google routing data (contact sales).\n- `ANYMAP`: Solvice's proprietary engine with advanced traffic modeling.\n- `CUSTOM`: Bring-your-own engine via custom integration.\n","enum":["OSM","TOMTOM","GOOGLE","ANYMAP","CUSTOM","TOMTOM_REAL_TIME"],"uniqueKey":"routes.oneOf.0.items.[INDEX].routingEngine.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"routes.oneOf.0.items.[INDEX].routingEngine.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].routingEngine","typeLabel":"enum\u003cstring> | null"},"departureTime":{"oneOf":[{"type":"string","description":"The departure time for which you want to calculate the route. This will take into account predictive travel time based on TomTom data.","format":"date-time","example":"2024-03-15T08:30:00.000Z","uniqueKey":"routes.oneOf.0.items.[INDEX].departureTime.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","uniqueKey":"routes.oneOf.0.items.[INDEX].departureTime.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].departureTime","typeLabel":"string\u003cdate-time> | null"},"interpolate":{"oneOf":[{"type":"boolean","description":"Enable linear interpolation between time slices for more accurate results based on departure time","uniqueKey":"routes.oneOf.0.items.[INDEX].interpolate.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Enable linear interpolation between time slices for more accurate results based on departure time","uniqueKey":"routes.oneOf.0.items.[INDEX].interpolate.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].interpolate","typeLabel":"boolean | null"},"exclude":{"oneOf":[{"type":"array","items":{"type":"string","enum":["TOLL","MOTORWAY","FERRY","TUNNEL","BRIDGE"],"uniqueKey":"routes.oneOf.0.items.[INDEX].exclude.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Exclude certain road types from routing","uniqueKey":"routes.oneOf.0.items.[INDEX].exclude.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","items":{"type":"string","enum":["TOLL","MOTORWAY","FERRY","TUNNEL","BRIDGE"]},"description":"Exclude certain road types from routing","uniqueKey":"routes.oneOf.0.items.[INDEX].exclude.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].exclude","typeLabel":"enum\u003cstring>[] | null"},"slice":{"oneOf":[{"type":"number","format":"double","description":"Time slice override for routing. Can be decimal for interpolation (e.g., 2.5 for halfway between slice 2 and 3). If not specified, slice will be determined from departure time.","uniqueKey":"routes.oneOf.0.items.[INDEX].slice.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Time slice override for routing. Can be decimal for interpolation (e.g., 2.5 for halfway between slice 2 and 3). If not specified, slice will be determined from departure time.","uniqueKey":"routes.oneOf.0.items.[INDEX].slice.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].slice","typeLabel":"number\u003cdouble> | null"},"includeTrafficPatterns":{"oneOf":[{"type":"boolean","description":"TOMTOM_REAL_TIME only: combine live traffic with TomTom historical time-of-day traffic patterns (default true). Patterns improve estimates outside peak hours and cover roads without live traffic data. Set false to use live traffic only.","uniqueKey":"routes.oneOf.0.items.[INDEX].includeTrafficPatterns.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"TOMTOM_REAL_TIME only: combine live traffic with TomTom historical time-of-day traffic patterns (default true). Patterns improve estimates outside peak hours and cover roads without live traffic data. Set false to use live traffic only.","uniqueKey":"routes.oneOf.0.items.[INDEX].includeTrafficPatterns.oneOf.1","typeLabel":"null"}],"uniqueKey":"routes.oneOf.0.items.[INDEX].includeTrafficPatterns","typeLabel":"boolean | null"}},"uniqueKey":"routes.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Array of route requests to process in batch","maxItems":20,"minItems":2,"isRequired":true,"uniqueKey":"routes.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","description":"Route Dto","examples":[{"coordinates":[[4.9,50.2],[4.8,50.4]]}],"required":["coordinates"],"properties":{"coordinates":{"oneOf":[{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}},"description":"The coordinates this request will use, coordinates as [{lon},{lat}] values, in decimal degrees.","minItems":2},{"type":"null","items":{"type":"array","items":{"type":"number","format":"double"}},"description":"The coordinates this request will use, coordinates as [{lon},{lat}] values, in decimal degrees.","minItems":2}]},"bearings":{"oneOf":[{"type":"array","items":{"type":"array","items":{"type":"integer","format":"int32"}},"description":"Limits the search to segments with given bearing in degrees towards true north in clockwise direction. Can be null or an array of [{value},{range}] with integer 0 .. 360,integer 0 .. 180."},{"type":"null","items":{"type":"array","items":{"type":"integer","format":"int32"}},"description":"Limits the search to segments with given bearing in degrees towards true north in clockwise direction. Can be null or an array of [{value},{range}] with integer 0 .. 360,integer 0 .. 180."}]},"radiuses":{"oneOf":[{"type":"array","items":{"type":"integer","format":"int32"},"description":"Limits the coordinate snapping to streets in the given radius in meters. Can be null double >= 0."},{"type":"null","items":{"type":"integer","format":"int32"},"description":"Limits the coordinate snapping to streets in the given radius in meters. Can be null double >= 0."}]},"hints":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Hints for the coordinate snapping. Array of base64 encoded strings."},{"type":"null","items":{"type":"string"},"description":"Hints for the coordinate snapping. Array of base64 encoded strings."}]},"generate_hints":{"oneOf":[{"type":"boolean","description":"Whether or not adds a Hint to the response which can be used in subsequent requests. (optional, default true)"},{"type":"null","description":"Whether or not adds a Hint to the response which can be used in subsequent requests. (optional, default true)"}]},"alternatives":{"oneOf":[{"type":"integer","format":"int32","description":"Search for up to this many alternative routes. Please note that even if alternative routes are requested, a result cannot be guaranteed. (optional, default 0)","maximum":10,"minimum":0},{"type":"null","format":"int32","description":"Search for up to this many alternative routes. Please note that even if alternative routes are requested, a result cannot be guaranteed. (optional, default 0)","maximum":10,"minimum":0}]},"steps":{"oneOf":[{"type":"boolean","description":"Return route steps for each route leg. (optional, default false)"},{"type":"null","description":"Return route steps for each route leg. (optional, default false)"}]},"annotations":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"An array with strings of duration, nodes, distance, weight, datasources, speed (optional)"},{"type":"null","items":{"type":"string"},"description":"An array with strings of duration, nodes, distance, weight, datasources, speed (optional)"}]},"geometries":{"oneOf":[{"type":"string","description":"Returned route geometry format (influences overview and per step). Can also be geojson. (optional, default polyline)","pattern":"polyline|geojson|polyline6"},{"type":"null","description":"Returned route geometry format (influences overview and per step). Can also be geojson. (optional, default polyline)","pattern":"polyline|geojson|polyline6"}]},"overview":{"oneOf":[{"type":"string","description":"Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all (false). (optional, default simplified)","pattern":"full|simplified|false"},{"type":"null","description":"Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all (false). (optional, default simplified)","pattern":"full|simplified|false"}]},"continue_straight":{"oneOf":[{"type":"boolean","description":"Forces the route to keep going straight at waypoints and don't do a uturn even if it would be faster. Default value depends on the profile."},{"type":"null","description":"Forces the route to keep going straight at waypoints and don't do a uturn even if it would be faster. Default value depends on the profile."}]},"approaches":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Keep waypoints on curb side. Can be null (unrestricted, default) or curb."},{"type":"null","items":{"type":"string"},"description":"Keep waypoints on curb side. Can be null (unrestricted, default) or curb."}]},"waypoints":{"oneOf":[{"type":"array","items":{"type":"integer","format":"int32"},"description":"Indices to coordinates to treat as waypoints. If not supplied, all coordinates are waypoints. Must include first and last coordinate index"},{"type":"null","items":{"type":"integer","format":"int32"},"description":"Indices to coordinates to treat as waypoints. If not supplied, all coordinates are waypoints. Must include first and last coordinate index"}]},"snapping":{"oneOf":[{"type":"string","pattern":"default|any"},{"type":"null","pattern":"default|any"}]},"vehicleType":{"oneOf":[{"type":"string","description":"The vehicle type for which the table is requested","enum":["CAR","BIKE","TRUCK","ELECTRIC_CAR","ELECTRIC_BIKE"]},{"type":"null"}]},"routingEngine":{"oneOf":[{"type":"string","description":"Routing data engine used to calculate distances/durations.\n\n- `OSM`: Open Street Map, traffic-unaware (default).\n- `TOMTOM`: TomTom map data with predictive traffic patterns. Use with `departureTime` and optionally `interpolate`.\n- `TOMTOM_REAL_TIME`: TomTom map data with **real-time traffic**. The `departureTime` field is ignored — every request uses the current time. Available on `POST /route` and `POST /table/sync` only (not on async `/table` or `/route/batch`). Live traffic is combined with historical traffic patterns by default; set `includeTrafficPatterns: false` for live traffic only.\n- `GOOGLE`: Google routing data (contact sales).\n- `ANYMAP`: Solvice's proprietary engine with advanced traffic modeling.\n- `CUSTOM`: Bring-your-own engine via custom integration.\n","enum":["OSM","TOMTOM","GOOGLE","ANYMAP","CUSTOM","TOMTOM_REAL_TIME"]},{"type":"null"}]},"departureTime":{"oneOf":[{"type":"string","description":"The departure time for which you want to calculate the route. This will take into account predictive travel time based on TomTom data.","format":"date-time","example":"2024-03-15T08:30:00.000Z"},{"type":"null"}]},"interpolate":{"oneOf":[{"type":"boolean","description":"Enable linear interpolation between time slices for more accurate results based on departure time"},{"type":"null","description":"Enable linear interpolation between time slices for more accurate results based on departure time"}]},"exclude":{"oneOf":[{"type":"array","items":{"type":"string","enum":["TOLL","MOTORWAY","FERRY","TUNNEL","BRIDGE"]},"description":"Exclude certain road types from routing"},{"type":"null","items":{"type":"string","enum":["TOLL","MOTORWAY","FERRY","TUNNEL","BRIDGE"]},"description":"Exclude certain road types from routing"}]},"slice":{"oneOf":[{"type":"number","format":"double","description":"Time slice override for routing. Can be decimal for interpolation (e.g., 2.5 for halfway between slice 2 and 3). If not specified, slice will be determined from departure time."},{"type":"null","format":"double","description":"Time slice override for routing. Can be decimal for interpolation (e.g., 2.5 for halfway between slice 2 and 3). If not specified, slice will be determined from departure time."}]},"includeTrafficPatterns":{"oneOf":[{"type":"boolean","description":"TOMTOM_REAL_TIME only: combine live traffic with TomTom historical time-of-day traffic patterns (default true). Patterns improve estimates outside peak hours and cover roads without live traffic data. Set false to use live traffic only."},{"type":"null","description":"TOMTOM_REAL_TIME only: combine live traffic with TomTom historical time-of-day traffic patterns (default true). Patterns improve estimates outside peak hours and cover roads without live traffic data. Set false to use live traffic only."}]}}},"description":"Array of route requests to process in batch","maxItems":20,"minItems":2,"isRequired":true,"uniqueKey":"routes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"routes","typeLabel":"object[] | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"routes":[{"coordinates":[[4.9,50.2],[4.8,50.4]]},{"coordinates":[[5.1,50.3],[5,50.5]]}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"4cd2a8a4-2544-43d5-acab-7c91c1061e49":{"description":"Batch routes processed successfully. Batch processing is handled by the external routing service.","content":{"application/json":{"schema":{"description":"Response DTO for batch route processing","type":"object","required":["results","successful","failed","total"],"properties":{"results":{"oneOf":[{"type":"array","items":{"description":"Individual route result within a batch response","type":"object","required":["index"],"properties":{"index":{"oneOf":[{"type":"integer","format":"int32","description":"Index of this route in the original batch request","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].index.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Index of this route in the original batch request","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].index.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].index","typeLabel":"integer\u003cint32> | null"},"result":{"type":"object","description":"Route response","example":{"routes":[{"geometry":"{wkqHi~{\\tLb\\uEvH{mA{`@{~Bnr@gSwKkQsp@iDkjBsn@uS}rAtr@ccBt}AuhBxEal@_Ow}AblCqfA~a@mn@{A_Vz~@w|@x{@{PmP{CikA}Sg|@ec@ve@y[xzEyGbLmLmJolA~yCwaB|_B","legs":[{"steps":[],"summary":"","weight":1976.1,"duration":1976.1,"distance":31561.2}],"weight_name":"routability","weight":1976.1,"duration":1976.1,"distance":31561.2}],"waypoints":[{"hint":"eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe","distance":54.20808645369059,"name":"Avenue de la Restauration","location":[4.899732,50.200456]},{"hint":"o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe","distance":483.4921257061384,"name":"Route des Trois Communes","location":[4.794387,50.397549]}]},"properties":{"routes":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].distance.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].distance.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].distance","typeLabel":"number\u003cdouble> | null"},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].duration.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].duration","typeLabel":"number\u003cdouble> | null"},"geometry":{"oneOf":[{"type":"string","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].geometry.oneOf.0","typeLabel":"string"},{"type":"null","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].geometry.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].geometry","typeLabel":"string | null"},"legs":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].summary.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].summary.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].summary","typeLabel":"string | null"},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].distance.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].distance.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].distance","typeLabel":"number\u003cdouble> | null"},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].duration.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].duration","typeLabel":"number\u003cdouble> | null"},"weight":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].weight.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX].weight","typeLabel":"number\u003cdouble> | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Represents a route between two waypoints.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX].legs","typeLabel":"object[] | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Represents a route through (potentially multiple) waypoints.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"geometry":{"oneOf":[{"type":"string","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."},{"type":"null","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."}]},"legs":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."},{"type":"null","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."}]}}},"description":"Represents a route through (potentially multiple) waypoints.","uniqueKey":"results.oneOf.0.items.[INDEX].result.routes.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.routes","typeLabel":"object[] | null"},"waypoints":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"hint":{"oneOf":[{"type":"string","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services.","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].hint.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services.","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].hint.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].hint","typeLabel":"string | null"},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance of the snapped point from the original","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].distance.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The distance of the snapped point from the original","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].distance.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].distance","typeLabel":"number\u003cdouble> | null"},"name":{"oneOf":[{"type":"string","description":"Name of the street the coordinate snapped to","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the street the coordinate snapped to","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].name","typeLabel":"string | null"},"location":{"oneOf":[{"type":"array","items":{"type":"number","format":"double","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].location.oneOf.0.items.[INDEX]","typeLabel":"number\u003cdouble>"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].location.oneOf.0","typeLabel":"number\u003cdouble>[]"},{"type":"null","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].location.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX].location","typeLabel":"number\u003cdouble>[] | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"List of waypoints to get from A to B.","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"hint":{"oneOf":[{"type":"string","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."},{"type":"null","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance of the snapped point from the original"},{"type":"null","format":"double","description":"The distance of the snapped point from the original"}]},"name":{"oneOf":[{"type":"string","description":"Name of the street the coordinate snapped to"},{"type":"null","description":"Name of the street the coordinate snapped to"}]},"location":{"oneOf":[{"type":"array","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"},{"type":"null","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"}]}}},"description":"List of waypoints to get from A to B.","uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].result.waypoints","typeLabel":"object[] | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX].result","typeLabel":"object"},"error":{"oneOf":[{"type":"object","description":"Error details for a failed route in a batch request","required":["message","code"],"properties":{"message":{"oneOf":[{"type":"string","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.message","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Error code identifying the type of error","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error code identifying the type of error","isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0.code","typeLabel":"string | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"results.oneOf.0.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.oneOf.0.items.[INDEX].error","typeLabel":"object | null"}},"uniqueKey":"results.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Array of individual route results","isRequired":true,"uniqueKey":"results.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"description":"Individual route result within a batch response","type":"object","required":["index"],"properties":{"index":{"oneOf":[{"type":"integer","format":"int32","description":"Index of this route in the original batch request"},{"type":"null","format":"int32","description":"Index of this route in the original batch request"}]},"result":{"type":"object","description":"Route response","example":{"routes":[{"geometry":"{wkqHi~{\\tLb\\uEvH{mA{`@{~Bnr@gSwKkQsp@iDkjBsn@uS}rAtr@ccBt}AuhBxEal@_Ow}AblCqfA~a@mn@{A_Vz~@w|@x{@{PmP{CikA}Sg|@ec@ve@y[xzEyGbLmLmJolA~yCwaB|_B","legs":[{"steps":[],"summary":"","weight":1976.1,"duration":1976.1,"distance":31561.2}],"weight_name":"routability","weight":1976.1,"duration":1976.1,"distance":31561.2}],"waypoints":[{"hint":"eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe","distance":54.20808645369059,"name":"Avenue de la Restauration","location":[4.899732,50.200456]},{"hint":"o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe","distance":483.4921257061384,"name":"Route des Trois Communes","location":[4.794387,50.397549]}]},"properties":{"routes":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"geometry":{"oneOf":[{"type":"string","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."},{"type":"null","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."}]},"legs":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."},{"type":"null","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."}]}}},"description":"Represents a route through (potentially multiple) waypoints."},{"type":"null","items":{"type":"object","properties":{"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"geometry":{"oneOf":[{"type":"string","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."},{"type":"null","description":"The whole geometry of the route value depending on overview parameter, format depending on the geometries parameter. See RouteStep's geometry field for a parameter documentation."}]},"legs":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."},{"type":"null","items":{"type":"object","properties":{"summary":{"oneOf":[{"type":"string"},{"type":"null"}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance traveled by the route, in `float` meters."},{"type":"null","format":"double","description":"The distance traveled by the route, in `float` meters."}]},"duration":{"oneOf":[{"type":"number","format":"double","description":"The estimated travel time, in `float` number of seconds."},{"type":"null","format":"double","description":"The estimated travel time, in `float` number of seconds."}]},"weight":{"oneOf":[{"type":"number","format":"double"},{"type":"null","format":"double"}]}}},"description":"Represents a route between two waypoints."}]}}},"description":"Represents a route through (potentially multiple) waypoints."}]},"waypoints":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"hint":{"oneOf":[{"type":"string","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."},{"type":"null","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance of the snapped point from the original"},{"type":"null","format":"double","description":"The distance of the snapped point from the original"}]},"name":{"oneOf":[{"type":"string","description":"Name of the street the coordinate snapped to"},{"type":"null","description":"Name of the street the coordinate snapped to"}]},"location":{"oneOf":[{"type":"array","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"},{"type":"null","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"}]}}},"description":"List of waypoints to get from A to B."},{"type":"null","items":{"type":"object","properties":{"hint":{"oneOf":[{"type":"string","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."},{"type":"null","description":"Unique internal identifier of the segment (ephemeral, not constant over data updates) This can be used on subsequent request to significantly speed up the query and to connect multiple services."}]},"distance":{"oneOf":[{"type":"number","format":"double","description":"The distance of the snapped point from the original"},{"type":"null","format":"double","description":"The distance of the snapped point from the original"}]},"name":{"oneOf":[{"type":"string","description":"Name of the street the coordinate snapped to"},{"type":"null","description":"Name of the street the coordinate snapped to"}]},"location":{"oneOf":[{"type":"array","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"},{"type":"null","items":{"type":"number","format":"double"},"description":"Array that contains the [longitude, latitude] pair of the snapped coordinate"}]}}},"description":"List of waypoints to get from A to B."}]}}},"error":{"oneOf":[{"type":"object","description":"Error details for a failed route in a batch request","required":["message","code"],"properties":{"message":{"oneOf":[{"type":"string","description":"Error message describing what went wrong"},{"type":"null","description":"Error message describing what went wrong"}]},"code":{"oneOf":[{"type":"string","description":"Error code identifying the type of error"},{"type":"null","description":"Error code identifying the type of error"}]}}},{"type":"null"}]}}},"description":"Array of individual route results","isRequired":true,"uniqueKey":"results.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results","typeLabel":"object[] | null"},"successful":{"oneOf":[{"type":"integer","format":"int32","description":"Number of routes that processed successfully","isRequired":true,"uniqueKey":"successful.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Number of routes that processed successfully","isRequired":true,"uniqueKey":"successful.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"successful","typeLabel":"integer\u003cint32> | null"},"failed":{"oneOf":[{"type":"integer","format":"int32","description":"Number of routes that failed to process","isRequired":true,"uniqueKey":"failed.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Number of routes that failed to process","isRequired":true,"uniqueKey":"failed.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"failed","typeLabel":"integer\u003cint32> | null"},"total":{"oneOf":[{"type":"integer","format":"int32","description":"Total number of routes in the batch","isRequired":true,"uniqueKey":"total.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Total number of routes in the batch","isRequired":true,"uniqueKey":"total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"total","typeLabel":"integer\u003cint32> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":[{"index":123,"result":{"routes":[{"geometry":"{wkqHi~{\\tLb\\uEvH{mA{`@{~Bnr@gSwKkQsp@iDkjBsn@uS}rAtr@ccBt}AuhBxEal@_Ow}AblCqfA~a@mn@{A_Vz~@w|@x{@{PmP{CikA}Sg|@ec@ve@y[xzEyGbLmLmJolA~yCwaB|_B","legs":[{"steps":[],"summary":"","weight":1976.1,"duration":1976.1,"distance":31561.2}],"weight_name":"routability","weight":1976.1,"duration":1976.1,"distance":31561.2}],"waypoints":[{"hint":"eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe","distance":54.20808645369059,"name":"Avenue de la Restauration","location":[4.899732,50.200456]},{"hint":"o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe","distance":483.4921257061384,"name":"Route des Trois Communes","location":[4.794387,50.397549]}]},"error":{"message":"\u003cstring>","code":"\u003cstring>"}}],"successful":123,"failed":123,"total":123}}},"exampleType":"generated"}},"exampleType":"generated"},"44e72666-2a8f-4be3-bba0-e5db804a20f4":{"description":"Bad request - Invalid input parameters","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"},"e9f8ab5c-17e3-4dfd-b723-1d6fb271e6dc":{"description":"Too many requests - Rate limit exceeded","headers":{"X-RateLimit-Limit":{"description":"The maximum number of requests allowed per time window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of requests remaining in the current time window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"The time at which the current rate limit window resets in UTC epoch seconds","schema":{"type":"integer"}},"Retry-After":{"description":"The number of seconds to wait before making another request","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"},"c0ddfc3d-0209-4c5b-9ea5-1883708a0e31":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"},"dae6c971-d660-4a35-81a8-460a2301bb93":{"description":"Bad gateway - External service error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"},"521a29be-84a7-4097-b8d3-263ce64deea8":{"description":"Service unavailable - External service unavailable","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"},"943a3505-60b7-47f7-ba76-1efd93dfe79d":{"description":"Gateway timeout - Request timeout","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","uniqueKey":"timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","timestamp":123}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"27d729fc-b0ea-4887-93b5-9742c24bf8e9":{"apikey":{"type":"apiKey","in":"header","name":"Authorization","description":"API key authentication. Include your API key in the Authorization header.","scopes":[]}}},"servers":{"911a4648-571b-4e0a-a206-0a73d738b950":{"url":"https://routing.solvice.io","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"API key authentication. Include your API key in the Authorization header.","scopes":[]},"schema":{"title":"Authorization","type":"string","description":"API key authentication. Include your API key in the Authorization header.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apikey","name":"Authorization"}],"title":"apikey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"solvice","siteName":"Solvice Maps","title":"/route/batch - Solvice Maps","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-02-24T13:34:23.674Z","originalFileLocation":"route/post-route-batch.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Solvice Maps\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_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/solvice/a7q_O8YS9DKehvTk/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"/route/batch - Solvice Maps\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fast routing, distance matrix, and map tile APIs built on OpenStreetMap\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Solvice Maps\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://maps.solvice.io/route/post-route-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://solvice.io/og-image.png\">\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=\"/route/batch - Solvice Maps\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fast routing, distance matrix, and map tile APIs built on OpenStreetMap\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://solvice.io/og-image.png\">\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/solvice/a7q_O8YS9DKehvTk/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Solvice Maps\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0f62fe\">\u003clink data-mint-head rel=\"canonical\" href=\"https://maps.solvice.io/route/post-route-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/route/post-route-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://maps.solvice.io/#organization\",\"name\":\"Solvice Maps\",\"url\":\"https://maps.solvice.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/solvice/qOsY6dIGQG5uZ9Zf/logo/light.svg?fit=max\u0026auto=format\u0026n=qOsY6dIGQG5uZ9Zf\u0026q=85\u0026s=125635ddde3e055e7b55b663eed75460\"}},{\"@type\":\"WebSite\",\"@id\":\"https://maps.solvice.io#website\",\"name\":\"Solvice Maps\",\"url\":\"https://maps.solvice.io\",\"publisher\":{\"@id\":\"https://maps.solvice.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://maps.solvice.io/route/post-route-batch#webpage\",\"url\":\"https://maps.solvice.io/route/post-route-batch\",\"name\":\"/route/batch\",\"description\":\"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.\",\"dateModified\":\"2026-02-24T13:34:23.674Z\",\"isPartOf\":{\"@id\":\"https://maps.solvice.io#website\"},\"breadcrumb\":{\"@id\":\"https://maps.solvice.io/route/post-route-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://maps.solvice.io/route/post-route-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Directions\",\"item\":\"https://maps.solvice.io/route/intro\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"/route/batch\",\"item\":\"https://maps.solvice.io/route/post-route-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://maps.solvice.io/route/post-route-batch#apireference\",\"headline\":\"/route/batch\",\"name\":\"/route/batch\",\"description\":\"Process multiple route requests in a single API call. Each route in the batch is calculated independently, reducing API overhead for bulk operations.\",\"url\":\"https://maps.solvice.io/route/post-route-batch\",\"mainEntityOfPage\":{\"@id\":\"https://maps.solvice.io/route/post-route-batch#webpage\"},\"image\":\"https://solvice.io/og-image.png\",\"dateModified\":\"2026-02-24T13:34:23.674Z\",\"publisher\":{\"@id\":\"https://maps.solvice.io/#organization\"},\"isPartOf\":{\"@id\":\"https://maps.solvice.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Solvice Maps\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Solvice Maps","nav":{"global":null,"tabs":[{"tab":"Routing","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Changelog","href":"/changelog"},{"title":"OpenAPI spec","href":"/openapi"}]},{"group":"Directions","pages":[{"title":"Introduction","href":"/route/intro"},{"title":"Demo","mode":"wide","href":"/route/demo"},{"openapi":"POST /route","title":"/route","description":"Request a route for 2 or more coordinates. Returns total distance, travel time, and the geometry to plot the route on a map.","href":"/route/post-route"},{"openapi":"POST /route/batch","title":"/route/batch","href":"/route/post-route-batch"}]},{"group":"Matrix","pages":[{"title":"Introduction","description":null,"href":"/table/intro"},{"title":"Demo","mode":"wide","href":"/table/demo"},{"openapi":"POST /table/sync","title":"/table/sync","href":"/table/sync-table"},{"openapi":"POST /table","title":"/table","href":"/table/post-table"},{"openapi":"POST /table/upload","title":"/table/upload","href":"/table/upload-table"},{"openapi":"GET /table/{id}","title":"/table/{id}","href":"/table/get-table"},{"openapi":"get /table/{id}/progress","title":"/table/{id}/progress","href":"/table/get-table-progress"},{"openapi":"GET /table/{id}/response","title":"/table/{id}/response","href":"/table/get-table-response"},{"openapi":"GET /table/{id}/response/url","title":"/table/{id}/response/url","href":"/table/get-table-response-signed-url"}]},{"group":"Cube","pages":[{"title":"Introduction","href":"/cube/intro"},{"openapi":"POST /cube/sync","title":"/cube/sync","href":"/cube/sync-cube"},{"openapi":"POST /cube","title":"/cube","href":"/cube/post-cube"},{"openapi":"GET /cube/{id}","title":"/cube/{id}","href":"/cube/get-cube"},{"openapi":"get /cube/{id}/progress","title":"/cube/{id}/progress","href":"/cube/get-cube-progress"},{"openapi":"GET /cube/{id}/response","title":"/cube/{id}/response","href":"/cube/get-cube-response"},{"openapi":"GET /cube/{id}/response/url","title":"/cube/{id}/response/url","href":"/cube/get-cube-response-signed-url"}]}]},{"tab":"Tiles","pages":[{"title":"Tiles","href":"/tiles/styles"}]}]},"basePath":"","title":"/route/batch - Solvice Maps","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}