Skip to content

Instantly share code, notes, and snippets.

@spigelli
Created November 24, 2022 00:29
Show Gist options
  • Save spigelli/6be4173795c8357ca0b8f3dc4f7c59b8 to your computer and use it in GitHub Desktop.
Save spigelli/6be4173795c8357ca0b8f3dc4f7c59b8 to your computer and use it in GitHub Desktop.
Open Routing Service Swagger 2.0 Specification
This file has been truncated, but you can view the full file.
{
"swagger": "2.0",
"info": {
"description": "This is the openrouteservice API V2 documentation for ORS Core-Version `6.8.0`. Documentations for [older Core-Versions](https:\/\/github.com\/GIScience\/openrouteservice-docs\/releases) can be rendered with the [Swagger-Editor](https:\/\/editor.swagger.io\/).",
"title": "Openrouteservice",
"contact": {
"email": "enquiry@openrouteservice.heigit.org"
},
"license": {
"name": "MIT",
"url": "https:\/\/github.com\/swagger-api\/swagger-ui\/blob\/master\/LICENSE"
},
"version": "6.8.0"
},
"host": "api.openrouteservice.org",
"basePath": "\/",
"tags": [
{
"name": "Centrality",
"description": "Get node centrality for different modes of transport"
},
{
"name": "Directions",
"description": "Get directions for different modes of transport"
},
{
"name": "Isochrones",
"description": "Obtain areas of reachability from given locations"
},
{
"name": "Matrix",
"description": "Obtain one-to-many, many-to-one and many-to-many matrices for time and distance"
},
{
"name": "health-api",
"description": "Health API"
},
{
"name": "status-api",
"description": "Status API"
},
{
"name": "Geocode",
"description": "Resolve input coordinates to addresses and vice versa"
},
{
"name": "Pois",
"description": "Obtain POIs of an area"
},
{
"name": "Elevation",
"description": "Returns elevation for point or line geometries by building 3D geometries from freely available data sources.\n"
},
{
"name": "Optimization",
"description": ""
}
],
"paths": {
"\/v2\/centrality\/{profile}": {
"post": {
"tags": [
"Centrality"
],
"summary": "Centrality Service (POST)",
"description": "Returns an ordered list of points and centrality values within a given bounding box for a selected profile and its settings as JSON",
"operationId": "getDefaultUsingPOST",
"consumes": [
"application\/json"
],
"produces": [
"*\/*",
"application\/json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"type": "object",
"required": [
"bbox"
],
"properties": {
"bbox": {
"type": "array",
"description": "The bounding box to use for the request as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"excludeNodes": {
"type": "array",
"description": "List of node Ids to exclude when calculating centrality",
"items": {
"type": "integer",
"format": "int32"
}
},
"id": {
"type": "string",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"mode": {
"type": "string",
"description": "Specifies the centrality calculation mode. Currently, node-based and edge-based centrality calculation is supported.",
"enum": [
"nodes",
"edges"
]
}
},
"title": "Centrality Service",
"description": "The JSON body request sent to the centrality service which defines options and parameters regarding the centrality measure to calculate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns JSON.",
"schema": {
"type": "object",
"properties": {
"edgeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromId": {
"type": "integer",
"format": "int32",
"description": "Id of the start point of the edge"
},
"score": {
"type": "number",
"format": "double",
"description": "Centrality Score of the corresponding edge in the given bounding box"
},
"toId": {
"type": "integer",
"format": "int32",
"description": "Id of the end point of the edge"
}
},
"title": "JsonEdgeScore"
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coord": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
}
},
"title": "JsonCentralityLocation"
}
},
"nodeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding node in the given bounding box"
}
},
"title": "JsonNodeScore"
}
},
"warning": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"title": "JsonCentralityResponse",
"description": "The Centrality Response contains centrality values for nodes or edges in the requested BBox"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/centrality\/{profile}\/json": {
"post": {
"tags": [
"Centrality"
],
"summary": "Centrality Service JSON (POST)",
"description": "Returns an ordered list of points and centrality values within a given bounding box for a selected profile and its settings as JSON",
"operationId": "getJsonCentralityUsingPOST",
"consumes": [
"application\/json"
],
"produces": [
"application\/json;charset=UTF-8",
"application\/json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"type": "object",
"required": [
"bbox"
],
"properties": {
"bbox": {
"type": "array",
"example": [
8.681495,
49.41461,
8.686507,
49.41943
],
"description": "The bounding box to use for the request as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"excludeNodes": {
"type": "array",
"example": [
1661,
1662,
1663
],
"description": "List of node Ids to exclude when calculating centrality",
"items": {
"type": "integer",
"format": "int32"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"mode": {
"type": "string",
"example": "nodes",
"description": "Specifies the centrality calculation mode. Currently, node-based and edge-based centrality calculation is supported.",
"enum": [
"nodes",
"edges"
]
}
},
"title": "Centrality Service",
"description": "The JSON body request sent to the centrality service which defines options and parameters regarding the centrality measure to calculate."
}
}
],
"responses": {
"200": {
"description": "JSON Response",
"schema": {
"type": "object",
"properties": {
"edgeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the start point of the edge"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding edge in the given bounding box"
},
"toId": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Id of the end point of the edge"
}
},
"title": "JsonEdgeScore"
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coord": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
}
},
"title": "JsonCentralityLocation"
}
},
"nodeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding node in the given bounding box"
}
},
"title": "JsonNodeScore"
}
},
"warning": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"title": "JsonCentralityResponse",
"description": "The Centrality Response contains centrality values for nodes or edges in the requested BBox"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/directions\/{profile}": {
"get": {
"tags": [
"Directions"
],
"summary": "Directions Service (GET)",
"description": "Get a basic route between two points with the profile provided. Returned response is in GeoJSON format. This method does not accept any request body or parameters other than profile, start coordinate, and end coordinate.",
"operationId": "getSimpleGeoJsonRouteUsingGET",
"produces": [
"application\/geo+json;charset=UTF-8"
],
"parameters": [
{
"name": "end",
"in": "query",
"description": "Destination coordinate of the route in `longitude,latitude` format.",
"required": true,
"type": "string",
"allowEmptyValue": false,
"x-example": "8.687872,49.420318"
},
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"name": "start",
"in": "query",
"description": "Start coordinate of the route in `longitude,latitude` format.",
"required": true,
"type": "string",
"allowEmptyValue": false,
"x-example": "8.681495,49.41461"
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns GeoJSON. The decoded values of the extra information can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html).",
"schema": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"features": {
"type": "array",
"items": {
"type": "object"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the request"
},
"type": {
"type": "string"
}
},
"title": "GeoJSONRouteResponse"
}
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
},
"post": {
"tags": [
"Directions"
],
"summary": "Directions Service (POST)",
"description": "Returns a route between two or more locations for a selected profile and its settings as JSON",
"operationId": "getDefaultUsingPOST_2",
"consumes": [
"application\/json"
],
"produces": [
"*\/*",
"application\/json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns JSON. The decoded values of the extra information can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html).",
"schema": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the service and request"
},
"routes": {
"type": "array",
"description": "A list of routes returned from the request",
"items": {
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T13:15:00+01:00",
"description": "Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}"
},
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "A bounding box which contains the entire route",
"items": {
"type": "number",
"format": "double"
}
},
"departure": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00+01:00",
"description": "Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}"
},
"extras": {
"type": "object",
"description": "List of extra info objects representing the extra info items that were requested for the route.",
"additionalProperties": {
"type": "object",
"properties": {
"summary": {
"type": "array",
"description": "List representing the summary of the extra info items.",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
}
},
"values": {
"type": "array",
"example": [
[
0,
3,
26
],
[
3,
10,
12
]
],
"description": "A list of values representing a section of the route. The individual values are: \nValue 1: Indice of the staring point of the geometry for this section,\nValue 2: Indice of the end point of the geoemetry for this sections,\nValue 3: [Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) assigned to this section.",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"title": "JSONExtra",
"description": "An object representing one of the extra info items requested"
}
},
"segments": {
"type": "array",
"description": "List containing the segments and its corresponding steps which make up the route.",
"items": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 56.3,
"description": " Contains ascent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"avgspeed": {
"type": "number",
"format": "double",
"example": 56.3,
"description": "Contains the average speed of this segment in km\/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 45.2,
"description": "Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"detourfactor": {
"type": "number",
"format": "double",
"example": 0.5,
"description": "Contains the deviation compared to a straight line that would have the factor `1`. Double the Distance would be a `2`. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'detourfactor'}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 253,
"description": "Contains the distance of the segment in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 37.7,
"description": "Contains the duration of the segment in seconds."
},
"percentage": {
"type": "number",
"format": "double",
"example": 43.2,
"description": "Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}"
},
"steps": {
"type": "array",
"description": "List containing the specific steps the segment consists of.",
"items": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
}
}
},
"title": "JSONSegment",
"description": "List containing the segments and its correspoding steps which make up the route."
}
},
"summary": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 166.3,
"description": "Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 201.3,
"description": "Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 12.6,
"description": "Total route distance in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 604,
"description": "Total duration in seconds."
}
},
"title": "JSONSummary",
"description": "Summary information about the route"
},
"warnings": {
"type": "array",
"description": "List of warnings that have been generated for the route",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"way_points": {
"type": "array",
"example": [
0,
23
],
"description": "List containing the indices of way points corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONIndividualRouteResponse",
"description": "An individual JSON based route created by the service"
}
}
},
"title": "JSONRouteResponse"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/directions\/{profile}\/geojson": {
"post": {
"tags": [
"Directions"
],
"summary": "Directions Service GeoJSON (POST)",
"description": "Returns a route between two or more locations for a selected profile and its settings as GeoJSON",
"operationId": "getGeoJsonRouteUsingPOST",
"consumes": [
"application\/json"
],
"produces": [
"application\/geo+json;charset=UTF-8",
"application\/geo+json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns GeoJSON. The decoded values of the extra information can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html).",
"schema": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"features": {
"type": "array",
"items": {
"type": "object"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the request"
},
"type": {
"type": "string"
}
},
"title": "GeoJSONRouteResponse"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/directions\/{profile}\/gpx": {
"post": {
"tags": [
"Directions"
],
"summary": "Directions Service GPX (POST)",
"description": "Returns a route between two or more locations for a selected profile and its settings as GPX. The schema can be found [here](https:\/\/raw.githubusercontent.com\/GIScience\/openrouteservice-schema\/master\/gpx\/v1\/ors-gpx.xsd)",
"operationId": "getGPXRouteUsingPOST",
"consumes": [
"application\/json"
],
"produces": [
"application\/gpx+xml;charset=UTF-8",
"application\/gpx+xml"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns GPX.",
"schema": {
"type": "object",
"properties": {
"gpxRouteElements": {
"type": "array",
"items": {
"type": "object",
"title": "rte",
"xml": {
"name": "rte",
"attribute": false,
"wrapped": false
}
}
}
},
"title": "gpx",
"xml": {
"name": "gpx",
"attribute": false,
"wrapped": false
}
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/directions\/{profile}\/json": {
"post": {
"tags": [
"Directions"
],
"summary": "Directions Service JSON (POST)",
"description": "Returns a route between two or more locations for a selected profile and its settings as JSON",
"operationId": "getJsonRouteUsingPOST",
"consumes": [
"application\/json"
],
"produces": [
"application\/json;charset=UTF-8",
"application\/json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
}
],
"responses": {
"200": {
"description": "JSON Response",
"schema": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the service and request"
},
"routes": {
"type": "array",
"description": "A list of routes returned from the request",
"items": {
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T13:15:00+01:00",
"description": "Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}"
},
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "A bounding box which contains the entire route",
"items": {
"type": "number",
"format": "double"
}
},
"departure": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00+01:00",
"description": "Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}"
},
"extras": {
"type": "object",
"description": "List of extra info objects representing the extra info items that were requested for the route.",
"additionalProperties": {
"type": "object",
"properties": {
"summary": {
"type": "array",
"description": "List representing the summary of the extra info items.",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
}
},
"values": {
"type": "array",
"example": [
[
0,
3,
26
],
[
3,
10,
12
]
],
"description": "A list of values representing a section of the route. The individual values are: \nValue 1: Indice of the staring point of the geometry for this section,\nValue 2: Indice of the end point of the geoemetry for this sections,\nValue 3: [Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) assigned to this section.",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"title": "JSONExtra",
"description": "An object representing one of the extra info items requested"
}
},
"segments": {
"type": "array",
"description": "List containing the segments and its corresponding steps which make up the route.",
"items": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 56.3,
"description": " Contains ascent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"avgspeed": {
"type": "number",
"format": "double",
"example": 56.3,
"description": "Contains the average speed of this segment in km\/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 45.2,
"description": "Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"detourfactor": {
"type": "number",
"format": "double",
"example": 0.5,
"description": "Contains the deviation compared to a straight line that would have the factor `1`. Double the Distance would be a `2`. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'detourfactor'}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 253,
"description": "Contains the distance of the segment in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 37.7,
"description": "Contains the duration of the segment in seconds."
},
"percentage": {
"type": "number",
"format": "double",
"example": 43.2,
"description": "Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}"
},
"steps": {
"type": "array",
"description": "List containing the specific steps the segment consists of.",
"items": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
}
}
},
"title": "JSONSegment",
"description": "List containing the segments and its correspoding steps which make up the route."
}
},
"summary": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 166.3,
"description": "Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 201.3,
"description": "Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 12.6,
"description": "Total route distance in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 604,
"description": "Total duration in seconds."
}
},
"title": "JSONSummary",
"description": "Summary information about the route"
},
"warnings": {
"type": "array",
"description": "List of warnings that have been generated for the route",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"way_points": {
"type": "array",
"example": [
0,
23
],
"description": "List containing the indices of way points corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONIndividualRouteResponse",
"description": "An individual JSON based route created by the service"
}
}
},
"title": "JSONRouteResponse"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/health": {
"get": {
"tags": [
"health-api"
],
"summary": "fetchHealth",
"operationId": "fetchHealthUsingGET",
"produces": [
"*\/*"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object"
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
},
"\/v2\/isochrones\/{profile}": {
"post": {
"tags": [
"Isochrones"
],
"summary": "Isochrones Service",
"description": "The Isochrone Service supports time and distance analyses for one single or multiple locations.\nYou may also specify the isochrone interval or provide multiple exact isochrone range values.\nThis service allows the same range of profile options as the \/directions endpoint,\nwhich help you to further customize your request to obtain a more detailed reachability area response.",
"operationId": "getDefaultIsochronesUsingPOST",
"consumes": [
"application\/json",
"application\/geo+json"
],
"produces": [
"application\/geo+json;charset=UTF-8"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the route profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"type": "object",
"required": [
"locations",
"range"
],
"properties": {
"area_units": {
"type": "string",
"description": "Specifies the area unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}",
"enum": [
"m",
"km",
"mi"
]
},
"attributes": {
"type": "array",
"example": [
"area"
],
"description": "List of isochrones attributes",
"items": {
"type": "string",
"enum": [
"area",
"reachfactor",
"total_pop"
]
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"intersections": {
"type": "boolean",
"description": "Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}"
},
"interval": {
"type": "number",
"format": "double",
"example": 30,
"description": "Interval of isochrones or equidistants. This is only used if a single range value is given. Value in **seconds** for time and **meters** for distance."
},
"location_type": {
"type": "string",
"example": "start",
"description": "`start` treats the location(s) as starting point, `destination` as goal. CUSTOM_KEYS:{'apiDefault':'start'}",
"enum": [
"start",
"destination"
]
},
"locations": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
]
],
"description": "The locations to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Additional options for the isochrones request",
"example": {
"avoid_borders": "all"
}
},
"range": {
"type": "array",
"example": [
300,
200
],
"description": "Maximum range value of the analysis in **seconds** for time and **metres** for distance.Alternatively a comma separated list of specific range values. Ranges will be the same for all locations.",
"items": {
"type": "number",
"format": "double"
}
},
"range_type": {
"type": "string",
"example": "time",
"description": "Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}",
"enum": [
"time",
"distance"
]
},
"smoothing": {
"type": "number",
"format": "double",
"example": 25,
"description": "Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.\nGeneralisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.\nIf the distance is larger than a threshold value, the line between the two points is removed and a smaller connecting line between other points is used.\nNote that the minimum length of this connecting line is ~1333m, and so when the `smoothing_factor` results in a distance smaller than this, the minimum value is used.\nThe threshold value is determined as `(maximum_radius_of_isochrone \/ 100) * smoothing_factor`.\nTherefore, a value closer to 100 will result in a more generalised shape.\nThe polygon generation algorithm is based on Duckham and al. (2008) `\"Efficient generation of simple polygons for characterizing the shape of a set of points in the plane.\"`"
},
"time": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00",
"description": "Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance units only if `range_type` is set to distance.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "IsochronesRequest",
"description": "The JSON body request sent to the isochrones service which defines options and parameters regarding the isochrones to generate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns GeoJSON.",
"schema": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned isochrones",
"items": {
"type": "number",
"format": "double"
}
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"geometry": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"type": {
"type": "string"
}
},
"title": "GeoJSONIsochroneBase"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the isochrones service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations",
"range"
],
"properties": {
"area_units": {
"type": "string",
"description": "Specifies the area unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}",
"enum": [
"m",
"km",
"mi"
]
},
"attributes": {
"type": "array",
"example": [
"area"
],
"description": "List of isochrones attributes",
"items": {
"type": "string",
"enum": [
"area",
"reachfactor",
"total_pop"
]
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"intersections": {
"type": "boolean",
"description": "Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}"
},
"interval": {
"type": "number",
"format": "double",
"example": 30,
"description": "Interval of isochrones or equidistants. This is only used if a single range value is given. Value in **seconds** for time and **meters** for distance."
},
"location_type": {
"type": "string",
"example": "start",
"description": "`start` treats the location(s) as starting point, `destination` as goal. CUSTOM_KEYS:{'apiDefault':'start'}",
"enum": [
"start",
"destination"
]
},
"locations": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
]
],
"description": "The locations to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Additional options for the isochrones request",
"example": {
"avoid_borders": "all"
}
},
"range": {
"type": "array",
"example": [
300,
200
],
"description": "Maximum range value of the analysis in **seconds** for time and **metres** for distance.Alternatively a comma separated list of specific range values. Ranges will be the same for all locations.",
"items": {
"type": "number",
"format": "double"
}
},
"range_type": {
"type": "string",
"example": "time",
"description": "Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}",
"enum": [
"time",
"distance"
]
},
"smoothing": {
"type": "number",
"format": "double",
"example": 25,
"description": "Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.\nGeneralisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.\nIf the distance is larger than a threshold value, the line between the two points is removed and a smaller connecting line between other points is used.\nNote that the minimum length of this connecting line is ~1333m, and so when the `smoothing_factor` results in a distance smaller than this, the minimum value is used.\nThe threshold value is determined as `(maximum_radius_of_isochrone \/ 100) * smoothing_factor`.\nTherefore, a value closer to 100 will result in a more generalised shape.\nThe polygon generation algorithm is based on Duckham and al. (2008) `\"Efficient generation of simple polygons for characterizing the shape of a set of points in the plane.\"`"
},
"time": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00",
"description": "Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance units only if `range_type` is set to distance.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "IsochronesRequest",
"description": "The information that was used for generating the isochrones"
},
"service": {
"type": "string",
"example": "isochrones",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "IsochronesResponseInfo",
"description": "Information about the request"
},
"type": {
"type": "string"
}
},
"title": "GeoJSONIsochronesResponse"
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/matrix\/{profile}": {
"post": {
"tags": [
"Matrix"
],
"summary": "Matrix Service",
"description": "Returns duration or distance matrix for multiple source and destination points.\nBy default a square duration matrix is returned where every point in locations is paired with each other. The result is null if a value can\u2019t be determined.",
"operationId": "getDefaultUsingPOST_1",
"consumes": [
"application\/json"
],
"produces": [
"application\/json;charset=UTF-8",
"application\/json"
],
"parameters": [
{
"name": "profile",
"in": "path",
"description": "Specifies the matrix profile.",
"required": true,
"type": "string",
"x-example": "driving-car",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-road",
"cycling-mountain",
"cycling-electric",
"foot-walking",
"foot-hiking",
"wheelchair"
]
},
{
"in": "body",
"name": "request",
"description": "The request payload",
"required": true,
"schema": {
"type": "object",
"required": [
"locations"
],
"properties": {
"destinations": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"locations": {
"type": "array",
"example": [
[
9.70093,
48.477473
],
[
9.207916,
49.153868
],
[
37.573242,
55.801281
],
[
115.663757,
38.106467
]
],
"description": "List of comma separated lists of `longitude,latitude` coordinates.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metrics": {
"type": "array",
"description": "Specifies a list of returned metrics.\n* `distance` - Returns distance matrix for specified points in defined `units`.\n* `duration` - Returns duration matrix for specified points in **seconds**. CUSTOM_KEYS:{'apiDefault':'duration'}",
"items": {
"type": "string",
"enum": [
"distance",
"duration"
]
}
},
"resolve_locations": {
"type": "boolean",
"description": "Specifies whether given locations are resolved or not. If the parameter value set to `true`, every element in `destinations` and `sources` will contain a `name` element that identifies the name of the closest street. Default is `false`. CUSTOM_KEYS:{'apiDefault':false}"
},
"sources": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). example `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"units": {
"type": "string",
"description": "Specifies the distance unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "MatrixRequest",
"description": "The JSON body request sent to the matrix service which defines options and parameters regarding the matrix to generate."
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests. Returns JSON.",
"schema": {
"type": "object",
"properties": {
"destinations": {
"type": "array",
"description": "The individual destinations of the matrix calculations.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DDestinations"
}
},
"distances": {
"type": "array",
"example": [
[
0,
0.25
],
[
0.25,
0
]
],
"description": "The distances of the matrix calculations.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"durations": {
"type": "array",
"example": [
[
0,
25
],
[
25,
0
]
],
"description": "The durations of the matrix calculations.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org, OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations"
],
"properties": {
"destinations": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"locations": {
"type": "array",
"example": [
[
9.70093,
48.477473
],
[
9.207916,
49.153868
],
[
37.573242,
55.801281
],
[
115.663757,
38.106467
]
],
"description": "List of comma separated lists of `longitude,latitude` coordinates.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metrics": {
"type": "array",
"description": "Specifies a list of returned metrics.\n* `distance` - Returns distance matrix for specified points in defined `units`.\n* `duration` - Returns duration matrix for specified points in **seconds**. CUSTOM_KEYS:{'apiDefault':'duration'}",
"items": {
"type": "string",
"enum": [
"distance",
"duration"
]
}
},
"resolve_locations": {
"type": "boolean",
"description": "Specifies whether given locations are resolved or not. If the parameter value set to `true`, every element in `destinations` and `sources` will contain a `name` element that identifies the name of the closest street. Default is `false`. CUSTOM_KEYS:{'apiDefault':false}"
},
"sources": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). example `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"units": {
"type": "string",
"description": "Specifies the distance unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "MatrixRequest",
"description": "The information that was used for generating the matrix"
},
"service": {
"type": "string",
"example": "matrix",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "MatrixResponseInfo",
"description": "Information about the service and request"
},
"sources": {
"type": "array",
"description": "The individual sources of the matrix calculations.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DSources"
}
}
},
"title": "JSONMatrixResponse",
"description": "The Matrix Response contains one matrix for each specified `metrics` value."
}
},
"201": {
"description": "Created"
},
"400": {
"description": "The request is incorrect and therefore can not be processed."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "An element could not be found. If possible, a more detailed error code is provided."
},
"405": {
"description": "The specified HTTP method is not supported. For more details, refer to the EndPoint documentation."
},
"413": {
"description": "The request is larger than the server is able to process, the data provided in the request exceeds the capacity limit."
},
"500": {
"description": "An unexpected error was encountered and a more detailed error code is provided."
},
"501": {
"description": "Indicates that the server does not support the functionality needed to fulfill the request."
},
"503": {
"description": "The server is currently unavailable due to overload or maintenance."
}
},
"deprecated": false
}
},
"\/v2\/status": {
"get": {
"tags": [
"status-api"
],
"summary": "fetchHealth",
"operationId": "fetchHealthUsingGET_1",
"produces": [
"*\/*"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"properties": {
"body": {
"type": "object"
},
"statusCode": {
"type": "string",
"enum": [
"100 CONTINUE",
"101 SWITCHING_PROTOCOLS",
"102 PROCESSING",
"103 CHECKPOINT",
"200 OK",
"201 CREATED",
"202 ACCEPTED",
"203 NON_AUTHORITATIVE_INFORMATION",
"204 NO_CONTENT",
"205 RESET_CONTENT",
"206 PARTIAL_CONTENT",
"207 MULTI_STATUS",
"208 ALREADY_REPORTED",
"226 IM_USED",
"300 MULTIPLE_CHOICES",
"301 MOVED_PERMANENTLY",
"302 FOUND",
"302 MOVED_TEMPORARILY",
"303 SEE_OTHER",
"304 NOT_MODIFIED",
"305 USE_PROXY",
"307 TEMPORARY_REDIRECT",
"308 PERMANENT_REDIRECT",
"400 BAD_REQUEST",
"401 UNAUTHORIZED",
"402 PAYMENT_REQUIRED",
"403 FORBIDDEN",
"404 NOT_FOUND",
"405 METHOD_NOT_ALLOWED",
"406 NOT_ACCEPTABLE",
"407 PROXY_AUTHENTICATION_REQUIRED",
"408 REQUEST_TIMEOUT",
"409 CONFLICT",
"410 GONE",
"411 LENGTH_REQUIRED",
"412 PRECONDITION_FAILED",
"413 PAYLOAD_TOO_LARGE",
"413 REQUEST_ENTITY_TOO_LARGE",
"414 URI_TOO_LONG",
"414 REQUEST_URI_TOO_LONG",
"415 UNSUPPORTED_MEDIA_TYPE",
"416 REQUESTED_RANGE_NOT_SATISFIABLE",
"417 EXPECTATION_FAILED",
"418 I_AM_A_TEAPOT",
"419 INSUFFICIENT_SPACE_ON_RESOURCE",
"420 METHOD_FAILURE",
"421 DESTINATION_LOCKED",
"422 UNPROCESSABLE_ENTITY",
"423 LOCKED",
"424 FAILED_DEPENDENCY",
"425 TOO_EARLY",
"426 UPGRADE_REQUIRED",
"428 PRECONDITION_REQUIRED",
"429 TOO_MANY_REQUESTS",
"431 REQUEST_HEADER_FIELDS_TOO_LARGE",
"451 UNAVAILABLE_FOR_LEGAL_REASONS",
"500 INTERNAL_SERVER_ERROR",
"501 NOT_IMPLEMENTED",
"502 BAD_GATEWAY",
"503 SERVICE_UNAVAILABLE",
"504 GATEWAY_TIMEOUT",
"505 HTTP_VERSION_NOT_SUPPORTED",
"506 VARIANT_ALSO_NEGOTIATES",
"507 INSUFFICIENT_STORAGE",
"508 LOOP_DETECTED",
"509 BANDWIDTH_LIMIT_EXCEEDED",
"510 NOT_EXTENDED",
"511 NETWORK_AUTHENTICATION_REQUIRED"
]
},
"statusCodeValue": {
"type": "integer",
"format": "int32"
}
},
"title": "ResponseEntity"
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
},
"\/geocode\/search": {
"get": {
"tags": [
"Geocode"
],
"summary": "Forward Geocode Service",
"description": "Returns a JSON formatted list of objects corresponding to the search input. `boundary.*`-parameters can be combined if they are overlapping. **The interactivity for this enpoint is experimental!** [Please refer to this external Documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/search.md#search-the-world)\n",
"parameters": [
{
"name": "api_key",
"in": "query",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"name": "text",
"required": true,
"in": "query",
"description": "Name of location, street address or postal code.\n",
"type": "string",
"example": "Namibian Brewery",
"default": "Namibian Brewery"
},
{
"name": "focus.point.lon",
"in": "query",
"description": "Longitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lat`.\n",
"type": "number",
"format": "float",
"example": 8.673964
},
{
"name": "focus.point.lat",
"in": "query",
"description": "Latitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lon`.\n",
"type": "number",
"format": "float",
"example": 49.436431,
"validWhen": [
{
"ref": "focus.point.lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.min_lon",
"in": "query",
"description": "Left border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.557663
},
{
"name": "boundary.rect.min_lat",
"in": "query",
"description": "Bottom border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.331387,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lon",
"in": "query",
"description": "Right border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.972054,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lat",
"in": "query",
"description": "Top border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.525654,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.max_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.circle.lon",
"in": "query",
"description": "Center Longitude of circular boundary to narrow results. Use with `boundary.circle.lat` & `boundary.circle.radius`.\n",
"type": "number",
"format": "float",
"example": 8.673964
},
{
"name": "boundary.circle.lat",
"in": "query",
"description": "Center Latitude of circular boundary to narrow results. Use with `boundary.circle.lon` & `boundary.circle.radius`.\n",
"type": "number",
"format": "float",
"example": 49.436431,
"validWhen": [
{
"ref": "boundary.circle.lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.circle.radius",
"in": "query",
"description": "Radius of circular boundary around the center coordinate in kilometers. Use with `boundary.circle.lon` & `boundary.circle.lat`.\n",
"type": "number",
"format": "float",
"apiDefault": 50,
"validWhen": [
{
"ref": "boundary.circle.lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.circle.lat",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.gid",
"in": "query",
"description": "Restrict results to administrative boundary using a Pelias global id [`gid`](https:\/\/github.com\/pelias\/documentation\/blob\/f1f475aa4f8c18426fb80baea636990502c08ed3\/search.md#search-within-a-parent-administrative-area).\n`gid`s for records can be found using either the [Who's on First Spelunker](http:\/\/spelunker.whosonfirst.org\/),\na tool for searching Who's on First data, or from the responses of other Pelias queries.\nIn this case a [search for Oklahoma](http:\/\/pelias.github.io\/compare\/#\/v1\/search%3Ftext=oklahoma)\nwill return the proper `gid`.\n",
"type": "string",
"example": "whosonfirst:region:85688585"
},
{
"name": "boundary.country",
"in": "query",
"description": "Restrict results to single country. Possible values are [alpha-2 and alpha-3 country codes](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1). Example: `DEU` or `DE` for Germany.\n",
"type": "string",
"example": "DE"
},
{
"name": "sources",
"in": "query",
"description": "Restrict your search to specific sources. Searches all sources by default. You can either use the normal or short name.\nSources are [`openstreetmap(osm)`](http:\/\/www.openstreetmap.org\/), [`openaddresses(oa)`](http:\/\/openaddresses.io\/), [`whosonfirst(wof)`](https:\/\/whosonfirst.org\/), [`geonames(gn)`](http:\/\/www.geonames.org\/).\n",
"type": "array",
"multiSelect": true,
"enum": [
"openstreetmap",
"openaddresses",
"whosonfirst",
"geonames"
],
"uniqueItems": true,
"apiDefault": "osm,oa,gn,wof"
},
{
"name": "layers",
"in": "query",
"description": "Restrict search to layers (place type). By default all layers are searched.\n\n layer|description|\n ----|----|\n `venue`|points of interest, businesses, things with walls|\n `address`|places with a street address|\n `street`|streets,roads,highways|\n `neighbourhood`|social communities, neighbourhoods|\n `borough`|a local administrative boundary, currently only used for New York City|\n `localadmin`|local administrative boundaries|\n `locality`|towns, hamlets, cities|\n `county`|official governmental area; usually bigger than a locality, almost always smaller than a region|\n `macrocounty`|a related group of counties. Mostly in Europe.|\n `region`|states and provinces|\n `macroregion`|a related group of regions. Mostly in Europe|\n `country`|places that issue passports, nations, nation-states|\n `coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|\n",
"type": "array",
"multiSelect": true,
"enum": [
"address",
"venue",
"neighbourhood",
"locality",
"borough",
"localadmin",
"county",
"macrocounty",
"region",
"macroregion",
"country",
"coarse"
],
"uniqueItems": true,
"example": "region,county"
},
{
"name": "size",
"in": "query",
"description": "Set the number of returned results.\n",
"type": "integer",
"format": "int64",
"apiDefault": 10
}
],
"responses": {
"200": {
"description": "Please refer to [this external documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/search.md#search-the-world) for this endpoint"
}
}
}
},
"\/geocode\/autocomplete": {
"get": {
"tags": [
"Geocode"
],
"summary": "Geocode Autocomplete Service",
"description": "**Requests should be throttled when using this endpoint!**\n*Be aware that Responses are asynchronous.*\nReturns a JSON formatted list of objects corresponding to the search input. `boundary.*`-parameters can be combined if they are overlapping. **The interactivity for this enpoint is experimental!** [Please refer to this external Documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/autocomplete.md)\n",
"parameters": [
{
"name": "api_key",
"in": "query",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"name": "text",
"required": true,
"in": "query",
"description": "Name of location, street address or postal code.\n",
"type": "string",
"example": "Toky",
"default": "Toky"
},
{
"name": "focus.point.lon",
"in": "query",
"description": "Longitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lat`.\n",
"type": "number",
"format": "float",
"example": 8.673964
},
{
"name": "focus.point.lat",
"in": "query",
"description": "Latitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lon`.\n",
"type": "number",
"format": "float",
"example": 49.436431,
"validWhen": [
{
"ref": "focus.point.lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.min_lon",
"in": "query",
"description": "Left border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.557663
},
{
"name": "boundary.rect.min_lat",
"in": "query",
"description": "Bottom border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.331387,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lon",
"in": "query",
"description": "Right border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.972054,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lat",
"in": "query",
"description": "Top border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.525654,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.max_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.country",
"in": "query",
"description": "Restrict results to single country. Possible values are [alpha-2 and alpha-3 country codes](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1). Example: `DEU` or `DE` for Germany.\n",
"type": "string",
"example": "DE"
},
{
"name": "sources",
"in": "query",
"description": "Restrict your search to specific sources. Searches all sources by default. You can either use the normal or short name. Sources are [`openstreetmap(osm)`](http:\/\/www.openstreetmap.org\/), [`openaddresses(oa)`](http:\/\/openaddresses.io\/), [`whosonfirst(wof)`](https:\/\/whosonfirst.org\/), [`geonames(gn)`](http:\/\/www.geonames.org\/).\n",
"type": "array",
"multiSelect": true,
"enum": [
"openstreetmap",
"openaddresses",
"whosonfirst",
"geonames"
],
"uniqueItems": true,
"apiDefault": "osm,oa,gn,wof"
},
{
"name": "layers",
"in": "query",
"description": "Restrict search to layers (place type). By default all layers are searched.\n\n layer|description|\n ----|----|\n `venue`|points of interest, businesses, things with walls|\n `address`|places with a street address|\n `street`|streets,roads,highways|\n `neighbourhood`|social communities, neighbourhoods|\n `borough`|a local administrative boundary, currently only used for New York City|\n `localadmin`|local administrative boundaries|\n `locality`|towns, hamlets, cities|\n `county`|official governmental area; usually bigger than a locality, almost always smaller than a region|\n `macrocounty`|a related group of counties. Mostly in Europe.|\n `region`|states and provinces|\n `macroregion`|a related group of regions. Mostly in Europe|\n `country`|places that issue passports, nations, nation-states|\n `coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|\n",
"type": "array",
"multiSelect": true,
"enum": [
"address",
"venue",
"neighbourhood",
"locality",
"borough",
"localadmin",
"county",
"macrocounty",
"region",
"macroregion",
"country",
"coarse"
],
"uniqueItems": true,
"example": "region,county"
}
],
"responses": {
"200": {
"description": "Please refer to [this external documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/autocomplete.md) for this endpoint"
}
}
}
},
"\/geocode\/search\/structured": {
"get": {
"tags": [
"Geocode"
],
"summary": "Structured Forward Geocode Service (beta)",
"description": "Returns a JSON formatted list of objects corresponding to the search input. **The interactivity for this enpoint is experimental!** [Please refer to this external Documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/structured-geocoding.md#structured-geocoding)\n",
"parameters": [
{
"name": "api_key",
"in": "query",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"name": "address",
"in": "query",
"description": "Search for full address with house number or only a street name.\n",
"type": "string",
"example": "none"
},
{
"name": "neighbourhood",
"in": "query",
"description": "Search for neighbourhoods. Neighbourhoods are vernacular geographic entities that may not necessarily be official administrative divisions but are important nonetheless. Example: `Notting Hill`.\n",
"type": "string",
"example": "none"
},
{
"name": "country",
"in": "query",
"description": "Search for full country name, [alpha 2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2) or [alpha 3](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-3) codes.\n",
"type": "string",
"example": "none"
},
{
"name": "postalcode",
"in": "query",
"description": "Search for postal codes. Postal codes are unique within a country so they are useful in geocoding as a shorthand for a fairly granular geographical location.\n",
"type": "string",
"example": "none"
},
{
"name": "region",
"in": "query",
"description": "Search for regions. Regions are normally the first-level administrative divisions within countries. For US-regions [common abbreviations](https:\/\/en.wikipedia.org\/wiki\/List_of_U.S._state_abbreviations) can be used.\n",
"type": "string",
"example": "none"
},
{
"name": "county",
"in": "query",
"description": "Search for counties. Counties are administrative divisions between localities and regions. Can be useful when attempting to disambiguate between localities.\n",
"type": "string",
"example": "none"
},
{
"name": "locality",
"in": "query",
"description": "Search for localities. Localities are equivalent to what are commonly referred to as *cities*.\n",
"type": "string",
"example": "Tokyo",
"default": "Tokyo"
},
{
"name": "borough",
"in": "query",
"description": "Search for boroughs. Boroughs are mostly known in the context of New York City, even though they may exist in other cities, such as Mexico City. Example: `Manhatten`.\n",
"type": "string",
"example": "none"
},
{
"name": "focus.point.lon",
"in": "query",
"description": "Longitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lat`.\n",
"type": "number",
"format": "float",
"example": 8.673964
},
{
"name": "focus.point.lat",
"in": "query",
"description": "Latitude of the `focus.point`. Specify the focus point to order results by linear distance to this point. Works for up to 100 kilometers distance. Use with `focus.point.lon`.\n",
"type": "number",
"format": "float",
"example": 49.436431,
"validWhen": [
{
"ref": "focus.point.lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.min_lon",
"in": "query",
"description": "Left border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.557663
},
{
"name": "boundary.rect.min_lat",
"in": "query",
"description": "Bottom border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.331387,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lon",
"in": "query",
"description": "Right border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 8.972054,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.rect.max_lat",
"in": "query",
"description": "Top border of rectangular boundary to narrow results.\n",
"type": "number",
"format": "float",
"example": 49.525654,
"validWhen": [
{
"ref": "boundary.rect.min_lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.min_lat",
"skipRootPathLookup": true
},
{
"ref": "boundary.rect.max_lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.circle.lon",
"in": "query",
"description": "Center Longitude of circular boundary to narrow results. Use with `boundary.circle.lat` & `boundary.circle.radius`.\n",
"type": "number",
"format": "float",
"example": 8.673964
},
{
"name": "boundary.circle.lat",
"in": "query",
"description": "Center Latitude of circular boundary to narrow results. Use with `boundary.circle.lon` & `boundary.circle.radius`.\n",
"type": "number",
"format": "float",
"example": 49.436431,
"validWhen": [
{
"ref": "boundary.circle.lon",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.circle.radius",
"in": "query",
"description": "Radius of circular boundary around the center coordinate in kilometers. Use with `boundary.circle.lon` & `boundary.circle.lat`.\n",
"type": "number",
"format": "float",
"apiDefault": 50,
"validWhen": [
{
"ref": "boundary.circle.lon",
"skipRootPathLookup": true
},
{
"ref": "boundary.circle.lat",
"skipRootPathLookup": true
}
]
},
{
"name": "boundary.country",
"in": "query",
"description": "Restrict results to single country. Possible values are [alpha-2 and alpha-3 country codes](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1). Example: `DEU` or `DE` for Germany.\n",
"type": "string",
"example": "DE"
},
{
"name": "layers",
"in": "query",
"description": "Restrict search to layers (place type). By default all layers are searched.\n\n layer|description|\n ----|----|\n `venue`|points of interest, businesses, things with walls|\n `address`|places with a street address|\n `street`|streets,roads,highways|\n `neighbourhood`|social communities, neighbourhoods|\n `borough`|a local administrative boundary, currently only used for New York City|\n `localadmin`|local administrative boundaries|\n `locality`|towns, hamlets, cities|\n `county`|official governmental area; usually bigger than a locality, almost always smaller than a region|\n `macrocounty`|a related group of counties. Mostly in Europe.|\n `region`|states and provinces|\n `macroregion`|a related group of regions. Mostly in Europe|\n `country`|places that issue passports, nations, nation-states|\n `coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|\n",
"type": "array",
"multiSelect": true,
"enum": [
"address",
"venue",
"neighbourhood",
"locality",
"borough",
"localadmin",
"county",
"macrocounty",
"region",
"macroregion",
"country",
"coarse"
],
"uniqueItems": true,
"example": "address,venue"
},
{
"name": "sources",
"in": "query",
"description": "Restrict your search to specific sources. Searches all sources by default. You can either use the normal or short name. Sources are [`openstreetmap(osm)`](http:\/\/www.openstreetmap.org\/), [`openaddresses(oa)`](http:\/\/openaddresses.io\/), [`whosonfirst(wof)`](https:\/\/whosonfirst.org\/), [`geonames(gn)`](http:\/\/www.geonames.org\/).\n",
"type": "array",
"multiSelect": true,
"enum": [
"openstreetmap",
"openaddresses",
"whosonfirst",
"geonames"
],
"uniqueItems": true,
"apiDefault": "osm,oa,gn,wof"
},
{
"name": "size",
"in": "query",
"description": "Set the number of returned results.\n",
"type": "integer",
"format": "int64",
"apiDefault": 10
}
],
"responses": {
"200": {
"description": "Please refer to [this external documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/structured-geocoding.md#structured-geocoding) for this endpoint"
}
}
}
},
"\/geocode\/reverse": {
"get": {
"tags": [
"Geocode"
],
"summary": "Reverse Geocode Service",
"description": "Returns the next enclosing object with an address tag which surrounds the given coordinate. **The interactivity for this enpoint is experimental!** [Please refer to this external Documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/reverse.md#reverse-geocoding)\n",
"parameters": [
{
"name": "api_key",
"in": "query",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"name": "point.lon",
"description": "Longitude of the coordinate to query.\n",
"required": true,
"in": "query",
"type": "number",
"format": "float",
"example": 2.294471,
"default": 2.294471
},
{
"name": "point.lat",
"description": "Latitude of the coordinate to query.\n",
"required": true,
"in": "query",
"type": "number",
"format": "float",
"example": 48.858268,
"default": 48.858268
},
{
"name": "boundary.circle.radius",
"description": "Restrict search to circular region around `point.lat\/point.lon`. Value in kilometers.\n",
"in": "query",
"type": "number",
"apiDefault": 1,
"example": 35
},
{
"name": "size",
"in": "query",
"description": "Set the number of returned results.\n",
"type": "integer",
"format": "int64",
"apiDefault": 10
},
{
"name": "layers",
"in": "query",
"description": "Restrict search to layers (place type). By default all layers are searched.\n\n layer|description|\n ----|----|\n `venue`|points of interest, businesses, things with walls|\n `address`|places with a street address|\n `street`|streets,roads,highways|\n `neighbourhood`|social communities, neighbourhoods|\n `locality`|towns, hamlets, cities|\n `borough`|a local administrative boundary, currently only used for New York City|\n `localadmin`|local administrative boundaries|\n `county`|official governmental area; usually bigger than a locality, almost always smaller than a region|\n `macrocounty`|a related group of counties. Mostly in Europe.|\n `region`|states and provinces|\n `macroregion`|a related group of regions. Mostly in Europe|\n `country`|places that issue passports, nations, nation-states|\n `coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|\n",
"type": "array",
"multiSelect": true,
"enum": [
"venue",
"address",
"street",
"neighbourhood",
"locality",
"borough",
"localadmin",
"county",
"macrocounty",
"region",
"macroregion",
"country",
"coarse"
],
"uniqueItems": true,
"example": "address,venue"
},
{
"name": "sources",
"in": "query",
"description": "Restrict your search to specific sources. Searches all sources by default. You can either use the normal or short name. Sources are [`openstreetmap(osm)`](http:\/\/www.openstreetmap.org\/), [`openaddresses(oa)`](http:\/\/openaddresses.io\/), [`whosonfirst(wof)`](https:\/\/whosonfirst.org\/), [`geonames(gn)`](http:\/\/www.geonames.org\/).\n",
"type": "array",
"enum": [
"openstreetmap",
"openaddresses",
"whosonfirst",
"geonames"
],
"uniqueItems": true,
"multiSelect": true,
"apiDefault": "osm,oa,gn,wof"
},
{
"name": "boundary.country",
"in": "query",
"description": "Restrict search to country by [alpha 2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2) or [alpha 3](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-3) codes.\n",
"type": "string",
"example": "FR"
}
],
"responses": {
"200": {
"description": "Please refer to [this external documentation](https:\/\/github.com\/pelias\/documentation\/blob\/master\/reverse.md#reverse-geocoding) for this endpoint"
}
}
}
},
"\/pois": {
"post": {
"tags": [
"Pois"
],
"summary": "Pois Service",
"description": "Returns points of interest in the area surrounding a geometry which can either be a bounding box, polygon or buffered linestring or point.\nFind more examples on [github](https:\/\/github.com\/GIScience\/openpoiservice).\n",
"parameters": [
{
"name": "Authorization",
"in": "header",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"name": "body",
"in": "body",
"required": true,
"description": "body for a post request",
"default": "{\"request\":\"pois\",\"geometry\":{\"bbox\":[[8.8034,53.0756],[8.7834,53.0456]],\"geojson\":{\"type\":\"Point\",\"coordinates\":[8.8034,53.0756]},\"buffer\":250}}",
"type": "object",
"example": "{\"request\":\"pois\",\"geometry\":{\"bbox\":[[8.8034,53.0756],[8.7834,53.0456]],\"geojson\":{\"type\":\"Point\",\"coordinates\":[8.8034,53.0756]},\"buffer\":250}}",
"props": {
"request": {
"description": "Examples:\n```\n#### JSON bodies for POST requests\n##### Pois around a buffered point\n{\n \"request\": \"pois\",\n \"geometry\": {\n \"bbox\": [\n [8.8034, 53.0756],\n [8.7834, 53.0456]\n ],\n \"geojson\": {\n \"type\": \"Point\",\n \"coordinates\": [8.8034, 53.0756]\n },\n \"buffer\": 250\n }\n}\n\n##### Pois given categories\n{\n \"request\": \"pois\",\n \"geometry\": {\n \"bbox\": [\n [8.8034, 53.0756],\n [8.7834, 53.0456]\n ],\n \"geojson\": {\n \"type\": \"Point\",\n \"coordinates\": [8.8034, 53.0756]\n },\n \"buffer\": 100\n },\n \"limit\": 200,\n \"filters\": {\n \"category_ids\": [180, 245]\n }\n}\n\n##### Pois given category groups\n{\n \"request\": \"pois\",\n \"geometry\": {\n \"bbox\": [\n [8.8034, 53.0756],\n [8.7834, 53.0456]\n ],\n \"geojson\": {\n \"type\": \"Point\",\n \"coordinates\": [8.8034, 53.0756]\n },\n \"buffer\": 100\n },\n \"limit\": 200,\n \"filters\": {\n \"category_group_ids\": [160]\n }\n}\n\n##### Pois statistics\n{\n \"request\": \"stats\",\n \"geometry\": {\n \"bbox\": [\n [8.8034, 53.0756],\n [8.7834, 53.0456]\n ],\n \"geojson\": {\n \"type\": \"Point\",\n \"coordinates\": [8.8034, 53.0756]\n },\n \"buffer\": 100\n }\n}\n\n##### Pois categories as a list\n{\n \"request\": \"list\"\n}\n```\n",
"type": "string",
"enum": [
"pois",
"stats",
"list"
],
"example": "pois",
"required": true
},
"geometry": {
"default": "{\"bbox\":[[8.8034,53.0756],[8.7834,53.0456]],\"geojson\":{\"type\":\"Point\",\"coordinates\":[8.8034,53.0756]},\"buffer\":200}",
"type": "object",
"description": "The geometry object which is a geojson or a bounding box object, optionally buffered.",
"properties": {
"buffer": {
"type": "integer",
"format": "int64",
"example": 500
},
"bbox": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"example": [
[
53.075051,
8.798952
],
[
53.080785,
8.90716
]
],
"description": "The pattern for this bbox string is minlon,minlat,maxlon,maxlat"
},
"geojson": {
"description": "This is a GeoJSON object. Is either Point, Polygon or LineString.",
"type": "object"
}
},
"validWhen": [
{
"ref": "body.props.request",
"valueNot": "list"
}
]
},
"filters": {
"type": "object",
"example": "{\"fee\":\"no\"}",
"description": "Filters in terms of osm_tags which should be applied to the query.",
"properties": {
"category_group_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
420
]
},
"category_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
601,
280
]
},
"name": {
"description": "Filter by name of the poi object.",
"type": "array",
"example": [
"Gas station",
"..."
]
},
"wheelchair": {
"description": "Filter example.",
"type": "array",
"example": [
"yes",
"no",
"limited",
"designated"
]
},
"smoking": {
"description": "Filter example.",
"type": "array",
"example": [
"dedicated",
"yes",
"no",
"separated",
"isolated",
"outside"
]
},
"fee": {
"description": "Filter example.",
"type": "array",
"example": [
"yes",
"no"
]
}
},
"validWhen": [
{
"ref": "body.props.request",
"value": "pois"
}
]
},
"limit": {
"validWhen": [
{
"ref": "body.props.request",
"value": "pois"
}
],
"type": "integer",
"format": "int64",
"example": 1000,
"description": "The limit of objects to be returned in the response."
},
"sortby": {
"type": "string",
"example": "category",
"enum": [
"category",
"distance"
],
"validWhen": [
{
"ref": "body.props.request",
"value": "pois"
}
],
"description": "Either you can sort by category or the distance to the geometry object provided in the request."
},
"title": "Openpoiservice poi request"
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests.",
"schema": {
"description": "The POI response GeoJSON FeatureCollection",
"type": "object",
"properties": {
"type": {
"type": "string",
"default": "FeatureCollection"
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"default": "Feature"
},
"geometry": {
"properties": {
"type": {
"type": "string",
"default": "Point"
},
"coordinates": {
"type": "array",
"items": {
"type": "number",
"format": "double"
},
"maxItems": 2,
"minItems": 2
}
},
"title": "GeoJSON geometry object",
"type": "object"
},
"feature_properties": {
"title": "GeoJSON properties object",
"properties": {
"osm_id": {
"type": "number"
},
"osm_type": {
"type": "number"
},
"distance": {
"type": "number"
},
"category_ids": {
"properties": {
"category_id": {
"type": "object",
"properties": {
"category_name": {
"type": "string"
},
"category_group": {
"type": "number"
}
}
}
},
"type": "object"
},
"osm_tags": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"website": {
"type": "string"
},
"opening_hours": {
"type": "string"
},
"wheelchair": {
"type": "string"
},
"distance": {
"type": "string"
},
"fee": {
"type": "string"
}
}
}
},
"type": "object"
}
},
"title": "GeoJSON features object"
}
}
},
"title": "Openpoiservice poi response"
}
},
"400": {
"description": "The request was invalid, and more detailed internal errorcode is provided.\n| Internal Code | Description |\n|:-------------:|----------------------------------------------------|\n| 4000 | Invalid JSON object in request |\n| 4001 | Category or category group ids missing |\n| 4002 | Geometry is missing |\n| 4003 | Bounding box and or geojson not present in request |\n| 4004 | Buffer is missing |\n| 4005 | Geometry length does not meet the restrictions |\n| 4006 | Unsupported HTTP method |\n| 4007 | GeoJSON parsing error |\n| 4008 | Geometry size does not meet the restrictions |\n| 4009 | Unsupported Content-Type |\n"
},
"401": {
"description": "Authorization field missing."
},
"403": {
"description": "Key not authorised."
},
"500": {
"description": "Unknown internal error"
}
}
}
},
"\/elevation\/line": {
"post": {
"tags": [
"Elevation"
],
"summary": "Elevation Line Service",
"description": "This endpoint can take planar 2D line objects and enrich them with elevation from a variety of datasets.\n\nThe input and output formats are:\n * GeoJSON\n * Polyline\n * <a href=\"https:\/\/developers.google.com\/maps\/documentation\/utilities\/polylinealgorithm\">Google's Encoded polyline<\/a> with coordinate precision 5 or 6\n\nExample:\n```\n # POST LineString as polyline\n curl -XPOST https:\/\/api.openrouteservice.org\/elevation\/line\n -H 'Content-Type: application\/json' \\\n -H 'Authorization: INSERT_YOUR_KEY\n -d '{\n \"format_in\": \"polyline\",\n \"format_out\": \"encodedpolyline5\",\n \"geometry\": [[13.349762, 38.112952],\n [12.638397, 37.645772]]\n }'\n```\n",
"parameters": [
{
"name": "Authorization",
"in": "header",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"in": "body",
"name": "body",
"required": true,
"description": "Query the elevation of a line in various formats.",
"example": "{\"format_in\":\"polyline\",\"format_out\":\"encodedpolyline5\",\"geometry\":[[13.349762,38.112952],[12.638397,37.645772]]}",
"type": "object",
"props": {
"format_in": {
"type": "string",
"description": "The input format the API has to expect.",
"enum": [
"geojson",
"polyline",
"encodedpolyline5",
"encodedpolyline6"
],
"example": "encodedpolyline5",
"required": true
},
"format_out": {
"type": "string",
"description": "The output format to be returned.",
"enum": [
"geojson",
"polyline",
"encodedpolyline5",
"encodedpolyline6"
],
"apiDefault": "geojson"
},
"dataset": {
"type": "string",
"description": "The elevation dataset to be used.",
"enum": [
"srtm"
],
"apiDefault": "srtm"
},
"geometry": {
"type": "object",
"required": true,
"example": "u`rgFswjpAKD",
"description": "* geojson: A geometry object of a LineString GeoJSON, e.g.\n {\"type\": \"LineString\",\n \"coordinates\": [[13.331302, 38.108433],[13.331273, 38.10849]]\n }\n* polyline: A list of coordinate lists, e.g.\n [[13.331302, 38.108433], [13.331273, 38.10849]]\n\n* encodedpolyline5: A <a href=\"https:\/\/developers.google.com\/maps\/documentation\/utilities\/polylinealgorithm\">Google encoded polyline<\/a> with a coordinate precision of 5, e.g.\n u`rgFswjpAKD\n\n* encodedpolyline6: A <a href=\"https:\/\/developers.google.com\/maps\/documentation\/utilities\/polylinealgorithm\">Google encoded polyline<\/a> with a coordinate precision of 6, e.g.\n ap}tgAkutlXqBx@\n"
}
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests.",
"schema": {
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"version": {
"type": "string"
},
"timestamp": {
"type": "integer"
},
"geometry": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "float"
}
}
}
}
}
}
}
},
"401": {
"description": "Authorization field missing."
},
"403": {
"description": "Key not authorised."
},
"500": {
"description": "An unexpected error was encountered and more detailed internal\nerrorcode is provided.\n| Internal Code | Description |\n|:-------------:|----------------------------------------------------|\n| 4001 | ValueError in parameters |\n| 4002 | Wrong HTTP headers |\n| 4003 | Problems with the provided geometry |\n| 4004 | Exceeded the number of allowed vertices |\n"
}
}
}
},
"\/elevation\/point": {
"post": {
"tags": [
"Elevation"
],
"summary": "Elevation Point Service",
"description": "This endpoint can take a 2D point and enrich it with elevation from a variety of datasets.\n\nThe input and output formats are:\n * GeoJSON\n * Point\n\nExample:\n```\n # POST point as GeoJSON\n # https:\/\/api.openrouteservice.org\/elevation\/point?api_key=YOUR-KEY\n {\n \"format_in\": \"geojson\",\n \"format_out\": \"geojson\",\n \"geometry\": {\n \"coordinates\": [13.349762, 38.11295],\n \"type\": \"Point\"\n }\n }\n```\n",
"parameters": [
{
"name": "Authorization",
"in": "header",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"in": "body",
"name": "body",
"description": "Query the elevation of a point in various formats.",
"example": "{\"format_in\":\"geojson\",\"format_out\":\"geojson\",\"geometry\":{\"coordinates\":[13.349762,38.11295],\"type\":\"Point\"}}",
"type": "object",
"required": true,
"properties": {
"format_in": {
"type": "string",
"description": "The input format the API has to expect.",
"enum": [
"geojson",
"point"
],
"example": "point",
"required": true
},
"format_out": {
"type": "string",
"description": "The output format to be returned.",
"enum": [
"geojson",
"point"
],
"apiDefault": "geojson"
},
"dataset": {
"type": "string",
"description": "The elevation dataset to be used.",
"enum": [
"srtm"
],
"apiDefault": "srtm"
},
"geometry": {
"type": "object",
"example": [
13.331273,
38.10849
],
"required": true,
"description": "* geojson: A geometry object of a Point GeoJSON, e.g.\n {\"type\": \"Point\",\n \"coordinates\": [13.331273, 38.10849]\n }\n* point: A coordinate list, e.g.\n [13.331273, 38.10849]\n"
}
}
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests.",
"schema": {
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"version": {
"type": "string"
},
"timestamp": {
"type": "integer"
},
"geometry": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "float"
}
}
}
}
}
}
}
},
"401": {
"description": "Authorization field missing."
},
"403": {
"description": "Key not authorised."
},
"500": {
"description": "An unexpected error was encountered and more detailed internal\nerrorcode is provided.\n| Internal Code | Description |\n|:-------------:|----------------------------------------------------|\n| 4001 | ValueError in parameters |\n| 4002 | Wrong HTTP headers |\n| 4003 | Problems with the provided geometry |\n| 4004 | Exceeded the number of allowed vertices |\n"
}
}
},
"get": {
"tags": [
"Elevation"
],
"summary": "Elevation Point Service",
"description": "This endpoint can take a 2D point and enrich it with elevation from a variety of datasets.\n\nThe output formats are:\n * GeoJSON\n * Point\n\nExample:\n```\n # GET point\n curl -XGET https:\/\/localhost:5000\/elevation\/point?geometry=13.349762,38.11295\n```\n",
"parameters": [
{
"name": "api_key",
"in": "query",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"example": "your-api-key"
},
{
"in": "query",
"name": "geometry",
"description": "The point to be queried, in comma-separated lon,lat values, e.g. [13.349762, 38.11295]",
"required": true,
"type": "array",
"items": {
"type": "double"
},
"example": "13.349762,38.11295"
},
{
"in": "query",
"name": "format_out",
"type": "string",
"description": "The output format to be returned.",
"enum": [
"geojson",
"point"
],
"apiDefault": "geojson"
},
{
"in": "query",
"name": "dataset",
"description": "The elevation dataset to be used.",
"type": "string",
"enum": [
"srtm"
],
"apiDefault": "srtm"
}
],
"responses": {
"200": {
"description": "Standard response for successfully processed requests.",
"schema": {
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"version": {
"type": "string"
},
"timestamp": {
"type": "integer"
},
"geometry": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "float"
}
}
}
}
}
}
}
},
"401": {
"description": "Authorization field missing."
},
"403": {
"description": "Key not authorised."
},
"500": {
"description": "An unexpected error was encountered and more detailed internal\nerrorcode is provided.\n| Internal Code | Description |\n|:-------------:|----------------------------------------------------|\n| 4001 | ValueError in parameters |\n| 4002 | Wrong HTTP headers |\n| 4003 | Problems with the provided geometry |\n| 4004 | Exceeded the number of allowed vertices |\n"
}
}
}
},
"\/optimization": {
"post": {
"tags": [
"Optimization"
],
"summary": "Optimization Service",
"description": "The optimization endpoint solves [Vehicle Routing Problems](https:\/\/en.wikipedia.org\/wiki\/Vehicle_routing_problem) and can be used to schedule multiple vehicles and jobs, respecting time windows, capacities and required skills.\n\nThis service is based on the excellent [Vroom project](https:\/\/github.com\/VROOM-Project\/vroom). Please also consult its [API documentation](https:\/\/github.com\/VROOM-Project\/vroom\/blob\/master\/docs\/API.md).\n\nGeneral Info:\n- The expected order for all coordinates arrays is `[lon, lat]`\n- All timings are in seconds\n- All distances are in meters\n- A `time_window` object is a pair of timestamps in the form `[start, end]`\n",
"parameters": [
{
"name": "Authorization",
"in": "header",
"description": "Insert your API Key here.\n",
"type": "string",
"required": true,
"default": "your-api-key"
},
{
"in": "body",
"name": "body",
"required": true,
"description": "Query the elevation of a line in various formats.",
"example": "{\"format_in\":\"polyline\",\"format_out\":\"encodedpolyline\",\"geometry\":[[13.349762,38.11295],[12.638397,37.645772]]}",
"type": "object",
"properties": {
"jobs": {
"type": "array",
"description": "Array of `job` objects describing the places to visit. For a detailed object description visit the [VROOM api description](https:\/\/github.com\/VROOM-Project\/vroom\/blob\/master\/docs\/API.md#jobs)",
"example": [
{
"id": 1,
"service": 300,
"amount": [
1
],
"location": [
1.98935,
48.701
],
"skills": [
1
],
"time_windows": [
[
32400,
36000
]
]
},
{
"id": 2,
"service": 300,
"amount": [
1
],
"location": [
2.03655,
48.61128
],
"skills": [
1
]
},
{
"id": 3,
"service": 300,
"amount": [
1
],
"location": [
2.39719,
49.07611
],
"skills": [
2
]
},
{
"id": 4,
"service": 300,
"amount": [
1
],
"location": [
2.41808,
49.22619
],
"skills": [
2
]
},
{
"id": 5,
"service": 300,
"amount": [
1
],
"location": [
2.28325,
48.5958
],
"skills": [
14
]
},
{
"id": 6,
"service": 300,
"amount": [
1
],
"location": [
2.89357,
48.90736
],
"skills": [
14
]
}
],
"required": true,
"items": {
"type": "object",
"description": "If a custom matrix is provided:\n- `location_index` is mandatory\n- `location` is optional but can be set to retrieve coordinates in the response\n\nIf no custom matrix is provided:\n- a `matrix` query will be sent to ORS\n- `location` is mandatory\n- `location_index` is irrelevant\n",
"properties": {
"id": {
"type": "integer",
"format": "int32",
"description": "an integer used as unique identifier\n",
"required": true
},
"location": {
"type": "array",
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "number",
"format": "float"
}
},
"description": "coordinates array in `[lon, lat]`\n"
},
"location_index": {
"description": "index of relevant row and column in custom matrix\n"
},
"service": {
"description": "job service duration (defaults to 0), in seconds\n"
},
"amount": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Array describing multidimensional quantities\n"
},
"skills": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Array of integers defining mandatory skills for this job\n"
},
"time_windows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"example": [
[
28800,
32400
],
[
61200,
68400
]
],
"description": "Array of `time_window` arrays describing valid slots for job service start and end,\nin week seconds, i.e. 28800 = Mon, 8 AM.\n"
}
}
}
},
"vehicles": {
"type": "array",
"description": "Array of `vehicle` objects describing the available vehicles. For a detailed object description visit the [VROOM API description](https:\/\/github.com\/VROOM-Project\/vroom\/blob\/master\/docs\/API.md#vehicles)",
"example": [
{
"id": 1,
"profile": "driving-car",
"start": [
2.35044,
48.71764
],
"end": [
2.35044,
48.71764
],
"capacity": [
4
],
"skills": [
1,
14
],
"time_window": [
28800,
43200
]
},
{
"id": 2,
"profile": "driving-car",
"start": [
2.35044,
48.71764
],
"end": [
2.35044,
48.71764
],
"capacity": [
4
],
"skills": [
2,
14
],
"time_window": [
28800,
43200
]
}
],
"required": true,
"items": {
"type": "object",
"description": "A vehicle object with capacity, time windows and skills.\n",
"properties": {
"id": {
"type": "integer",
"format": "int32",
"description": "Integer used as unique identifier\n",
"required": true
},
"profile": {
"type": "string",
"enum": [
"driving-car",
"driving-hgv",
"cycling-regular",
"cycling-mountain",
"cycling-electric",
"cycling-road",
"foot-walking",
"foot-hiking",
"wheelchair"
],
"example": "driving-car",
"required": true,
"description": "The ORS routing profile for the vehicle.\n"
},
"start": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "number",
"format": "float"
},
"description": "Start coordinates array in `[lon, lat]` format. If left blank, the optimization\nengine will identify the optimal start point.\n"
},
"start_index": {
"description": "Index of relevant row and column in custom matrix.\n"
},
"end": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "number",
"format": "float"
},
"description": "End coordinates array in `[lon, lat]` format. If left blank, the optimization\nengine will identify the optimal end point.\n"
},
"end_index": {
"description": "Index of relevant row and column in custom matrix.\n"
},
"capacity": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Array of integers describing multidimensional quantities.\n"
},
"skills": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Array of integers defining skills for this vehicle\n"
},
"time_window": {
"type": "array",
"example": [
28800,
32400
],
"items": {
"type": "integer",
"format": "int32"
},
"description": "A `time_window` array describing working hours for this vehicle,\nin week seconds, i.e. 28800 = Mon, 8 AM.\n"
}
}
}
},
"matrix": {
"type": "array",
"description": "Optional two-dimensional array describing a custom matrix",
"items": {
"type": "array"
}
},
"options": {
"type": "object",
"description": "Addtional options passed to the optimization engine.",
"properties": {
"g": {
"type": "boolean",
"description": "Calculate geometries for the optimized routes."
}
}
}
}
}
],
"responses": {
"200": {
"description": "Valid response if code contains `0`",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "status code. Possible values:\n\n Value | Status |\n :-----------: | :-----------: |\n `0` | no error raised |\n `1` | internal error |\n `2` | input error |\n `3` | routing error |\n"
},
"error": {
"type": "string",
"description": "error message (present if `code` is different from `0`)\n"
},
"summary": {
"type": "object",
"description": "object summarizing solution indicators\n",
"properties": {
"cost": {
"type": "number",
"description": "total cost for all routes"
},
"unassigned": {
"type": "integer",
"format": "int32",
"description": "number of jobs that could not be served"
},
"service": {
"type": "number",
"format": "float",
"description": "total service time for all routes"
},
"duration": {
"type": "number",
"format": "float",
"description": "total travel time for all routes"
},
"waiting_time": {
"type": "number",
"format": "float",
"description": "total waiting time for all routes"
},
"amount": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "total amount for all routes"
},
"distance": {
"type": "number",
"format": "float",
"description": "total distance for all routes. Only provided when using the `-g` flag with `OSRM`"
}
}
},
"unassigned": {
"type": "array",
"items": {
"type": "object",
"description": "Unassigned Job with `id` and `location` (if provided)",
"properties": {
"id": {
"description": "The `id` of the unassigned job\"",
"type": "integer",
"format": "int32"
},
"location": {
"description": "The `location` of the unassigned job",
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "number",
"format": "float"
}
}
}
},
"description": "array of objects describing unassigned jobs with their `id` and `location` (if provided)\n"
},
"routes": {
"type": "array",
"description": "array of `route` objects\n",
"items": {
"type": "object",
"properties": {
"vehicle": {
"type": "integer",
"format": "int32",
"description": "id of the vehicle assigned to this route"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "string that is either `start`, `job` or `end`"
},
"arrival": {
"type": "number",
"format": "float",
"description": "estimated time of arrival at this step in seconds"
},
"duration": {
"type": "number",
"format": "float",
"description": "cumulated travel time upon arrival at this step in seconds"
},
"location": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"type": "number",
"format": "float"
},
"description": "coordinates array for this step (if provided in input)"
},
"job": {
"type": "integer",
"format": "int32",
"description": "id of the job performed at this step, only provided if `type` value is `job`"
},
"service": {
"type": "number",
"format": "float",
"description": "service time at this step, only provided if `type` value is `job`"
},
"waiting_time": {
"type": "number",
"format": "float",
"description": "waiting time upon arrival at this step, only provided if `type` value is `job`"
},
"distance": {
"type": "number",
"format": "float",
"description": "traveled distance upon arrival at this step. Only provided when using the `-g` flag with `OSRM`"
}
}
},
"description": "array of `step` objects"
},
"cost": {
"type": "number",
"format": "float",
"description": "cost for this route"
},
"service": {
"type": "number",
"format": "float",
"description": "total service time for this route"
},
"duration": {
"type": "number",
"format": "float",
"description": "total travel time for this route"
},
"waiting_time": {
"type": "number",
"format": "float",
"description": "total waiting time for this route"
},
"amount": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "total amount for jobs in this route"
},
"geometry": {
"type": "string",
"description": "polyline encoded route geometry. Only provided when using the `-g` flag"
},
"distance": {
"type": "number",
"format": "float",
"description": "total route distance. Only provided when using the `-g` flag"
}
}
}
}
}
}
},
"401": {
"description": "Authorization field missing."
},
"403": {
"description": "Key not authorised."
},
"500": {
"description": "An unexpected error was encountered and more detailed internal\nerrorcode is provided.\n| Internal Code | Description |\n|:-:|--------------------------|\n| 1 | Internal Vroom error |\n| 2 | Error in input |\n| 3 | Routing error in ORS |\n| 4 | Request too large |\n"
}
}
}
}
},
"definitions": {
"Alternative Routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives."
},
"Centrality Service": {
"type": "object",
"required": [
"bbox"
],
"properties": {
"bbox": {
"type": "array",
"example": [
8.681495,
49.41461,
8.686507,
49.41943
],
"description": "The bounding box to use for the request as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"excludeNodes": {
"type": "array",
"example": [
1661,
1662,
1663
],
"description": "List of node Ids to exclude when calculating centrality",
"items": {
"type": "integer",
"format": "int32"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"mode": {
"type": "string",
"example": "nodes",
"description": "Specifies the centrality calculation mode. Currently, node-based and edge-based centrality calculation is supported.",
"enum": [
"nodes",
"edges"
]
}
},
"title": "Centrality Service",
"description": "The JSON body request sent to the centrality service which defines options and parameters regarding the centrality measure to calculate."
},
"Directions Service": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
},
"EngineInfo": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the version of the openrouteservice that was used to generate the route"
},
"GeoJSONIsochroneBase": {
"type": "object",
"properties": {
"geometry": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"type": {
"type": "string"
}
},
"title": "GeoJSONIsochroneBase"
},
"GeoJSONIsochronesResponse": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned isochrones",
"items": {
"type": "number",
"format": "double"
}
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"geometry": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"type": {
"type": "string"
}
},
"title": "GeoJSONIsochroneBase"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the isochrones service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations",
"range"
],
"properties": {
"area_units": {
"type": "string",
"description": "Specifies the area unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}",
"enum": [
"m",
"km",
"mi"
]
},
"attributes": {
"type": "array",
"example": [
"area"
],
"description": "List of isochrones attributes",
"items": {
"type": "string",
"enum": [
"area",
"reachfactor",
"total_pop"
]
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"intersections": {
"type": "boolean",
"description": "Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}"
},
"interval": {
"type": "number",
"format": "double",
"example": 30,
"description": "Interval of isochrones or equidistants. This is only used if a single range value is given. Value in **seconds** for time and **meters** for distance."
},
"location_type": {
"type": "string",
"example": "start",
"description": "`start` treats the location(s) as starting point, `destination` as goal. CUSTOM_KEYS:{'apiDefault':'start'}",
"enum": [
"start",
"destination"
]
},
"locations": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
]
],
"description": "The locations to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Additional options for the isochrones request",
"example": {
"avoid_borders": "all"
}
},
"range": {
"type": "array",
"example": [
300,
200
],
"description": "Maximum range value of the analysis in **seconds** for time and **metres** for distance.Alternatively a comma separated list of specific range values. Ranges will be the same for all locations.",
"items": {
"type": "number",
"format": "double"
}
},
"range_type": {
"type": "string",
"example": "time",
"description": "Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}",
"enum": [
"time",
"distance"
]
},
"smoothing": {
"type": "number",
"format": "double",
"example": 25,
"description": "Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.\nGeneralisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.\nIf the distance is larger than a threshold value, the line between the two points is removed and a smaller connecting line between other points is used.\nNote that the minimum length of this connecting line is ~1333m, and so when the `smoothing_factor` results in a distance smaller than this, the minimum value is used.\nThe threshold value is determined as `(maximum_radius_of_isochrone \/ 100) * smoothing_factor`.\nTherefore, a value closer to 100 will result in a more generalised shape.\nThe polygon generation algorithm is based on Duckham and al. (2008) `\"Efficient generation of simple polygons for characterizing the shape of a set of points in the plane.\"`"
},
"time": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00",
"description": "Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance units only if `range_type` is set to distance.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "IsochronesRequest",
"description": "The information that was used for generating the isochrones"
},
"service": {
"type": "string",
"example": "isochrones",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "IsochronesResponseInfo",
"description": "Information about the request"
},
"type": {
"type": "string"
}
},
"title": "GeoJSONIsochronesResponse"
},
"GeoJSONRouteResponse": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"features": {
"type": "array",
"items": {
"type": "object"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the request"
},
"type": {
"type": "string"
}
},
"title": "GeoJSONRouteResponse"
},
"IsochronesRequest": {
"type": "object",
"required": [
"locations",
"range"
],
"properties": {
"area_units": {
"type": "string",
"description": "Specifies the area unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}",
"enum": [
"m",
"km",
"mi"
]
},
"attributes": {
"type": "array",
"example": [
"area"
],
"description": "List of isochrones attributes",
"items": {
"type": "string",
"enum": [
"area",
"reachfactor",
"total_pop"
]
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"intersections": {
"type": "boolean",
"description": "Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}"
},
"interval": {
"type": "number",
"format": "double",
"example": 30,
"description": "Interval of isochrones or equidistants. This is only used if a single range value is given. Value in **seconds** for time and **meters** for distance."
},
"location_type": {
"type": "string",
"example": "start",
"description": "`start` treats the location(s) as starting point, `destination` as goal. CUSTOM_KEYS:{'apiDefault':'start'}",
"enum": [
"start",
"destination"
]
},
"locations": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
]
],
"description": "The locations to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Additional options for the isochrones request",
"example": {
"avoid_borders": "all"
}
},
"range": {
"type": "array",
"example": [
300,
200
],
"description": "Maximum range value of the analysis in **seconds** for time and **metres** for distance.Alternatively a comma separated list of specific range values. Ranges will be the same for all locations.",
"items": {
"type": "number",
"format": "double"
}
},
"range_type": {
"type": "string",
"example": "time",
"description": "Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}",
"enum": [
"time",
"distance"
]
},
"smoothing": {
"type": "number",
"format": "double",
"example": 25,
"description": "Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.\nGeneralisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.\nIf the distance is larger than a threshold value, the line between the two points is removed and a smaller connecting line between other points is used.\nNote that the minimum length of this connecting line is ~1333m, and so when the `smoothing_factor` results in a distance smaller than this, the minimum value is used.\nThe threshold value is determined as `(maximum_radius_of_isochrone \/ 100) * smoothing_factor`.\nTherefore, a value closer to 100 will result in a more generalised shape.\nThe polygon generation algorithm is based on Duckham and al. (2008) `\"Efficient generation of simple polygons for characterizing the shape of a set of points in the plane.\"`"
},
"time": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00",
"description": "Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance units only if `range_type` is set to distance.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "IsochronesRequest",
"description": "The JSON body request sent to the isochrones service which defines options and parameters regarding the isochrones to generate."
},
"IsochronesResponseInfo": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the isochrones service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations",
"range"
],
"properties": {
"area_units": {
"type": "string",
"description": "Specifies the area unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}",
"enum": [
"m",
"km",
"mi"
]
},
"attributes": {
"type": "array",
"example": [
"area"
],
"description": "List of isochrones attributes",
"items": {
"type": "string",
"enum": [
"area",
"reachfactor",
"total_pop"
]
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"intersections": {
"type": "boolean",
"description": "Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}"
},
"interval": {
"type": "number",
"format": "double",
"example": 30,
"description": "Interval of isochrones or equidistants. This is only used if a single range value is given. Value in **seconds** for time and **meters** for distance."
},
"location_type": {
"type": "string",
"example": "start",
"description": "`start` treats the location(s) as starting point, `destination` as goal. CUSTOM_KEYS:{'apiDefault':'start'}",
"enum": [
"start",
"destination"
]
},
"locations": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
]
],
"description": "The locations to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Additional options for the isochrones request",
"example": {
"avoid_borders": "all"
}
},
"range": {
"type": "array",
"example": [
300,
200
],
"description": "Maximum range value of the analysis in **seconds** for time and **metres** for distance.Alternatively a comma separated list of specific range values. Ranges will be the same for all locations.",
"items": {
"type": "number",
"format": "double"
}
},
"range_type": {
"type": "string",
"example": "time",
"description": "Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}",
"enum": [
"time",
"distance"
]
},
"smoothing": {
"type": "number",
"format": "double",
"example": 25,
"description": "Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.\nGeneralisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.\nIf the distance is larger than a threshold value, the line between the two points is removed and a smaller connecting line between other points is used.\nNote that the minimum length of this connecting line is ~1333m, and so when the `smoothing_factor` results in a distance smaller than this, the minimum value is used.\nThe threshold value is determined as `(maximum_radius_of_isochrone \/ 100) * smoothing_factor`.\nTherefore, a value closer to 100 will result in a more generalised shape.\nThe polygon generation algorithm is based on Duckham and al. (2008) `\"Efficient generation of simple polygons for characterizing the shape of a set of points in the plane.\"`"
},
"time": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00",
"description": "Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance units only if `range_type` is set to distance.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "IsochronesRequest",
"description": "The information that was used for generating the isochrones"
},
"service": {
"type": "string",
"example": "isochrones",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "IsochronesResponseInfo",
"description": "Information about the request"
},
"JSON2DDestinations": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DDestinations"
},
"JSON2DSources": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DSources"
},
"JSONExtra": {
"type": "object",
"properties": {
"summary": {
"type": "array",
"description": "List representing the summary of the extra info items.",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
}
},
"values": {
"type": "array",
"example": [
[
0,
3,
26
],
[
3,
10,
12
]
],
"description": "A list of values representing a section of the route. The individual values are: \nValue 1: Indice of the staring point of the geometry for this section,\nValue 2: Indice of the end point of the geoemetry for this sections,\nValue 3: [Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) assigned to this section.",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"title": "JSONExtra",
"description": "An object representing one of the extra info items requested"
},
"JSONExtraSummary": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
},
"JSONIndividualRouteResponse": {
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T13:15:00+01:00",
"description": "Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}"
},
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "A bounding box which contains the entire route",
"items": {
"type": "number",
"format": "double"
}
},
"departure": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00+01:00",
"description": "Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}"
},
"extras": {
"type": "object",
"description": "List of extra info objects representing the extra info items that were requested for the route.",
"additionalProperties": {
"type": "object",
"properties": {
"summary": {
"type": "array",
"description": "List representing the summary of the extra info items.",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
}
},
"values": {
"type": "array",
"example": [
[
0,
3,
26
],
[
3,
10,
12
]
],
"description": "A list of values representing a section of the route. The individual values are: \nValue 1: Indice of the staring point of the geometry for this section,\nValue 2: Indice of the end point of the geoemetry for this sections,\nValue 3: [Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) assigned to this section.",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"title": "JSONExtra",
"description": "An object representing one of the extra info items requested"
}
},
"segments": {
"type": "array",
"description": "List containing the segments and its corresponding steps which make up the route.",
"items": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 56.3,
"description": " Contains ascent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"avgspeed": {
"type": "number",
"format": "double",
"example": 56.3,
"description": "Contains the average speed of this segment in km\/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 45.2,
"description": "Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"detourfactor": {
"type": "number",
"format": "double",
"example": 0.5,
"description": "Contains the deviation compared to a straight line that would have the factor `1`. Double the Distance would be a `2`. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'detourfactor'}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 253,
"description": "Contains the distance of the segment in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 37.7,
"description": "Contains the duration of the segment in seconds."
},
"percentage": {
"type": "number",
"format": "double",
"example": 43.2,
"description": "Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}"
},
"steps": {
"type": "array",
"description": "List containing the specific steps the segment consists of.",
"items": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
}
}
},
"title": "JSONSegment",
"description": "List containing the segments and its correspoding steps which make up the route."
}
},
"summary": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 166.3,
"description": "Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 201.3,
"description": "Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 12.6,
"description": "Total route distance in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 604,
"description": "Total duration in seconds."
}
},
"title": "JSONSummary",
"description": "Summary information about the route"
},
"warnings": {
"type": "array",
"description": "List of warnings that have been generated for the route",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"way_points": {
"type": "array",
"example": [
0,
23
],
"description": "List containing the indices of way points corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONIndividualRouteResponse",
"description": "An individual JSON based route created by the service"
},
"JSONMatrixResponse": {
"type": "object",
"properties": {
"destinations": {
"type": "array",
"description": "The individual destinations of the matrix calculations.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DDestinations"
}
},
"distances": {
"type": "array",
"example": [
[
0,
0.25
],
[
0.25,
0
]
],
"description": "The distances of the matrix calculations.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"durations": {
"type": "array",
"example": [
[
0,
25
],
[
25,
0
]
],
"description": "The durations of the matrix calculations.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org, OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations"
],
"properties": {
"destinations": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"locations": {
"type": "array",
"example": [
[
9.70093,
48.477473
],
[
9.207916,
49.153868
],
[
37.573242,
55.801281
],
[
115.663757,
38.106467
]
],
"description": "List of comma separated lists of `longitude,latitude` coordinates.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metrics": {
"type": "array",
"description": "Specifies a list of returned metrics.\n* `distance` - Returns distance matrix for specified points in defined `units`.\n* `duration` - Returns duration matrix for specified points in **seconds**. CUSTOM_KEYS:{'apiDefault':'duration'}",
"items": {
"type": "string",
"enum": [
"distance",
"duration"
]
}
},
"resolve_locations": {
"type": "boolean",
"description": "Specifies whether given locations are resolved or not. If the parameter value set to `true`, every element in `destinations` and `sources` will contain a `name` element that identifies the name of the closest street. Default is `false`. CUSTOM_KEYS:{'apiDefault':false}"
},
"sources": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). example `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"units": {
"type": "string",
"description": "Specifies the distance unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "MatrixRequest",
"description": "The information that was used for generating the matrix"
},
"service": {
"type": "string",
"example": "matrix",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "MatrixResponseInfo",
"description": "Information about the service and request"
},
"sources": {
"type": "array",
"description": "The individual sources of the matrix calculations.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"name": {
"type": "string",
"example": "Bergheimer Stra\u00dfe",
"description": "Name of the street the closest accessible point is situated on. Only for `resolve_locations=true` and only if name is available.CUSTOM_KEYS:{'validWhen':{'ref':'resolve_locations','value':true}}"
},
"snapped_distance": {
"type": "number",
"format": "double",
"example": 1.2,
"description": "Distance between the `source\/destination` Location and the used point on the routing graph."
}
},
"title": "JSON2DSources"
}
}
},
"title": "JSONMatrixResponse",
"description": "The Matrix Response contains one matrix for each specified `metrics` value."
},
"JSONRouteResponse": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "Bounding box that covers all returned routes",
"items": {
"type": "number",
"format": "double"
}
},
"metadata": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
{
"type": "object",
"required": [
"coordinates"
],
"properties": {
"alternative_routes": {
"type": "object",
"properties": {
"share_factor": {
"type": "number",
"format": "double",
"example": 0.6,
"description": "Maximum fraction of the route that alternatives may share with the optimal route. The default value of 0.6 means alternatives can share up to 60% of path segments with the optimal route."
},
"target_count": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Target number of alternative routes to compute. Service returns up to this number of routes that fulfill the share-factor and weight-factor constraints."
},
"weight_factor": {
"type": "number",
"format": "double",
"example": 1.4,
"description": "Maximum factor by which route weight may diverge from the optimal route. The default value of 1.4 means alternatives can be up to 1.4 times longer (costly) than the optimal route."
}
},
"title": "Alternative Routes",
"description": "Specifies whether alternative routes are computed, and parameters for the algorithm determining suitable alternatives.",
"example": {
"target_count": 2,
"weight_factor": 1.6
}
},
"attributes": {
"type": "array",
"example": [
"avgspeed",
"percentage"
],
"description": "List of route attributes",
"items": {
"type": "string",
"enum": [
"avgspeed",
"detourfactor",
"percentage"
]
}
},
"bearings": {
"type": "array",
"example": [
[
30,
20
],
[],
[
40,
20
]
],
"description": "Specifies a list of pairs (bearings and deviations) to filter the segments of the road network a waypoint can snap to. For example `bearings=[[45,10],[120,20]]`. \nEach pair is a comma-separated list that can consist of one or two float values, where the first value is the bearing and the second one is the allowed deviation from the bearing. The bearing can take values between `0` and `360` clockwise from true north. If the deviation is not set, then the default value of `100` degrees is used. The number of pairs must correspond to the number of waypoints.\nThe number of bearings corresponds to the length of waypoints-1 or waypoints. If the bearing information for the last waypoint is given, then this will control the sector from which the destination waypoint may be reached. You can skip a bearing for a certain waypoint by passing an empty value for an array, e.g. `[30,20],[],[40,20]`. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':'cycling-*'}}",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"continue_straight": {
"type": "boolean",
"example": false,
"description": "Forces the route to keep going straight at waypoints restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}"
},
"coordinates": {
"type": "array",
"example": [
[
8.681495,
49.41461
],
[
8.686507,
49.41943
],
[
8.687872,
49.420318
]
],
"description": "The waypoints to use for the route as an array of `longitude\/latitude` pairs",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"elevation": {
"type": "boolean",
"example": false,
"description": "Specifies whether to return elevation values for points. Please note that elevation also gets encoded for json response encoded polyline."
},
"extra_info": {
"type": "array",
"example": [
"waytype",
"surface"
],
"description": "The extra info items to include in the response",
"items": {
"type": "string",
"enum": [
"steepness",
"suitability",
"surface",
"waycategory",
"waytype",
"tollways",
"traildifficulty",
"osmid",
"roadaccessrestrictions",
"countryinfo",
"green",
"noise",
"csv",
"shadow"
]
}
},
"geometry": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true, 'validWhen':{'ref':'format','value':['json']}}"
},
"geometry_simplify": {
"type": "boolean",
"example": false,
"description": "Specifies whether to simplify the geometry. Simplify geometry cannot be applied to routes with more than **one segment** and when `extra_info` is required.CUSTOM_KEYS:{'apiDefault':false}"
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"instructions": {
"type": "boolean",
"example": true,
"description": "Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}"
},
"instructions_format": {
"type": "string",
"example": "text",
"description": "Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}",
"enum": [
"html",
"text"
]
},
"language": {
"type": "string",
"example": "en",
"description": "Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}",
"enum": [
"cs",
"cs-cz",
"de",
"de-de",
"en",
"en-us",
"eo",
"eo-eo",
"es",
"es-es",
"fr",
"fr-fr",
"gr",
"gr-gr",
"he",
"he-il",
"hu",
"hu-hu",
"id",
"id-id",
"it",
"it-it",
"ja",
"ja-jp",
"ne",
"ne-np",
"nl",
"nl-nl",
"pl",
"pl-pl",
"pt",
"pt-pt",
"ro",
"ro-ro",
"ru",
"ru-ru",
"tr",
"tr-tr",
"zh",
"zh-cn"
]
},
"maneuvers": {
"type": "boolean",
"example": false,
"description": "Specifies whether the maneuver object is included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}"
},
"maximum_speed": {
"type": "number",
"format": "double",
"example": 90,
"description": "The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}"
},
"options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "For advanced options formatted as json object. For structure refer to the [these examples](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Examples.html).",
"example": {
"avoid_borders": "controlled"
}
},
"preference": {
"type": "string",
"example": "recommended",
"description": "Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}",
"enum": [
"fastest",
"shortest",
"recommended"
]
},
"radiuses": {
"type": "array",
"example": [
200,
-1,
30
],
"description": "A list of maximum distances (measured in metres) that limit the search of nearby road segments to every given waypoint. The values must be greater than 0, the value of -1 specifies using the maximum possible search radius. The number of radiuses correspond to the number of waypoints. If only a single value is given, it will be applied to all waypoints.",
"items": {
"type": "number",
"format": "double"
}
},
"roundabout_exits": {
"type": "boolean",
"example": false,
"description": "Provides bearings of the entrance and all passed roundabout exits. Adds the `exit_bearings` array to the step object in the response. CUSTOM_KEYS:{'apiDefault':false}"
},
"skip_segments": {
"type": "array",
"example": [
2,
4
],
"description": "Specifies the segments that should be skipped in the route calculation. A segment is the connection between two given coordinates and the counting starts with 1 for the connection between the first and second coordinate.",
"items": {
"type": "integer",
"format": "int32"
}
},
"suppress_warnings": {
"type": "boolean",
"example": false,
"description": "Suppress warning messages in the response"
},
"units": {
"type": "string",
"example": "m",
"description": "Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "Directions Service",
"description": "The JSON body request sent to the routing service which defines options and parameters regarding the route to generate."
}
],
"description": "The information that was used for generating the route"
},
"service": {
"type": "string",
"example": "routing",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "RouteResponseInfo",
"description": "Information about the service and request"
},
"routes": {
"type": "array",
"description": "A list of routes returned from the request",
"items": {
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T13:15:00+01:00",
"description": "Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}"
},
"bbox": {
"type": "array",
"example": [
49.414057,
8.680894,
49.420514,
8.690123
],
"description": "A bounding box which contains the entire route",
"items": {
"type": "number",
"format": "double"
}
},
"departure": {
"type": "string",
"format": "date-time",
"example": "2020-01-31T12:45:00+01:00",
"description": "Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}"
},
"extras": {
"type": "object",
"description": "List of extra info objects representing the extra info items that were requested for the route.",
"additionalProperties": {
"type": "object",
"properties": {
"summary": {
"type": "array",
"description": "List representing the summary of the extra info items.",
"items": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 23.8,
"description": "Category percentage of the entire route."
},
"distance": {
"type": "number",
"format": "double",
"example": 123.1,
"description": "Cumulative distance of this value."
},
"value": {
"type": "number",
"format": "double",
"example": 5,
"description": "[Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) of a info category."
}
},
"title": "JSONExtraSummary"
}
},
"values": {
"type": "array",
"example": [
[
0,
3,
26
],
[
3,
10,
12
]
],
"description": "A list of values representing a section of the route. The individual values are: \nValue 1: Indice of the staring point of the geometry for this section,\nValue 2: Indice of the end point of the geoemetry for this sections,\nValue 3: [Value](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/extra-info\/Extra-Info.html) assigned to this section.",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"title": "JSONExtra",
"description": "An object representing one of the extra info items requested"
}
},
"segments": {
"type": "array",
"description": "List containing the segments and its corresponding steps which make up the route.",
"items": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 56.3,
"description": " Contains ascent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"avgspeed": {
"type": "number",
"format": "double",
"example": 56.3,
"description": "Contains the average speed of this segment in km\/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 45.2,
"description": "Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"detourfactor": {
"type": "number",
"format": "double",
"example": 0.5,
"description": "Contains the deviation compared to a straight line that would have the factor `1`. Double the Distance would be a `2`. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'detourfactor'}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 253,
"description": "Contains the distance of the segment in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 37.7,
"description": "Contains the duration of the segment in seconds."
},
"percentage": {
"type": "number",
"format": "double",
"example": 43.2,
"description": "Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}"
},
"steps": {
"type": "array",
"description": "List containing the specific steps the segment consists of.",
"items": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
}
}
},
"title": "JSONSegment",
"description": "List containing the segments and its correspoding steps which make up the route."
}
},
"summary": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 166.3,
"description": "Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 201.3,
"description": "Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 12.6,
"description": "Total route distance in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 604,
"description": "Total duration in seconds."
}
},
"title": "JSONSummary",
"description": "Summary information about the route"
},
"warnings": {
"type": "array",
"description": "List of warnings that have been generated for the route",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"way_points": {
"type": "array",
"example": [
0,
23
],
"description": "List containing the indices of way points corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONIndividualRouteResponse",
"description": "An individual JSON based route created by the service"
}
}
},
"title": "JSONRouteResponse"
},
"JSONSegment": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 56.3,
"description": " Contains ascent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"avgspeed": {
"type": "number",
"format": "double",
"example": 56.3,
"description": "Contains the average speed of this segment in km\/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 45.2,
"description": "Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}"
},
"detourfactor": {
"type": "number",
"format": "double",
"example": 0.5,
"description": "Contains the deviation compared to a straight line that would have the factor `1`. Double the Distance would be a `2`. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'detourfactor'}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 253,
"description": "Contains the distance of the segment in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 37.7,
"description": "Contains the duration of the segment in seconds."
},
"percentage": {
"type": "number",
"format": "double",
"example": 43.2,
"description": "Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}"
},
"steps": {
"type": "array",
"description": "List containing the specific steps the segment consists of.",
"items": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
}
}
},
"title": "JSONSegment",
"description": "List containing the segments and its correspoding steps which make up the route."
},
"JSONStep": {
"type": "object",
"properties": {
"distance": {
"type": "number",
"format": "double",
"example": 245,
"description": "The distance for the step in metres."
},
"duration": {
"type": "number",
"format": "double",
"example": 96.2,
"description": "The duration for the step in seconds."
},
"exit_bearings": {
"type": "array",
"example": [
10,
45,
60
],
"description": "Contains the bearing of the entrance and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.",
"items": {
"type": "integer",
"format": "int32"
}
},
"exit_number": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Only for roundabouts. Contains the number of the exit to take."
},
"instruction": {
"type": "string",
"example": "Turn right onto Berliner Stra\u00dfe",
"description": "The routing instruction text for the step."
},
"maneuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}"
},
"name": {
"type": "string",
"example": "Berliner Stra\u00dfe",
"description": "The name of the next street."
},
"type": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The [instruction](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/Instruction-Types.html) action for symbolisation purposes."
},
"way_points": {
"type": "array",
"example": [
45,
48
],
"description": "List containing the indices of the steps start- and endpoint corresponding to the *geometry*.",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"title": "JSONStep",
"description": "Step of a route segment"
},
"JSONStepManeuver": {
"type": "object",
"properties": {
"bearing_after": {
"type": "integer",
"format": "int32",
"example": 96,
"description": "The azimuth angle (in degrees) of the direction right after the maneuver."
},
"bearing_before": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The azimuth angle (in degrees) of the direction right before the maneuver."
},
"location": {
"type": "array",
"example": [
8.678962,
49.407819
],
"description": "The coordinate of the point where a maneuver takes place.",
"items": {
"type": "number",
"format": "double"
}
}
},
"title": "JSONStepManeuver",
"description": "Maneuver object of the step"
},
"JSONSummary": {
"type": "object",
"properties": {
"ascent": {
"type": "number",
"format": "double",
"example": 166.3,
"description": "Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"descent": {
"type": "number",
"format": "double",
"example": 201.3,
"description": "Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}"
},
"distance": {
"type": "number",
"format": "double",
"example": 12.6,
"description": "Total route distance in specified units."
},
"duration": {
"type": "number",
"format": "double",
"example": 604,
"description": "Total duration in seconds."
}
},
"title": "JSONSummary",
"description": "Contains total sums of duration, route distance and actual distance of the route."
},
"JSONWarning": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
},
"JsonCentralityLocation": {
"type": "object",
"properties": {
"coord": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
}
},
"title": "JsonCentralityLocation"
},
"JsonCentralityResponse": {
"type": "object",
"properties": {
"edgeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the start point of the edge"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding edge in the given bounding box"
},
"toId": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Id of the end point of the edge"
}
},
"title": "JsonEdgeScore"
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coord": {
"type": "array",
"example": [
8.678962,
49.40783
],
"description": "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
"items": {
"type": "number",
"format": "double"
}
},
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
}
},
"title": "JsonCentralityLocation"
}
},
"nodeScores": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding node in the given bounding box"
}
},
"title": "JsonNodeScore"
}
},
"warning": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Identification code for the warning"
},
"message": {
"type": "string",
"example": "This route may go over restricted roads",
"description": "The message associated with the warning"
}
},
"title": "JSONWarning",
"description": "Informs about possible difficulties like access restrictions on the generated route. Generates a corresponding `extras` object with the affected segments."
}
},
"title": "JsonCentralityResponse",
"description": "The Centrality Response contains centrality values for nodes or edges in the requested BBox"
},
"JsonEdgeScore": {
"type": "object",
"properties": {
"fromId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the start point of the edge"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding edge in the given bounding box"
},
"toId": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Id of the end point of the edge"
}
},
"title": "JsonEdgeScore"
},
"JsonNodeScore": {
"type": "object",
"properties": {
"nodeId": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Id of the corresponding node in the graph"
},
"score": {
"type": "number",
"format": "double",
"example": 123.45,
"description": "Centrality Score of the corresponding node in the given bounding box"
}
},
"title": "JsonNodeScore"
},
"MatrixRequest": {
"type": "object",
"required": [
"locations"
],
"properties": {
"destinations": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"locations": {
"type": "array",
"example": [
[
9.70093,
48.477473
],
[
9.207916,
49.153868
],
[
37.573242,
55.801281
],
[
115.663757,
38.106467
]
],
"description": "List of comma separated lists of `longitude,latitude` coordinates.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metrics": {
"type": "array",
"description": "Specifies a list of returned metrics.\n* `distance` - Returns distance matrix for specified points in defined `units`.\n* `duration` - Returns duration matrix for specified points in **seconds**. CUSTOM_KEYS:{'apiDefault':'duration'}",
"items": {
"type": "string",
"enum": [
"distance",
"duration"
]
}
},
"resolve_locations": {
"type": "boolean",
"description": "Specifies whether given locations are resolved or not. If the parameter value set to `true`, every element in `destinations` and `sources` will contain a `name` element that identifies the name of the closest street. Default is `false`. CUSTOM_KEYS:{'apiDefault':false}"
},
"sources": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). example `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"units": {
"type": "string",
"description": "Specifies the distance unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "MatrixRequest",
"description": "The JSON body request sent to the matrix service which defines options and parameters regarding the matrix to generate."
},
"MatrixResponseInfo": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org, OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"type": "object",
"required": [
"locations"
],
"properties": {
"destinations": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"example": "centrality_request",
"description": "Arbitrary identification string of the request reflected in the meta information."
},
"locations": {
"type": "array",
"example": [
[
9.70093,
48.477473
],
[
9.207916,
49.153868
],
[
37.573242,
55.801281
],
[
115.663757,
38.106467
]
],
"description": "List of comma separated lists of `longitude,latitude` coordinates.",
"items": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
},
"metrics": {
"type": "array",
"description": "Specifies a list of returned metrics.\n* `distance` - Returns distance matrix for specified points in defined `units`.\n* `duration` - Returns duration matrix for specified points in **seconds**. CUSTOM_KEYS:{'apiDefault':'duration'}",
"items": {
"type": "string",
"enum": [
"distance",
"duration"
]
}
},
"resolve_locations": {
"type": "boolean",
"description": "Specifies whether given locations are resolved or not. If the parameter value set to `true`, every element in `destinations` and `sources` will contain a `name` element that identifies the name of the closest street. Default is `false`. CUSTOM_KEYS:{'apiDefault':false}"
},
"sources": {
"type": "array",
"description": "A list of indices that refers to the list of locations (starting with `0`). `{index_1},{index_2}[,{index_N} ...]` or `all` (default). example `[0,3]` for the first and fourth locations CUSTOM_KEYS:{'apiDefault':['all']}",
"items": {
"type": "string"
}
},
"units": {
"type": "string",
"description": "Specifies the distance unit.\nDefault: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}",
"enum": [
"m",
"km",
"mi"
]
}
},
"title": "MatrixRequest",
"description": "The information that was used for generating the matrix"
},
"service": {
"type": "string",
"example": "matrix",
"description": "The service that was requested"
},
"system_message": {
"type": "string",
"example": "A message string configured in the service",
"description": "System message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"example": 1549549847974,
"description": "Time that the request was made (UNIX Epoch time)"
}
},
"title": "MatrixResponseInfo",
"description": "Information about the request"
},
"Profile Parameters": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": "Specifies additional routing parameters. For all profiles except `driving-car`."
},
"Profile Weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
},
"ResponseEntity": {
"type": "object",
"properties": {
"body": {
"type": "object"
},
"statusCode": {
"type": "string",
"enum": [
"100 CONTINUE",
"101 SWITCHING_PROTOCOLS",
"102 PROCESSING",
"103 CHECKPOINT",
"200 OK",
"201 CREATED",
"202 ACCEPTED",
"203 NON_AUTHORITATIVE_INFORMATION",
"204 NO_CONTENT",
"205 RESET_CONTENT",
"206 PARTIAL_CONTENT",
"207 MULTI_STATUS",
"208 ALREADY_REPORTED",
"226 IM_USED",
"300 MULTIPLE_CHOICES",
"301 MOVED_PERMANENTLY",
"302 FOUND",
"302 MOVED_TEMPORARILY",
"303 SEE_OTHER",
"304 NOT_MODIFIED",
"305 USE_PROXY",
"307 TEMPORARY_REDIRECT",
"308 PERMANENT_REDIRECT",
"400 BAD_REQUEST",
"401 UNAUTHORIZED",
"402 PAYMENT_REQUIRED",
"403 FORBIDDEN",
"404 NOT_FOUND",
"405 METHOD_NOT_ALLOWED",
"406 NOT_ACCEPTABLE",
"407 PROXY_AUTHENTICATION_REQUIRED",
"408 REQUEST_TIMEOUT",
"409 CONFLICT",
"410 GONE",
"411 LENGTH_REQUIRED",
"412 PRECONDITION_FAILED",
"413 PAYLOAD_TOO_LARGE",
"413 REQUEST_ENTITY_TOO_LARGE",
"414 URI_TOO_LONG",
"414 REQUEST_URI_TOO_LONG",
"415 UNSUPPORTED_MEDIA_TYPE",
"416 REQUESTED_RANGE_NOT_SATISFIABLE",
"417 EXPECTATION_FAILED",
"418 I_AM_A_TEAPOT",
"419 INSUFFICIENT_SPACE_ON_RESOURCE",
"420 METHOD_FAILURE",
"421 DESTINATION_LOCKED",
"422 UNPROCESSABLE_ENTITY",
"423 LOCKED",
"424 FAILED_DEPENDENCY",
"425 TOO_EARLY",
"426 UPGRADE_REQUIRED",
"428 PRECONDITION_REQUIRED",
"429 TOO_MANY_REQUESTS",
"431 REQUEST_HEADER_FIELDS_TOO_LARGE",
"451 UNAVAILABLE_FOR_LEGAL_REASONS",
"500 INTERNAL_SERVER_ERROR",
"501 NOT_IMPLEMENTED",
"502 BAD_GATEWAY",
"503 SERVICE_UNAVAILABLE",
"504 GATEWAY_TIMEOUT",
"505 HTTP_VERSION_NOT_SUPPORTED",
"506 VARIANT_ALSO_NEGOTIATES",
"507 INSUFFICIENT_STORAGE",
"508 LOOP_DETECTED",
"509 BANDWIDTH_LIMIT_EXCEEDED",
"510 NOT_EXTENDED",
"511 NETWORK_AUTHENTICATION_REQUIRED"
]
},
"statusCodeValue": {
"type": "integer",
"format": "int32"
}
},
"title": "ResponseEntity"
},
"Restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"Round Trip Route Options": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Specifies the parameters for generating round trip routes."
},
"Route Options": {
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
"example": 8.4,
"description": "Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"maximum_incline": {
"type": "integer",
"format": "int32",
"example": 3,
"description": "Specifies the maximum incline as a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"maximum_sloped_kerb": {
"type": "number",
"format": "float",
"example": 0.03,
"description": "Specifies the maximum height of the sloped curb in metres. Values are `0.03`, `0.06` (default), `0.1`.CUSTOM_KEYS:{'apiDefault':0.6,'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"minimum_width": {
"type": "number",
"format": "float",
"example": 2.5,
"description": "Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"smoothness_type": {
"type": "string",
"example": "best",
"description": "Specifies the minimum smoothness of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}",
"enum": [
"excellent",
"good",
"intermediate",
"bad",
"very_bad",
"horrible",
"very_horrible",
"impassable"
]
},
"surface_type": {
"type": "string",
"example": "asphalt",
"description": "Specifies the minimum surface type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"track_type": {
"type": "string",
"example": "grade2",
"description": "Specifies the minimum grade of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weight": {
"type": "number",
"format": "float",
"example": 40,
"description": "Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"width": {
"type": "number",
"format": "float",
"example": 5.6,
"description": "Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
}
},
"title": "Restrictions",
"description": "Describe restrictions to be applied to edges on the routing. any edges that do not match these restrictions are not traversed."
},
"surface_quality_known": {
"type": "boolean",
"example": true,
"description": "Specifies whether to enforce that only ways with known information on surface quality be taken into account - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"weightings": {
"type": "object",
"properties": {
"csvColumn": {
"type": "string"
},
"csv_column": {
"type": "string",
"description": "Specifies the csv column name"
},
"csv_factor": {
"type": "number",
"format": "float",
"description": "Specifies the factor of csv-column (range 0 to 1)"
},
"green": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the Green factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the green routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through green areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"quiet": {
"type": "number",
"format": "float",
"example": 0.8,
"description": "Specifies the Quiet factor for foot-* profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the quiet routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer quiet ways over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"shadow": {
"type": "number",
"format": "float",
"example": 0.4,
"description": "Specifies the shadow factor for `foot-*` profiles.\n\nfactor: Multiplication factor range from 0 to 1. 0 is the shadow routing base factor without multiplying it by the manual factor and is already different from normal routing. 1 will prefer ways through shadow areas over a shorter route. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['foot-*']}}"
},
"steepness_difficulty": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Specifies the fitness level for `cycling-*` profiles.\n\n level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}"
}
},
"title": "Profile Weightings",
"description": "Describe additional weightings to be applied to edges on the routing."
}
},
"title": "Profile Parameters",
"description": " Specifies additional matrix parameters.CUSTOM_KEYS:{'validWhen':{'ref':'profile','valueNot':['driving-car']}}"
},
"round_trip": {
"type": "object",
"properties": {
"length": {
"type": "number",
"format": "float",
"example": 10000,
"description": "The target length of the route in `m` (note that this is a preferred value, but results may be different)."
},
"points": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "The number of points to use on the route. Larger values create more circular routes."
},
"seed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "A seed to use for adding randomisation to the overall direction of the generated route"
}
},
"title": "Round Trip Route Options",
"description": "Options to be applied on round trip routes.",
"example": {
"length": 10000,
"points": 5
}
},
"vehicle_type": {
"type": "string",
"description": "(for profile=driving-hgv only): hgv,bus,agricultural,delivery,forestry and goods. It is needed for vehicle restrictions to work. CUSTOM_KEYS:{'apiDefault':'hgv','validWhen':{'ref':'profile','value':['driving-hgv']}}",
"enum": [
"hgv",
"bus",
"agricultural",
"delivery",
"forestry",
"goods",
"unknown"
]
}
},
"title": "Route Options",
"description": "Advanced options for routing"
},
"RouteResponseInfo": {
"type": "object",
"properties": {
"attribution": {
"type": "string",
"example": "openrouteservice.org | OpenStreetMap contributors",
"description": "Copyright and attribution information"
},
"engine": {
"type": "object",
"properties": {
"build_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the service was last updated"
},
"graph_date": {
"type": "string",
"example": "2019-02-07T14:28:11Z",
"description": "The date that the graph data was last updated"
},
"version": {
"type": "string",
"example": 5,
"description": "The backend version of the openrouteservice that was queried"
}
},
"title": "EngineInfo",
"description": "Information about the routing service"
},
"id": {
"type": "string",
"example": "request123",
"description": "ID of the request (as passed in by the query)"
},
"osm_file_md5_hash": {
"type": "string",
"example": "c0327ba6",
"description": "The MD5 hash of the OSM planet file that was used for generating graphs"
},
"query": {
"title": "Directions Service",
"allOf": [
{
"type": "object",
"properties": {
"avoid_borders": {
"type": "string",
"example": "controlled",
"description": "`all` for no border crossing. `controlled` to cross open borders but avoid controlled ones. Only for `driving-*` profiles. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"enum": [
"all",
"controlled",
"none"
]
},
"avoid_countries": {
"type": "array",
"example": [
11,
193
],
"description": "List of countries to exclude from matrix with `driving-*` profiles. Can be used together with `'avoid_borders': 'controlled'`. `[ 11, 193 ]` would exclude Austria and Switzerland. List of countries and application examples can be found [here](https:\/\/GIScience.github.io\/openrouteservice\/documentation\/routing-options\/Country-List.html). Also, ISO standard country codes cna be used in place of the numerical ids, for example, DE or DEU for Germany. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}",
"items": {
"type": "string"
}
},
"avoid_features": {
"type": "array",
"example": [
"highways"
],
"description": "List of features to avoid. CUSTOM_KEYS:{'itemRestrictions':{'ref':'profile', 'itemsWhen':{'driving-*':['highways','tollways','ferries'],'cycling-*':['ferries','steps','fords'],'foot-*':['ferries','fords','steps'],'wheelchair':['ferries','steps']}}}",
"items": {
"type": "string",
"enum": [
"highways",
"tollways",
"ferries",
"fords",
"steps"
]
}
},
"avoid_polygons": {
"type": "object",
"description": "Comprises areas to be avoided for the route. Formatted in GeoJSON as either a Polygon or Multipolygon object.",
"additionalProperties": {
"type": "object"
}
},
"profile_params": {
"type": "object",
"properties": {
"allow_unsuitable": {
"type": "boolean",
"example": true,
"description": "Specifies if ways that might not be suitable (e.g. unknown pedestrian usage) should be included in finding routes - default falseCUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}"
},
"restrictions": {
"type": "object",
"properties": {
"axleload": {
"type": "number",
"format": "float",
"example": 50,
"description": "Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"hazmat": {
"type": "boolean",
"description": "Specifies whether to use appropriate routing for delivering hazardous goods and avoiding water protected areas. Default is `false`. CUSTOM_KEYS:{'apiDefault':false,'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"height": {
"type": "number",
"format": "float",
"example": 4.2,
"description": "Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}"
},
"length": {
"type": "number",
"format": "float",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment