### GET /version Source: https://docs-be.here.com/bundle/routing-api-v8-api-reference/page/router_api.yaml Returns the version of the service ```markdown ### Parameters - **X-Request-ID** (string, header, optional): User-provided token that can be used to trace a request or a group of requests sent to the service. ### Responses #### 200 - API response in case of success. **VersionResponse** - **apiVersion** (string) (required): The current version of the API. (example: "8.18.0") - **serviceVersion** (string): The current version of the service. (example: "2022-12-15-b706cc8c-9057409") - **dataVersions** (array (DataVersion)): Returns the versions of data sets used by the service. Array items: - **name** (string) (required): Identifies a data set, for example, a HRN, or a service specific identifier (example: "optimized-map-for-routing") - **version** (string) (required): The current version of this data set (example: "2022.346.5.48") #### 500 - API response in case of internal server error. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 502 - API response in case of bad gateway. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 503 - API response in case of service unavailable. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 504 - API response in case of gateway timeout. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") ### Example Usage ```bash curl -X GET "https://router.hereapi.com/v8/version" ``` ``` -------------------------------- ### GET /openapi Source: https://docs-be.here.com/bundle/routing-api-v8-api-reference/page/router_api.yaml API endpoint for GET /openapi ```markdown ### Parameters - **X-Request-ID** (string, header, optional): User-provided token that can be used to trace a request or a group of requests sent to the service. ### Responses #### 200 - API specification in OpenAPI 3 format #### 500 - API response in case of internal server error. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 502 - API response in case of bad gateway. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 503 - API response in case of service unavailable. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") #### 504 - API response in case of gateway timeout. **ErrorResponse** - **title** (string) (required): Human-readable error description (example: "Input data failed validation") - **status** (integer) (required): HTTP status code (example: 400) - **code** (string) (required): Error code. All error codes start with "`E60`". (example: "E600101") - **cause** (string) (required): Human-readable explanation for the error (example: "The input data in question does not comply with validation rules") - **action** (string) (required): Human-readable description of the action that can be taken to correct the error (example: "Request a valid id") - **correlationId** (string) (required): Auto-generated id that univocally identifies the request (example: "4199533b-6290-41db-8d79-edf4f4019a74") ### Example Usage ```bash curl -X GET "https://router.hereapi.com/v8/openapi" ``` ``` -------------------------------- ### Schema: GetRoutesByHandlePostParameters Source: https://docs-be.here.com/bundle/routing-api-v8-api-reference/page/router_api.yaml Parameters of the POST body for get route by handle ```markdown ## Schema: GetRoutesByHandlePostParameters Parameters of the POST body for get route by handle **Type:** object - **avoid** (object): Avoid routes that violate certain features of road network or that go through user-specified geographical bounding boxes. For the general description of the functionality please refer to the `avoid` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. - **segments** (array (string)): An array of segment identifiers that routes will avoid going through. Each entry has the following structure: `{segmentId}(#{direction})?` The individual parts are: * segmentId: The identifier of the referenced topology segment inside the catalog, example: `here:cm:segment:207551710` * direction (optional): Either '*' for bidirectional (default), '+' for positive direction, or '-' for negative direction Example of a parameter value excluding two segments: `["here:cm:segment:207551710#+", "here:cm:segment:76771992#*"]` **Note**: Maximum number of penalized segments in one request should not be greater than 1000. "Penalized segments" refers to segments that have a restriction on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]` - **areas** (array (AreaPost)): List of user-defined areas that routes should avoid/exclude going through. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. (example: {"areas":[{"type":"polygon","outer":[{"lat":52.514414,"lng":13.384685},{"lat":52.514414,"lng":13.393568},{"lat":52.512403,"lng":13.393568},{"lat":52.512403,"lng":13.384685}]},{"type":"encodedPolygon","outer":"BG8mnlkD6-9wZAmrR19DAAlrR"},{"type":"boundingBox","west":1.1,"south":2.2,"east":3.3,"north":4.4,"exceptions":[{"type":"polygon","outer":[{"lat":52.514414,"lng":13.384685},{"lat":52.514414,"lng":13.393568},{"lat":52.512403,"lng":13.393568},{"lat":52.512403,"lng":13.384685}]},{"type":"encodedPolygon","outer":"BG8mnlkD6-9wZAmrR19DAAlrR"}]}]}) Array items: - **type** (string) (required) (example: "boundingBox") - **north** (number) (required): Latitude in WGS-84 degrees of the northern boundary of the box. (example: 30) - **south** (number) (required): Latitude in WGS-84 degrees of the southern boundary of the box. (example: 30) - **east** (number) (required): Longitude in WGS-84 degrees of the eastern boundary of the box (example: 30) - **west** (number) (required): Longitude in WGS-84 degrees of the western boundary of the box. (example: 30) - **exceptions** (array (Area)): Optional list of areas to exclude from avoidance. Array items: - **exclude** (object): User-specified properties that need to be strictly excluded during route calculation. For the general description of the functionality please refer to the `exclude` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. - **areas** (array (AreaPost)): List of user-defined areas that routes should avoid/exclude going through. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. (example: {"areas":[{"type":"polygon","outer":[{"lat":52.514414,"lng":13.384685},{"lat":52.514414,"lng":13.393568},{"lat":52.512403,"lng":13.393568},{"lat":52.512403,"lng":13.384685}]},{"type":"encodedPolygon","outer":"BG8mnlkD6-9wZAmrR19DAAlrR"},{"type":"boundingBox","west":1.1,"south":2.2,"east":3.3,"north":4.4,"exceptions":[{"type":"polygon","outer":[{"lat":52.514414,"lng":13.384685},{"lat":52.514414,"lng":13.393568},{"lat":52.512403,"lng":13.393568},{"lat":52.512403,"lng":13.384685}]},{"type":"encodedPolygon","outer":"BG8mnlkD6-9wZAmrR19DAAlrR"}]}]}) Array items: - **maxSpeedOnSegment** (array (MaxSpeedOnSegmentPost_inner)): Segments with restrictions on maximum `baseSpeed`. For the general description of the functionality please refer to the `maxSpeedOnSegment` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. Example of a parameter value excluding two segments: ``` [ { "segment": "here:cm:segment:207551710#+", "speed": 10 }, { "segment": "here:cm:segment:76771992", "speed": 1 } ] ``` **Notes**: - Maximum number of penalized segments in one request cannot be greater than 1000. "penalized segments" refer to segments that have a restrictions on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]`. - In case the same segment is penalized multiple times through values provided in the query string and/or the POST body, then the most restrictive value will be applied. Array items: - **segment** (string): Identifier of the segment with restrictions on maximum `baseSpeed`. Each entry has the following structure: `{segmentId}(#{direction})?` - **speed** (number): Maximum `baseSpeed` on segment in m/s. ``` -------------------------------- ### Security: apiKey Source: https://docs-be.here.com/bundle/routing-api-v8-api-reference/page/router_api.yaml A key generated specifically to authenticate API requests. For more information on how to get an API key, see [Identity and Access Management Developer Guide](https://www.here.com/docs/bundle/identity-and-access-management-developer-guide). ```markdown ## Security: apiKey **Description:** A key generated specifically to authenticate API requests. For more information on how to get an API key, see [Identity and Access Management Developer Guide](https://www.here.com/docs/bundle/identity-and-access-management-developer-guide). **Type:** apiKey ```