HERE Routing API v8

HERE Routing API v8 — 8 operation(s) across 6 path(s), OpenAPI 3.0.2 version 8.162.0, harvested verbatim from the HERE developer documentation. A location service providing customizable route calculations for a variety of vehicle types as well as pedestrian modes.

Operations 8

GET /routes Calculate routes via GET #
POST /routes Calculate routes via POST #
GET /routes/{routeHandle} Get route by handle via GET #
POST /routes/{routeHandle} Get route by handle via POST #
POST /import Calculate a route from a sequence of trace points #
GET /health Health status of the service #
GET /version Full version of the API #
GET /openapi Retrieves this API specification in OpenAPI 3 format #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/here-routing-v8"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

here-routing-v8-openapi.yml Raw ↑
{"openapi":"3.0.2","info":{"title":"Routing API v8","version":"8.162.0","description":"A location service providing customizable route calculations for a variety of vehicle types as well as pedestrian modes.","termsOfService":"https://legal.here.com/en-gb/terms","license":{"name":"HERE Documentation License","url":"https://legal.here.com/en-gb/terms/documentation-license"}},"externalDocs":{"description":"The Developer guide, Release notes, and Migration guide are available here.","url":"https://www.here.com/docs/category/routing-api-v8"},"security":[{"Bearer":[]},{"ApiKey":[]}],"servers":[{"url":"https://router.hereapi.com/v8","description":"Production server for the HERE Routing Service"}],"tags":[{"name":"Routing"},{"name":"API Information","description":"Additional API Information"}],"paths":{"/routes":{"parameters":[{"$ref":"#/components/parameters/transportMode"},{"$ref":"#/components/parameters/origin"},{"$ref":"#/components/parameters/destination"},{"$ref":"#/components/parameters/via"},{"$ref":"#/components/parameters/departureTimeWithAny"},{"$ref":"#/components/parameters/arrivalTime"},{"$ref":"#/components/parameters/routingMode"},{"$ref":"#/components/parameters/alternatives"},{"$ref":"#/components/parameters/avoid"},{"$ref":"#/components/parameters/allow"},{"$ref":"#/components/parameters/exclude"},{"$ref":"#/components/parameters/units"},{"$ref":"#/components/parameters/lang"},{"$ref":"#/components/parameters/return"},{"$ref":"#/components/parameters/spans"},{"$ref":"#/components/parameters/truck"},{"$ref":"#/components/parameters/vehicle"},{"$ref":"#/components/parameters/consumptionModel"},{"$ref":"#/components/parameters/ev"},{"$ref":"#/components/parameters/fuel"},{"$ref":"#/components/parameters/driver"},{"$ref":"#/components/parameters/pedestrianSpeed"},{"$ref":"#/components/parameters/scooter"},{"$ref":"#/components/parameters/currency"},{"$ref":"#/components/parameters/customizations"},{"$ref":"#/components/parameters/taxi"},{"$ref":"#/components/parameters/tolls"},{"$ref":"#/components/parameters/maxSpeedOnSegment"},{"$ref":"#/components/parameters/traffic"},{"$ref":"#/components/parameters/networkRestrictedTruck"},{"$ref":"#/components/parameters/billingTag"},{"$ref":"#/components/parameters/xRequestId"}],"get":{"operationId":"Routing API v8 calculateRoutes","summary":"Calculate routes via GET","tags":["Routing"],"description":"Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc...","responses":{"200":{"$ref":"#/components/responses/RoutesResponseOk"},"400":{"$ref":"#/components/responses/InvalidRoutesRequestResponse"},"401":{"$ref":"#/components/responses/401ErrorResponseWithRequestID"},"403":{"$ref":"#/components/responses/Routing403ErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerErrorRoutesResponse"}}},"post":{"operationId":"Routing API v8 calculateRoutesPost","summary":"Calculate routes via POST","tags":["Routing"],"description":"Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc...\n\nAt the moment, only selected parameters are permitted in the POST body,\nparticularly those that may be restricted in the query string due to request size limitations.\nSee the request body section below for details. All other parameters must be provided in the query string.\nIf a parameter is provided in both the query string and the POST body, their values are merged.\n\nPost body size limit is 10MiB.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculateRoutesPostParameters"},"examples":{"avoid":{"$ref":"#/components/examples/calculateRoutesPostAvoidExample"},"exclude":{"$ref":"#/components/examples/calculateRoutesPostExcludeExample"},"ev":{"$ref":"#/components/examples/calculateRoutesPostEvExample"},"maxSpeedOnSegment":{"$ref":"#/components/examples/calculateRoutesPostMaxSpeedOnSegmentExample"},"networkRestrictedTruck":{"$ref":"#/components/examples/calculateRoutesPostNetworkRestrictedTruckExample"}}}}},"responses":{"200":{"$ref":"#/components/responses/RoutesResponseOk"},"400":{"$ref":"#/components/responses/InvalidRoutesRequestResponse"},"401":{"$ref":"#/components/responses/401ErrorResponseWithRequestID"},"403":{"$ref":"#/components/responses/Routing403ErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerErrorRoutesResponse"}}}},"/routes/{routeHandle}":{"parameters":[{"$ref":"#/components/parameters/routeHandle"},{"$ref":"#/components/parameters/transportMode"},{"$ref":"#/components/parameters/routeHandleOrigin"},{"$ref":"#/components/parameters/departureTimeWithAny"},{"$ref":"#/components/parameters/avoid"},{"$ref":"#/components/parameters/allow"},{"$ref":"#/components/parameters/exclude"},{"$ref":"#/components/parameters/units"},{"$ref":"#/components/parameters/lang"},{"$ref":"#/components/parameters/return"},{"$ref":"#/components/parameters/spans"},{"$ref":"#/components/parameters/truck"},{"$ref":"#/components/parameters/vehicle"},{"$ref":"#/components/parameters/consumptionModel"},{"$ref":"#/components/parameters/evRouteHandle"},{"$ref":"#/components/parameters/fuel"},{"$ref":"#/components/parameters/pedestrianSpeed"},{"$ref":"#/components/parameters/scooter"},{"$ref":"#/components/parameters/currency"},{"$ref":"#/components/parameters/rerouting"},{"$ref":"#/components/parameters/taxi"},{"$ref":"#/components/parameters/tolls"},{"$ref":"#/components/parameters/maxSpeedOnSegment"},{"$ref":"#/components/parameters/traffic"},{"$ref":"#/components/parameters/networkRestrictedTruck"},{"$ref":"#/components/parameters/billingTag"},{"$ref":"#/components/parameters/xRequestId"}],"get":{"operationId":"Routing API v8 getRoutesByHandle","summary":"Get route by handle via GET","tags":["Routing"],"description":"Decodes and returns a route from a previously calculated route handle.\n\n**Disclaimer: A route handle is not suitable for persistent route storage! It can be\ninvalidated at any time.**\n\nA route handle encodes a previously calculated route. A route can be decoded from a handle\nas long as the service uses the same map data and encoding that were used when retrieving the handle.\n\nThus it is suitable for caching routes compactly. It can be used to retrieve updated traffic\ninformation or other data along the route. However, a user should be prepared to recalculate\nthe route when decoding the handle fails.\n\nAll parameters of the `/routes` endpoint are supported, except for `destination`, `via`,\n`alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint.\n\nThe `origin` parameter can be provided to update the start of the previously calculated\nroute.\n\nThe `transportMode` parameter does not have to match the transport mode previously used for\nroute calculation. However, when using a different transport mode, the request may fail,\ne.g. when the route has road segments forbidden for the provided transport mode.\n\nPlease refer to the Developer Guide for more information and examples.\n","responses":{"200":{"$ref":"#/components/responses/RoutesResponseOk"},"400":{"$ref":"#/components/responses/InvalidRoutesRequestResponse"},"401":{"$ref":"#/components/responses/401ErrorResponseWithRequestID"},"403":{"$ref":"#/components/responses/Routing403ErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerErrorRoutesResponse"}}},"post":{"operationId":"Routing API v8 getRoutesByHandlePost","summary":"Get route by handle via POST","tags":["Routing"],"description":"Decodes and returns a route from a previously calculated route handle.\n\n**Disclaimer: A route handle is not suitable for persistent route storage! It can be\ninvalidated at any time.**\n\nA route handle encodes a previously calculated route. A route can be decoded from a handle\nas long as the service uses the same map data and encoding that were used when retrieving the handle.\n\nThus it is suitable for caching routes compactly. It can be used to retrieve updated traffic\ninformation or other data along the route. However, a user should be prepared to recalculate\nthe route when decoding the handle fails.\n\nAll parameters of the `/routes` endpoint are supported, except for `destination`, `via`,\n`alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint.\n\nThe `origin` parameter can be provided to update the start of the previously calculated\nroute.\n\nThe `transportMode` parameter does not have to match the transport mode previously used for\nroute calculation. However, when using a different transport mode, the request may fail,\ne.g. when the route has road segments forbidden for the provided transport mode.\n\nOnly selected parameters are permitted in the POST body. See the request body section below for details.\nIf a parameter is provided in both the query string and the POST body, their values are merged.\n\nPost body size limit is 10MiB.\n\nPlease refer to the Developer Guide for more information and examples.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRoutesByHandlePostParameters"},"examples":{"avoid":{"$ref":"#/components/examples/calculateRoutesPostAvoidExample"},"exclude":{"$ref":"#/components/examples/calculateRoutesPostExcludeExample"},"maxSpeedOnSegment":{"$ref":"#/components/examples/calculateRoutesPostMaxSpeedOnSegmentExample"},"networkRestrictedTruck":{"$ref":"#/components/examples/calculateRoutesPostNetworkRestrictedTruckExample"}}}}},"responses":{"200":{"$ref":"#/components/responses/RoutesResponseOk"},"400":{"$ref":"#/components/responses/InvalidRoutesRequestResponse"},"401":{"$ref":"#/components/responses/401ErrorResponseWithRequestID"},"403":{"$ref":"#/components/responses/Routing403ErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerErrorRoutesResponse"}}}},"/import":{"post":{"operationId":"Routing API v8 importRoute","summary":"Calculate a route from a sequence of trace points","tags":["Routing"],"description":"Creates a route from a sequence of trace points.\n\nPost body size limit is 10MiB.\n\nFor best results, use 1Hz GPS data or any points that have a spacing of a few meters between them.\nFor traces with less frequent points, the Route Import service will attempt to create an approximate reconstruction.\nIn some situations, when consecutive points are too far apart (more than about 30 kilometers of on-road distance), they could be considered unreachable and one of them could fail to be matched.\n","parameters":[{"$ref":"#/components/parameters/transportMode"},{"$ref":"#/components/parameters/departureTimeWithAny"},{"$ref":"#/components/parameters/avoid"},{"$ref":"#/components/parameters/allow"},{"$ref":"#/components/parameters/exclude"},{"$ref":"#/components/parameters/units"},{"$ref":"#/components/parameters/lang"},{"$ref":"#/components/parameters/return"},{"$ref":"#/components/parameters/spans"},{"$ref":"#/components/parameters/truck"},{"$ref":"#/components/parameters/vehicle"},{"$ref":"#/components/parameters/consumptionModel"},{"$ref":"#/components/parameters/evRouteImport"},{"$ref":"#/components/parameters/fuel"},{"$ref":"#/components/parameters/scooter"},{"$ref":"#/components/parameters/taxi"},{"$ref":"#/components/parameters/billingTag"},{"$ref":"#/components/parameters/xRequestId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchTrace"}}}},"responses":{"200":{"$ref":"#/components/responses/RoutesResponseOk"},"400":{"$ref":"#/components/responses/InvalidRoutesRequestResponse"},"401":{"$ref":"#/components/responses/401ErrorResponseWithRequestID"},"403":{"$ref":"#/components/responses/Routing403ErrorResponse"},"429":{"$ref":"#/components/responses/Routing429ErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerErrorRoutesResponse"}}}},"/health":{"get":{"operationId":"Routing API v8 getHealth","summary":"Health status of the service","tags":["API Information"],"description":"Returns the health of the service","parameters":[{"$ref":"#/components/parameters/xRequestId"}],"security":[],"responses":{"200":{"$ref":"#/components/responses/HealthResponseOkWithRequestID"},"default":{"$ref":"#/components/responses/HealthResponseFailWithRequestID"}}}},"/version":{"get":{"operationId":"Routing API v8 getVersion","summary":"Full version of the API","tags":["API Information"],"description":"Returns the version of the service","parameters":[{"$ref":"#/components/parameters/xRequestId"}],"security":[],"responses":{"200":{"$ref":"#/components/responses/VersionResponseOkWithRequestID"},"500":{"$ref":"#/components/responses/500ErrorResponseWithRequestID"},"502":{"$ref":"#/components/responses/502ErrorResponseWithRequestID"},"503":{"$ref":"#/components/responses/503ErrorResponseWithRequestID"},"504":{"$ref":"#/components/responses/504ErrorResponseWithRequestID"}}}},"/openapi":{"get":{"summary":"Retrieves this API specification in OpenAPI 3 format","operationId":"Routing API v8 getOpenapi","tags":["API Information"],"parameters":[{"$ref":"#/components/parameters/xRequestId"}],"security":[],"responses":{"200":{"$ref":"#/components/responses/OpenApiResponseOk"},"500":{"$ref":"#/components/responses/500ErrorResponseWithRequestID"},"502":{"$ref":"#/components/responses/502ErrorResponseWithRequestID"},"503":{"$ref":"#/components/responses/503ErrorResponseWithRequestID"},"504":{"$ref":"#/components/responses/504ErrorResponseWithRequestID"}}}}},"components":{"parameters":{"allow":{"name":"allow","description":"Explicitly allow features that require users to opt in.","in":"query","required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/Allow"}},"alternatives":{"name":"alternatives","description":"Number of alternative routes to return aside from the optimal route.","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":6,"default":0}},"arrivalTime":{"name":"arrivalTime","description":"Specifies the time of arrival as defined by either `date-time` or `full-date` `T` `partial-time` in `RFC 3339`, section 5.6 (for example, `2019-06-24T01:23:45`).\nThe requested time is converted to the local time at destination. When the optional timezone offset is\nnot specified, time is assumed to be local.\nAll `Time` values in the response are returned in the timezone of each location.\n\nNote : The following features do not support the arrivalTime parameter:\n* EV Routing\n* Route Handle\n* Route Import\n","in":"query","allowReserved":true,"required":false,"schema":{"$ref":"#/components/schemas/Time"}},"avoid":{"name":"avoid","description":"Avoid roads that violate certain features of road network or that go through\nuser-specified areas, segments, or zones.\n\nNote that if the origin, destination, or any via is in an avoided area or on an avoided\nfeature, a route is produced that violates the avoid restriction. In such a case, the\nroute is trying to minimize the violation of the avoid restrictions and can therefore\ninclude large deviations from a route that is calculated without these avoid\nrestrictions.\n\nIt is also possible that the produced route violates the avoid restriction in between\nwaypoints, if no other route is possible or too hard to find. One such example is\nrequesting a route to an island that is only reachable with ferries while specifying\n`avoid[features]=ferry`.\n\nWhen using avoid features, it's not guaranteed to get alternatives. Further, they can even\ncause the route calculation to fail, if no route is possible or too hard to find.\n","in":"query","allowReserved":true,"required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/Avoid"},"examples":{"features":{"summary":"Avoid specific features like `tunnel' or `ferry`","value":{"features":"tunnel,ferry"}},"area":{"summary":"Avoid a specific geographical bounding box","value":{"areas":"bbox:13.082,52.416,13.628,52.626"}},"areas":{"summary":"Avoid multiple geographical bounding boxes using `|` as element separator","value":{"areas":"bbox:13.3127778,52.5106221,13.3495852,52.5255681|bbox:13.3958343,52.5171209,13.4286456,52.5405511"}},"complete":{"summary":"Avoid both features and geographical bounding boxes","value":{"features":"tollRoad,tunnel&avoid[areas]=bbox:13.082,52.416,13.628,52.626"}},"segment":{"summary":"Avoid a segment using its identifier","value":{"segments":"here:cm:segment:207551710"}},"segmentsWithDirection":{"summary":"Avoid two segments using their identifiers, also specifying the direction","value":{"segments":"here:cm:segment:207551710#+,here:cm:segment:76771992#*"}},"zones":{"summary":"Avoid multiple environmental zones using identifiers","value":{"zoneIdentifiers":"here:cm:envzone:2,here:cm:envzone:3"}},"zoneCategory":{"summary":"Avoid all environmental zones","value":{"zoneCategories":"environmental"}},"zoneCategoryWithException":{"summary":"Avoid all environmental zones except a specific one","value":{"zoneCategories":"environmental;exceptZoneIds=here:cm:envzone:2"}},"truckRoadTypes":{"summary":"Avoid the specified truck road types","value":{"truckRoadTypes":"BK1,BK2,BK3,BK4"}},"tollTransponders":{"summary":"Avoid all toll transponders","value":{"tollTransponders":"all"}}}},"billingTag":{"name":"billingTag","in":"query","description":"A list of up to six billing tags, separated by the `+` sign.\n\nThis parameter provides a way to track your platform usage.\nFor details, refer to the Cost Management Developer Guide section on [Billing Tags](https://docs.here.com/usage/docs/tutorial-billing-tags)\n","schema":{"type":"string","pattern":"^(?![_-])[A-Za-z0-9_-]{4,16}(?<![_-])(\\+(?![_-])[A-Za-z0-9_-]{4,16}(?<![_-])){0,5}$","example":"ABCD+EFGH"}},"consumptionModel":{"name":"consumptionModel","description":"Specifies which of the EV consumption models is being used. See the `ev` parameter for details on the models.\n\n* `empirical`\n* `physical`\n","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ConsumptionModel"}},"currency":{"name":"currency","in":"query","description":"Currency code compliant to ISO 4217.\nCosts for the calculated route will be returned using this currency.\n\nIf not provided, the router will specify it.\nOn a best-effort basis, the router will try to specify the costs in the local currency.\n","required":false,"schema":{"type":"string"}},"customizations":{"name":"customizations","description":"Specifies a list of customizations to be used. The data provided by these customizations either\nreplaces or augments the standard HERE map data. The provided credentials must authorize access\nto all of the customizations specified.\n\n**Alpha**: This API is in development. It may not be stable and is subject to change.\n","in":"query","allowReserved":true,"required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomizationHRN"}}},"departureTimeWithAny":{"name":"departureTime","description":"Specifies the time of departure as defined by either `date-time` or `full-date` `T`\n`partial-time` in `RFC 3339`, section 5.6 (for example, `2019-06-24T01:23:45`).\n\nThe requested time is converted to local time at origin. When the optional timezone offset\nis not specified, time is assumed to be local. The special value `any` can be used to\nindicate that time should not be taken into account during routing. If neither\n`departureTime` or `arrivalTime` are specified, current time at departure place will be\nused. All time values in the response are returned in the timezone of each location.\n\n**Note**: Only long-term traffic incidents will be used if `departureTime=any` and\n`traffic[mode]=default` or no `traffic[mode]` are specified.\n","in":"query","allowReserved":true,"required":false,"schema":{"$ref":"#/components/schemas/TimeWithAny"}},"destination":{"name":"destination","description":"A location defining the destination of the trip.\n\nFor a description of the format and options for this parameter, please refer to the description of\nthe `origin` parameter.\n\n`destination` supports the same options as the `origin` parameter, with the following exceptions:\n\n## Additional waypoint options:\n\n* `stopDuration`: desired duration for the stop, in seconds. The section arriving at this\n  via waypoint will have a `wait` post action reflecting the stopping time. The\n  subsequent section will start at the arrival time of the former section + stop\n  duration.\n","in":"query","allowReserved":true,"required":true,"schema":{"$ref":"#/components/schemas/Waypoint"},"examples":{"coordinate":{"value":"51.611571,11.351608","summary":"A simple WGS84 coordinate"},"side":{"value":"52.531052,13.384872;sideOfStreetHint=52.530941,13.384939;matchSideOfStreet=always","summary":"Populating sideOfStreetHint in addition to location to avoid ending on the wrong side of the street"},"course":{"value":"51.611571,11.351608;course=170;radius=20;minCourseDistance=500","summary":"Setting course/radius/minCourseDistance an uncertain GPS coordinate of a moving vehicle"},"name":{"value":"52.510319,13.285616;nameHint=Kaiserdamm","summary":"Setting nameHint to avoid matching to the wrong location"},"duration":{"value":"51.611571,11.351608!stopDuration=600","summary":"Addition a stopDuration for an intermediate stop"},"displayLocation":{"value":"52.52697,13.42500;displayLocation=52.51885,13.46237","summary":"This coordinate is the location of the POI as shown by the pin on a map."}}},"driver":{"name":"driver","description":"Driver parameters to be used for calculating routes with automatically added\nrest stops.\n","in":"query","allowReserved":true,"required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/Driver"}},"ev":{"name":"ev","description":"EV properties to be used for calculating consumption.\n\nThere are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use.\n\nRequired `empirical` model properties:\n* `freeFlowSpeedTable`\n\nRequired `physical` model properties:\n* `driveEfficiency`\n* `recuperationEfficiency`\n\nWhen using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details):\n* `rollingResistanceCoefficient`\n* `airDragCoefficient`\n* `currentWeight`\n* `frontalArea` or combination of `width` and `height`\n\nThe following `ev` properties are additionally required in order to calculate State-of-Charge along the route:\n* `initialCharge`\n* `maxCharge`\n\nRoute reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided,\n* `minChargeAtDestination`\n* `minChargeAtFirstChargingStation`\n* `minChargeAtChargingStation`\n\nThe following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter)\n* `chargingCurve`\n\n**Notes**:\n* Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles.\n* EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`.\n\nThe following properties are additionally required for the router to automatically enhance the route with charging stops\n* `makeReachable` set to `true`\n* `chargingCurve`\n* `connectorTypes`\n* `maxChargeAfterChargingStation`\n","in":"query","allowReserved":true,"required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/EV"},"examples":{"physicalModelExample":{"summary":"Typical physical model values.","value":{"driveEfficiency":0.8,"recuperationEfficiency":0.7}}}},"evRouteHandle":{"name":"ev","description":"EV properties to be used for calculating consumption.\n\nThere are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use.\n\nRequired `empirical` model properties:\n* `freeFlowSpeedTable`\n\nRequired `physical` model properties:\n* `driveEfficiency`\n* `recuperationEfficiency`\n\nWhen using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details):\n* `rollingResistanceCoefficient`\n* `airDragCoefficient`\n* `currentWeight`\n* `frontalArea` or combination of `width` and `height`\n\nThe following `ev` properties are additionally required in order to calculate State-of-Charge along the route:\n* `initialCharge`\n* `maxCharge`\n\nRoute reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided,\n* `minChargeAtDestination`\n* `minChargeAtFirstChargingStation`\n* `minChargeAtChargingStation`\n\nThe following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter)\n* `chargingCurve`\n\n**Notes**:\n* Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles.\n* EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`.\n","in":"query","allowReserved":true,"required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/EVRouteHandle"}},"evRouteImport":{"name":"ev","description":"EV properties to be used for calculating consumption.\n\nThere are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use.\n\nRequired `empirical` model properties:\n* `freeFlowSpeedTable`\n\nRequired `physical` model properties:\n* `driveEfficiency`\n* `recuperationEfficiency`\n\nWhen using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details):\n* `rollingResistanceCoefficient`\n* `airDragCoefficient`\n* `currentWeight`\n* `frontalArea` or combination of `width` and `height`\n\nThe following `ev` properties are additionally required in order to calculate State-of-Charge along the route:\n* `initialCharge`\n* `maxCharge`\n\nRoute reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided,\n* `minChargeAtDestination`\n* `minChargeAtFirstChargingStation`\n* `minChargeAtChargingStation`\n\nThe following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter)\n* `chargingCurve`\n\n**Notes**:\n* Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles.\n* EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`.\n\n**Note**: Route import does not support adding charging stations, therefore the following related parameters are ignored:\n* chargingCurve\n* maxChargingVoltage\n* maxChargingCurrent\n* maxChargeAfterChargingStation\n* minChargeAtChargingStation\n* minChargeAtFirstChargingStation\n* chargingSetupDuration\n* connectorTypes\n","in":"query","allowReserved":true,"required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/EVConsumption"}},"exclude":{"name":"exclude","description":"Defines properties which will be strictly excluded from route calculation.\n\nNote - Exclude options guarantees exclusion, but doesn't guarantee\nfinding a route.\n","in":"query","required":false,"explode":true,"style":"deepObject","schema":{"$ref":"#/components/schemas/Exclude"},"examples":{"country":{"summary":"Exclude the country of Switzerland from the route calculation","value":{"countries":"CHE"}},"countries":{"summary":"Exclude both the country of Switzerland and the country of Austria from the route calculation","value":{"countries":"CHE,AUT"}},"state":{"summary":"Exclude DC state of USA from the route calculation","value":{"states":"USA:DC"}},"states":{"summary":"Exclude both states DC and TX of USA from the route calculation","value":{"states":"USA:DC,TX"}},"states_multicountry":{"summary":"Exclude both states DC, TX of USA and AL state of Canada from the route calculation","value":{"states":"USA:DC,TX|CAN:AL"}},"area":{"summary":"Exclude a specific geographical bounding box","value":{"areas":"bbox:13.082,52.416,13.628,52.626"}},"areas":{"summary":"Exclude multiple geographical bounding boxes using `|` as element separator","value":{"areas":"bbox:13.3127778,52.5106221,13.3495852,52.5255681|bbox:13.3958343,52.5171209,13.4286456,52.5405511"}}}},"fuel":{"name":"fuel","description":"**Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.**\n\nFuel parameters to be used for calculating consumption and related CO2 emission.\n\nThe following attributes are required for calculating consumption:\n  * `type`\n  * `freeFlowSpeedTable`\n\n**Notes**:\n* Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles.\n* Fuel parameters are not supported in combination with pedestrian and bicycle `transportMode`.\n","in":"query","required":false,"style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/Fuel"}},"lang":{"name":"lang","description":"Specifies the list of preferred languages of the response.\nThe first supported language from the list will be used for for the response if available.\nThe next languages are used as fallbacks if the first one is not available.\nAdditionally, some more fallback logic is applied if no language is available, like generalizing the requested language code.\nThe value should comply with the [IETF BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).\nA list of supported languages for the routing service, as well as more information on the language fallback logic, can be found in the [Developer Guide](https://docs.here.com/routing/docs/routing-v8-supported-languages).\n\nNote: If the first language in the list is not supported exactly, an info notification will be generated with code `mainLanguageNotFound`.\n","in":"query","schema":{"type":"array","items":{"type":"string"},"default":["en-US"]},"style":"form","explode":false,"example":"zh-tw,en-gb,en-us"},"maxSpeedOnSegment":{"name":"maxSpeedOnSegment","description":"Specify new base speed for segment by value. Affects route selection and the ETA. Cannot increase base speed on segment.\n","in":"query","allowReserved":true,"style":"form","required":false,"schema":{"$ref":"#/components/schemas/MaxSpeedOnSegment"},"examples":{"speed":{"summary":"Setting new base speed on segment","value":{"speed":"here:cm:segment:76771992#*;speed=42"}}}},"networkRestrictedTruck":{"name":"networkRestrictedTruck","description":"**Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.**\n\nParameters specific to the `networkRestrictedTruck` transport mode.\n","in":"query","required":false,"style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/NetworkRestrictedTruck"}},"origin":{"name":"origin","description":"A location defining the origin of the trip.\n\n## Format\n\nFormat: `Place[WaypointOptions]`\n\n* Place: `{lat},{lng}[PlaceOptions]`\n* PlaceOptions: `;option1=<value1>;option2=<value2>...`\n* WaypointOptions: `!option1=<value1>!option2=<value2>...`\n\nA waypoint consists of:\n\n* Exactly one place\n* Optional settings for the place\n* Optional settings for the waypoint itself\n\n## Supported place options\n\n* `course`: int, degrees clock-wise from north. Indicating desired direction at the place.\n  E.g. `90` indicating `east`. Often combined with `radius` and/or `minCourseDistance`\n* `sideOfStreetHint`: `{lat},{lng}`. Indicating the side of the street that should be\n  used. E.g. if the location is to the left of the street, the router will prefer using\n  that side in case the street has dividers. E.g.\n  `52.511496,13.304140;sideOfStreetHint=52.512149,13.304076` indicates that the `north`\n  side of the street should be preferred. This option is required, if `matchSideOfStreet`\n  is set to `always`.\n  Option cannot be combined with `radius`, `radiusPenalty` or `snapRadius`.\n* `displayLocation`: `{lat},{lng}`. Indicates the location on the map where this POI is to be displayed. This attribute is passed through to the `displayLocation` attribute in the corresponding `Place` object in the output.\n* `uTurnPermission`: enum `[allow, avoid]`. Specifies the U-Turn Permission mode at the stop-over waypoint. If unspecified, the permission will be determined by the global setting, avoid[features]=uTurns. This feature is not supported for pass-th

# --- truncated at 32 KB (393 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/here/refs/heads/main/openapi/here-routing-v8-openapi.yml