Skip to content

Instantly share code, notes, and snippets.

@spigelli
Created November 24, 2022 00:28
Show Gist options
  • Save spigelli/aa6316da2f8c898b1f89a1dcc8215625 to your computer and use it in GitHub Desktop.
Save spigelli/aa6316da2f8c898b1f89a1dcc8215625 to your computer and use it in GitHub Desktop.
Open routing service Open API Specification
This file has been truncated, but you can view the full file.
openapi: 3.0.1
info:
title: Openrouteservice
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/).
contact:
email: enquiry@openrouteservice.heigit.org
license:
name: MIT
url: https://github.com/swagger-api/swagger-ui/blob/master/LICENSE
version: 6.8.0
servers:
- url: //api.openrouteservice.org/
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.
- 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
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Centrality Service
required:
- bbox
type: object
properties:
bbox:
type: array
description: The bounding box to use for the request as an array
of `longitude/latitude` pairs
example:
- 8.681495
- 49.41461
- 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
excludeNodes:
type: array
description: List of node Ids to exclude when calculating centrality
example:
- 1661
- 1662
- 1663
items:
type: integer
format: int32
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
mode:
type: string
description: Specifies the centrality calculation mode. Currently,
node-based and edge-based centrality calculation is supported.
example: nodes
enum:
- nodes
- edges
description: The JSON body request sent to the centrality service which
defines options and parameters regarding the centrality measure to
calculate.
required: true
responses:
200:
description: Standard response for successfully processed requests. Returns
JSON.
content:
'*/*':
schema:
title: JsonCentralityResponse
type: object
properties:
edgeScores:
type: array
items:
title: JsonEdgeScore
type: object
properties:
fromId:
type: integer
description: Id of the start point of the edge
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding edge
in the given bounding box
format: double
example: 123.45
toId:
type: integer
description: Id of the end point of the edge
format: int32
example: 2
locations:
type: array
items:
title: JsonCentralityLocation
type: object
properties:
coord:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
nodeScores:
type: array
items:
title: JsonNodeScore
type: object
properties:
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding node
in the given bounding box
format: double
example: 123.45
warning:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
description: Informs about possible difficulties like access restrictions
on the generated route. Generates a corresponding `extras` object
with the affected segments.
description: The Centrality Response contains centrality values for
nodes or edges in the requested BBox
application/json:
schema:
title: JsonCentralityResponse
type: object
properties:
edgeScores:
type: array
items:
title: JsonEdgeScore
type: object
properties:
fromId:
type: integer
description: Id of the start point of the edge
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding edge
in the given bounding box
format: double
example: 123.45
toId:
type: integer
description: Id of the end point of the edge
format: int32
example: 2
locations:
type: array
items:
title: JsonCentralityLocation
type: object
properties:
coord:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
nodeScores:
type: array
items:
title: JsonNodeScore
type: object
properties:
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding node
in the given bounding box
format: double
example: 123.45
warning:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
description: Informs about possible difficulties like access restrictions
on the generated route. Generates a corresponding `extras` object
with the affected segments.
description: The Centrality Response contains centrality values for
nodes or edges in the requested BBox
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/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
parameters:
- name: profile
in: path
description: Specifies the profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Centrality Service
required:
- bbox
type: object
properties:
bbox:
type: array
description: The bounding box to use for the request as an array
of `longitude/latitude` pairs
example:
- 8.681495
- 49.41461
- 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
excludeNodes:
type: array
description: List of node Ids to exclude when calculating centrality
example:
- 1661
- 1662
- 1663
items:
type: integer
format: int32
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
mode:
type: string
description: Specifies the centrality calculation mode. Currently,
node-based and edge-based centrality calculation is supported.
example: nodes
enum:
- nodes
- edges
description: The JSON body request sent to the centrality service which
defines options and parameters regarding the centrality measure to
calculate.
required: true
responses:
200:
description: JSON Response
content:
application/json;charset=UTF-8:
schema:
title: JsonCentralityResponse
type: object
properties:
edgeScores:
type: array
items:
title: JsonEdgeScore
type: object
properties:
fromId:
type: integer
description: Id of the start point of the edge
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding edge
in the given bounding box
format: double
example: 123.45
toId:
type: integer
description: Id of the end point of the edge
format: int32
example: 2
locations:
type: array
items:
title: JsonCentralityLocation
type: object
properties:
coord:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
nodeScores:
type: array
items:
title: JsonNodeScore
type: object
properties:
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding node
in the given bounding box
format: double
example: 123.45
warning:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
description: Informs about possible difficulties like access restrictions
on the generated route. Generates a corresponding `extras` object
with the affected segments.
description: The Centrality Response contains centrality values for
nodes or edges in the requested BBox
application/json:
schema:
title: JsonCentralityResponse
type: object
properties:
edgeScores:
type: array
items:
title: JsonEdgeScore
type: object
properties:
fromId:
type: integer
description: Id of the start point of the edge
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding edge
in the given bounding box
format: double
example: 123.45
toId:
type: integer
description: Id of the end point of the edge
format: int32
example: 2
locations:
type: array
items:
title: JsonCentralityLocation
type: object
properties:
coord:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
nodeScores:
type: array
items:
title: JsonNodeScore
type: object
properties:
nodeId:
type: integer
description: Id of the corresponding node in the graph
format: int32
example: 1
score:
type: number
description: Centrality Score of the corresponding node
in the given bounding box
format: double
example: 123.45
warning:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
description: Informs about possible difficulties like access restrictions
on the generated route. Generates a corresponding `extras` object
with the affected segments.
description: The Centrality Response contains centrality values for
nodes or edges in the requested BBox
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/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
parameters:
- name: end
in: query
description: Destination coordinate of the route in `longitude,latitude` format.
required: true
allowEmptyValue: false
schema:
type: string
example: 8.687872,49.420318
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
- name: start
in: query
description: Start coordinate of the route in `longitude,latitude` format.
required: true
allowEmptyValue: false
schema:
type: string
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).
content:
application/geo+json;charset=UTF-8:
schema:
title: GeoJSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
type: object
properties: {}
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
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
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Directions Service
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints
restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of
`longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for
points. Please note that elevation also gets encoded for json
response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included
into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route.
Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to
the overall direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
required: true
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).
content:
'*/*':
schema:
title: JSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
routes:
type: array
description: A list of routes returned from the request
items:
title: JSONIndividualRouteResponse
type: object
properties:
arrival:
type: string
description: Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}
format: date-time
example: 2020-01-31T13:15:00+01:00
bbox:
type: array
description: A bounding box which contains the entire route
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
departure:
type: string
description: Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}
format: date-time
example: 2020-01-31T12:45:00+01:00
extras:
type: object
additionalProperties:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the
extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire
route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info
items requested
description: List of extra info objects representing the
extra info items that were requested for the route.
segments:
type: array
description: List containing the segments and its corresponding
steps which make up the route.
items:
title: JSONSegment
type: object
properties:
ascent:
type: number
description: ' Contains ascent of this segment in
metres. CUSTOM_KEYS:{''validWhen'':{''ref'':''elevation'',value:true}}'
format: double
example: 56.3
avgspeed:
type: number
description: Contains the average speed of this segment
in km/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}
format: double
example: 56.3
descent:
type: number
description: Contains descent of this segment in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}
format: double
example: 45.2
detourfactor:
type: number
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'}}
format: double
example: 0.5
distance:
type: number
description: Contains the distance of the segment
in specified units.
format: double
example: 253.0
duration:
type: number
description: Contains the duration of the segment
in seconds.
format: double
example: 37.7
percentage:
type: number
description: Contains the proportion of the route
in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}
format: double
example: 43.2
steps:
type: array
description: List containing the specific steps the
segment consists of.
items:
title: JSONStep
type: object
properties:
distance:
type: number
description: The distance for the step in metres.
format: double
example: 245.0
duration:
type: number
description: The duration for the step in seconds.
format: double
example: 96.2
exit_bearings:
type: array
description: Contains the bearing of the entrance
and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.
example:
- 10
- 45
- 60
items:
type: integer
format: int32
exit_number:
type: integer
description: Only for roundabouts. Contains
the number of the exit to take.
format: int32
example: 2
instruction:
type: string
description: The routing instruction text for
the step.
example: Turn right onto Berliner Straße
maneuver:
title: JSONStepManeuver
type: object
properties:
bearing_after:
type: integer
description: The azimuth angle (in degrees)
of the direction right after the maneuver.
format: int32
example: 96
bearing_before:
type: integer
description: The azimuth angle (in degrees)
of the direction right before the maneuver.
format: int32
example: 24
location:
type: array
description: The coordinate of the point
where a maneuver takes place.
example:
- 8.678962
- 49.407819
items:
type: number
format: double
description: The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}
name:
type: string
description: The name of the next street.
example: Berliner Straße
type:
type: integer
description: The [instruction](https://GIScience.github.io/openrouteservice/documentation/Instruction-Types.html)
action for symbolisation purposes.
format: int32
example: 1
way_points:
type: array
description: List containing the indices of
the steps start- and endpoint corresponding
to the *geometry*.
example:
- 45
- 48
items:
type: integer
format: int32
description: Step of a route segment
description: List containing the segments and its correspoding
steps which make up the route.
summary:
title: JSONSummary
type: object
properties:
ascent:
type: number
description: Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 166.3
descent:
type: number
description: Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 201.3
distance:
type: number
description: Total route distance in specified units.
format: double
example: 12.6
duration:
type: number
description: Total duration in seconds.
format: double
example: 604.0
description: Summary information about the route
warnings:
type: array
description: List of warnings that have been generated for
the route
items:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
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
description: List containing the indices of way points corresponding
to the *geometry*.
example:
- 0
- 23
items:
type: integer
format: int32
description: An individual JSON based route created by the service
application/json:
schema:
title: JSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
routes:
type: array
description: A list of routes returned from the request
items:
title: JSONIndividualRouteResponse
type: object
properties:
arrival:
type: string
description: Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}
format: date-time
example: 2020-01-31T13:15:00+01:00
bbox:
type: array
description: A bounding box which contains the entire route
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
departure:
type: string
description: Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}
format: date-time
example: 2020-01-31T12:45:00+01:00
extras:
type: object
additionalProperties:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the
extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire
route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info
items requested
description: List of extra info objects representing the
extra info items that were requested for the route.
segments:
type: array
description: List containing the segments and its corresponding
steps which make up the route.
items:
title: JSONSegment
type: object
properties:
ascent:
type: number
description: ' Contains ascent of this segment in
metres. CUSTOM_KEYS:{''validWhen'':{''ref'':''elevation'',value:true}}'
format: double
example: 56.3
avgspeed:
type: number
description: Contains the average speed of this segment
in km/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}
format: double
example: 56.3
descent:
type: number
description: Contains descent of this segment in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}
format: double
example: 45.2
detourfactor:
type: number
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'}}
format: double
example: 0.5
distance:
type: number
description: Contains the distance of the segment
in specified units.
format: double
example: 253.0
duration:
type: number
description: Contains the duration of the segment
in seconds.
format: double
example: 37.7
percentage:
type: number
description: Contains the proportion of the route
in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}
format: double
example: 43.2
steps:
type: array
description: List containing the specific steps the
segment consists of.
items:
title: JSONStep
type: object
properties:
distance:
type: number
description: The distance for the step in metres.
format: double
example: 245.0
duration:
type: number
description: The duration for the step in seconds.
format: double
example: 96.2
exit_bearings:
type: array
description: Contains the bearing of the entrance
and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.
example:
- 10
- 45
- 60
items:
type: integer
format: int32
exit_number:
type: integer
description: Only for roundabouts. Contains
the number of the exit to take.
format: int32
example: 2
instruction:
type: string
description: The routing instruction text for
the step.
example: Turn right onto Berliner Straße
maneuver:
title: JSONStepManeuver
type: object
properties:
bearing_after:
type: integer
description: The azimuth angle (in degrees)
of the direction right after the maneuver.
format: int32
example: 96
bearing_before:
type: integer
description: The azimuth angle (in degrees)
of the direction right before the maneuver.
format: int32
example: 24
location:
type: array
description: The coordinate of the point
where a maneuver takes place.
example:
- 8.678962
- 49.407819
items:
type: number
format: double
description: The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}
name:
type: string
description: The name of the next street.
example: Berliner Straße
type:
type: integer
description: The [instruction](https://GIScience.github.io/openrouteservice/documentation/Instruction-Types.html)
action for symbolisation purposes.
format: int32
example: 1
way_points:
type: array
description: List containing the indices of
the steps start- and endpoint corresponding
to the *geometry*.
example:
- 45
- 48
items:
type: integer
format: int32
description: Step of a route segment
description: List containing the segments and its correspoding
steps which make up the route.
summary:
title: JSONSummary
type: object
properties:
ascent:
type: number
description: Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 166.3
descent:
type: number
description: Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 201.3
distance:
type: number
description: Total route distance in specified units.
format: double
example: 12.6
duration:
type: number
description: Total duration in seconds.
format: double
example: 604.0
description: Summary information about the route
warnings:
type: array
description: List of warnings that have been generated for
the route
items:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
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
description: List containing the indices of way points corresponding
to the *geometry*.
example:
- 0
- 23
items:
type: integer
format: int32
description: An individual JSON based route created by the service
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/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
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Directions Service
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints
restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of
`longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for
points. Please note that elevation also gets encoded for json
response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included
into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route.
Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to
the overall direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
required: true
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).
content:
application/geo+json;charset=UTF-8:
schema:
title: GeoJSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
type: object
properties: {}
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
application/geo+json:
schema:
title: GeoJSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
type: object
properties: {}
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/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
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Directions Service
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints
restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of
`longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for
points. Please note that elevation also gets encoded for json
response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included
into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route.
Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to
the overall direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
required: true
responses:
200:
description: Standard response for successfully processed requests. Returns
GPX.
content:
application/gpx+xml;charset=UTF-8:
schema:
title: gpx
type: object
properties:
gpxRouteElements:
type: array
items:
title: rte
type: object
properties: {}
xml:
name: rte
attribute: false
wrapped: false
application/gpx+xml:
schema:
title: gpx
type: object
properties:
gpxRouteElements:
type: array
items:
title: rte
type: object
properties: {}
xml:
name: rte
attribute: false
wrapped: false
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/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
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: Directions Service
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints
restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of
`longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for
points. Please note that elevation also gets encoded for json
response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included
into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route.
Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to
the overall direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
required: true
responses:
200:
description: JSON Response
content:
application/json;charset=UTF-8:
schema:
title: JSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
routes:
type: array
description: A list of routes returned from the request
items:
title: JSONIndividualRouteResponse
type: object
properties:
arrival:
type: string
description: Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}
format: date-time
example: 2020-01-31T13:15:00+01:00
bbox:
type: array
description: A bounding box which contains the entire route
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
departure:
type: string
description: Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}
format: date-time
example: 2020-01-31T12:45:00+01:00
extras:
type: object
additionalProperties:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the
extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire
route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info
items requested
description: List of extra info objects representing the
extra info items that were requested for the route.
segments:
type: array
description: List containing the segments and its corresponding
steps which make up the route.
items:
title: JSONSegment
type: object
properties:
ascent:
type: number
description: ' Contains ascent of this segment in
metres. CUSTOM_KEYS:{''validWhen'':{''ref'':''elevation'',value:true}}'
format: double
example: 56.3
avgspeed:
type: number
description: Contains the average speed of this segment
in km/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}
format: double
example: 56.3
descent:
type: number
description: Contains descent of this segment in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}
format: double
example: 45.2
detourfactor:
type: number
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'}}
format: double
example: 0.5
distance:
type: number
description: Contains the distance of the segment
in specified units.
format: double
example: 253.0
duration:
type: number
description: Contains the duration of the segment
in seconds.
format: double
example: 37.7
percentage:
type: number
description: Contains the proportion of the route
in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}
format: double
example: 43.2
steps:
type: array
description: List containing the specific steps the
segment consists of.
items:
title: JSONStep
type: object
properties:
distance:
type: number
description: The distance for the step in metres.
format: double
example: 245.0
duration:
type: number
description: The duration for the step in seconds.
format: double
example: 96.2
exit_bearings:
type: array
description: Contains the bearing of the entrance
and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.
example:
- 10
- 45
- 60
items:
type: integer
format: int32
exit_number:
type: integer
description: Only for roundabouts. Contains
the number of the exit to take.
format: int32
example: 2
instruction:
type: string
description: The routing instruction text for
the step.
example: Turn right onto Berliner Straße
maneuver:
title: JSONStepManeuver
type: object
properties:
bearing_after:
type: integer
description: The azimuth angle (in degrees)
of the direction right after the maneuver.
format: int32
example: 96
bearing_before:
type: integer
description: The azimuth angle (in degrees)
of the direction right before the maneuver.
format: int32
example: 24
location:
type: array
description: The coordinate of the point
where a maneuver takes place.
example:
- 8.678962
- 49.407819
items:
type: number
format: double
description: The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}
name:
type: string
description: The name of the next street.
example: Berliner Straße
type:
type: integer
description: The [instruction](https://GIScience.github.io/openrouteservice/documentation/Instruction-Types.html)
action for symbolisation purposes.
format: int32
example: 1
way_points:
type: array
description: List containing the indices of
the steps start- and endpoint corresponding
to the *geometry*.
example:
- 45
- 48
items:
type: integer
format: int32
description: Step of a route segment
description: List containing the segments and its correspoding
steps which make up the route.
summary:
title: JSONSummary
type: object
properties:
ascent:
type: number
description: Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 166.3
descent:
type: number
description: Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 201.3
distance:
type: number
description: Total route distance in specified units.
format: double
example: 12.6
duration:
type: number
description: Total duration in seconds.
format: double
example: 604.0
description: Summary information about the route
warnings:
type: array
description: List of warnings that have been generated for
the route
items:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
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
description: List containing the indices of way points corresponding
to the *geometry*.
example:
- 0
- 23
items:
type: integer
format: int32
description: An individual JSON based route created by the service
application/json:
schema:
title: JSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating
the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as
a percentage. `3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type.
Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be
applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m`
(note that this is a preferred value, but results
may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight
at waypoints restricting uturns there even if it would
be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values
for points. Please note that elevation also gets encoded
for json response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the
response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the
request reflected in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions.
CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions.
CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is
included into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width
of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade
of the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings
to be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route
in `m` (note that this is a preferred value,
but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on
the route. Larger values create more circular
routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated
route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service
which defines options and parameters regarding the route
to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
routes:
type: array
description: A list of routes returned from the request
items:
title: JSONIndividualRouteResponse
type: object
properties:
arrival:
type: string
description: Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}
format: date-time
example: 2020-01-31T13:15:00+01:00
bbox:
type: array
description: A bounding box which contains the entire route
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
departure:
type: string
description: Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}
format: date-time
example: 2020-01-31T12:45:00+01:00
extras:
type: object
additionalProperties:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the
extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire
route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info
items requested
description: List of extra info objects representing the
extra info items that were requested for the route.
segments:
type: array
description: List containing the segments and its corresponding
steps which make up the route.
items:
title: JSONSegment
type: object
properties:
ascent:
type: number
description: ' Contains ascent of this segment in
metres. CUSTOM_KEYS:{''validWhen'':{''ref'':''elevation'',value:true}}'
format: double
example: 56.3
avgspeed:
type: number
description: Contains the average speed of this segment
in km/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}
format: double
example: 56.3
descent:
type: number
description: Contains descent of this segment in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}
format: double
example: 45.2
detourfactor:
type: number
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'}}
format: double
example: 0.5
distance:
type: number
description: Contains the distance of the segment
in specified units.
format: double
example: 253.0
duration:
type: number
description: Contains the duration of the segment
in seconds.
format: double
example: 37.7
percentage:
type: number
description: Contains the proportion of the route
in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}
format: double
example: 43.2
steps:
type: array
description: List containing the specific steps the
segment consists of.
items:
title: JSONStep
type: object
properties:
distance:
type: number
description: The distance for the step in metres.
format: double
example: 245.0
duration:
type: number
description: The duration for the step in seconds.
format: double
example: 96.2
exit_bearings:
type: array
description: Contains the bearing of the entrance
and all passed exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.
example:
- 10
- 45
- 60
items:
type: integer
format: int32
exit_number:
type: integer
description: Only for roundabouts. Contains
the number of the exit to take.
format: int32
example: 2
instruction:
type: string
description: The routing instruction text for
the step.
example: Turn right onto Berliner Straße
maneuver:
title: JSONStepManeuver
type: object
properties:
bearing_after:
type: integer
description: The azimuth angle (in degrees)
of the direction right after the maneuver.
format: int32
example: 96
bearing_before:
type: integer
description: The azimuth angle (in degrees)
of the direction right before the maneuver.
format: int32
example: 24
location:
type: array
description: The coordinate of the point
where a maneuver takes place.
example:
- 8.678962
- 49.407819
items:
type: number
format: double
description: The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}
name:
type: string
description: The name of the next street.
example: Berliner Straße
type:
type: integer
description: The [instruction](https://GIScience.github.io/openrouteservice/documentation/Instruction-Types.html)
action for symbolisation purposes.
format: int32
example: 1
way_points:
type: array
description: List containing the indices of
the steps start- and endpoint corresponding
to the *geometry*.
example:
- 45
- 48
items:
type: integer
format: int32
description: Step of a route segment
description: List containing the segments and its correspoding
steps which make up the route.
summary:
title: JSONSummary
type: object
properties:
ascent:
type: number
description: Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 166.3
descent:
type: number
description: Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 201.3
distance:
type: number
description: Total route distance in specified units.
format: double
example: 12.6
duration:
type: number
description: Total duration in seconds.
format: double
example: 604.0
description: Summary information about the route
warnings:
type: array
description: List of warnings that have been generated for
the route
items:
title: JSONWarning
type: object
properties:
code:
type: integer
description: Identification code for the warning
format: int32
example: 1
message:
type: string
description: The message associated with the warning
example: This route may go over restricted roads
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
description: List containing the indices of way points corresponding
to the *geometry*.
example:
- 0
- 23
items:
type: integer
format: int32
description: An individual JSON based route created by the service
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/v2/health:
get:
tags:
- health-api
summary: fetchHealth
operationId: fetchHealthUsingGET
responses:
200:
description: OK
content:
'*/*':
schema:
type: object
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
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.
You may also specify the isochrone interval or provide multiple exact isochrone range values.
This service allows the same range of profile options as the /directions endpoint,
which help you to further customize your request to obtain a more detailed reachability area response.
operationId: getDefaultIsochronesUsingPOST
parameters:
- name: profile
in: path
description: Specifies the route profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting polygons.
CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting point,
`destination` as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the isochrones service which
defines options and parameters regarding the isochrones to generate.
application/geo+json:
schema:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting polygons.
CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting point,
`destination` as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the isochrones service which
defines options and parameters regarding the isochrones to generate.
required: true
responses:
200:
description: Standard response for successfully processed requests. Returns
GeoJSON.
content:
application/geo+json;charset=UTF-8:
schema:
title: GeoJSONIsochronesResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned isochrones
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
title: GeoJSONIsochroneBase
type: object
properties:
geometry:
type: object
additionalProperties:
type: object
properties: {}
type:
type: string
metadata:
title: IsochronesResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the isochrones service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request
reflected in the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting
polygons. CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting
point, `destination` as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an
array of `longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the
route. Formatted in GeoJSON as either a Polygon
or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline
as a percentage. `3`, `6` (default), `10`,
`15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of
the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness
of the route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface
type. Default is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of
the route. Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres.
CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column
(range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to
be applied to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in
`m` (note that this is a preferred value, but
results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the
route. Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation
to the overall direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type.
CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local
time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The information that was used for generating
the isochrones
service:
type: string
description: The service that was requested
example: isochrones
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/v2/matrix/{profile}:
post:
tags:
- Matrix
summary: Matrix Service
description: |-
Returns duration or distance matrix for multiple source and destination points.
By 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’t be determined.
operationId: getDefaultUsingPOST_1
parameters:
- name: profile
in: path
description: Specifies the matrix profile.
required: true
schema:
type: string
enum:
- driving-car
- driving-hgv
- cycling-regular
- cycling-road
- cycling-mountain
- cycling-electric
- foot-walking
- foot-hiking
- wheelchair
example: driving-car
requestBody:
description: The request payload
content:
application/json:
schema:
title: MatrixRequest
required:
- locations
type: object
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
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
locations:
type: array
description: List of comma separated lists of `longitude,latitude`
coordinates.
example:
- - 9.70093
- 48.477473
- - 9.207916
- 49.153868
- - 37.573242
- 55.801281
- - 115.663757
- 38.106467
items:
type: array
items:
type: number
format: double
metrics:
type: array
description: |-
Specifies a list of returned metrics.
* `distance` - Returns distance matrix for specified points in defined `units`.
* `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.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}
enum:
- m
- km
- mi
description: The JSON body request sent to the matrix service which
defines options and parameters regarding the matrix to generate.
required: true
responses:
200:
description: Standard response for successfully processed requests. Returns
JSON.
content:
application/json;charset=UTF-8:
schema:
title: JSONMatrixResponse
type: object
properties:
destinations:
type: array
description: The individual destinations of the matrix calculations.
items:
title: JSON2DDestinations
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location
and the used point on the routing graph.
format: double
example: 1.2
distances:
type: array
description: The distances of the matrix calculations.
example:
- - 0
- 0.25
- - 0.25
- 0
items:
type: array
items:
type: number
format: double
durations:
type: array
description: The durations of the matrix calculations.
example:
- - 0
- 25
- - 25
- 0
items:
type: array
items:
type: number
format: double
metadata:
title: MatrixResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org, OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: MatrixRequest
required:
- locations
type: object
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
description: Arbitrary identification string of the request
reflected in the meta information.
example: centrality_request
locations:
type: array
description: List of comma separated lists of `longitude,latitude`
coordinates.
example:
- - 9.70093
- 48.477473
- - 9.207916
- 49.153868
- - 37.573242
- 55.801281
- - 115.663757
- 38.106467
items:
type: array
items:
type: number
format: double
metrics:
type: array
description: |-
Specifies a list of returned metrics.
* `distance` - Returns distance matrix for specified points in defined `units`.
* `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.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}
enum:
- m
- km
- mi
description: The information that was used for generating
the matrix
service:
type: string
description: The service that was requested
example: matrix
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
sources:
type: array
description: The individual sources of the matrix calculations.
items:
title: JSON2DSources
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location
and the used point on the routing graph.
format: double
example: 1.2
description: The Matrix Response contains one matrix for each specified
`metrics` value.
application/json:
schema:
title: JSONMatrixResponse
type: object
properties:
destinations:
type: array
description: The individual destinations of the matrix calculations.
items:
title: JSON2DDestinations
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location
and the used point on the routing graph.
format: double
example: 1.2
distances:
type: array
description: The distances of the matrix calculations.
example:
- - 0
- 0.25
- - 0.25
- 0
items:
type: array
items:
type: number
format: double
durations:
type: array
description: The durations of the matrix calculations.
example:
- - 0
- 25
- - 25
- 0
items:
type: array
items:
type: number
format: double
metadata:
title: MatrixResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org, OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice
that was queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was
used for generating graphs
example: c0327ba6
query:
title: MatrixRequest
required:
- locations
type: object
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
description: Arbitrary identification string of the request
reflected in the meta information.
example: centrality_request
locations:
type: array
description: List of comma separated lists of `longitude,latitude`
coordinates.
example:
- - 9.70093
- 48.477473
- - 9.207916
- 49.153868
- - 37.573242
- 55.801281
- - 115.663757
- 38.106467
items:
type: array
items:
type: number
format: double
metrics:
type: array
description: |-
Specifies a list of returned metrics.
* `distance` - Returns distance matrix for specified points in defined `units`.
* `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.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'metrics','value':'distance'}`}
enum:
- m
- km
- mi
description: The information that was used for generating
the matrix
service:
type: string
description: The service that was requested
example: matrix
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the service and request
sources:
type: array
description: The individual sources of the matrix calculations.
items:
title: JSON2DSources
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the
closest accessible point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location
and the used point on the routing graph.
format: double
example: 1.2
description: The Matrix Response contains one matrix for each specified
`metrics` value.
201:
description: Created
content: {}
400:
description: The request is incorrect and therefore can not be processed.
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: An element could not be found. If possible, a more detailed
error code is provided.
content: {}
405:
description: The specified HTTP method is not supported. For more details,
refer to the EndPoint documentation.
content: {}
413:
description: The request is larger than the server is able to process, the
data provided in the request exceeds the capacity limit.
content: {}
500:
description: An unexpected error was encountered and a more detailed error
code is provided.
content: {}
501:
description: Indicates that the server does not support the functionality
needed to fulfill the request.
content: {}
503:
description: The server is currently unavailable due to overload or maintenance.
content: {}
deprecated: false
x-codegen-request-body-name: request
/v2/status:
get:
tags:
- status-api
summary: fetchHealth
operationId: fetchHealthUsingGET_1
responses:
200:
description: OK
content:
'*/*':
schema:
title: ResponseEntity
type: object
properties:
body:
type: object
properties: {}
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
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
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)
parameters:
- name: api_key
in: query
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
- name: text
in: query
description: |
Name of location, street address or postal code.
required: true
schema:
type: string
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`.
schema:
type: number
format: float
- 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`.
schema:
type: number
format: float
- name: boundary.rect.min_lon
in: query
description: |
Left border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.min_lat
in: query
description: |
Bottom border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lon
in: query
description: |
Right border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lat
in: query
description: |
Top border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.circle.lon
in: query
description: |
Center Longitude of circular boundary to narrow results. Use with `boundary.circle.lat` & `boundary.circle.radius`.
schema:
type: number
format: float
- name: boundary.circle.lat
in: query
description: |
Center Latitude of circular boundary to narrow results. Use with `boundary.circle.lon` & `boundary.circle.radius`.
schema:
type: number
format: float
- 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`.
schema:
type: number
format: float
- 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).
`gid`s for records can be found using either the [Who's on First Spelunker](http://spelunker.whosonfirst.org/),
a tool for searching Who's on First data, or from the responses of other Pelias queries.
In this case a [search for Oklahoma](http://pelias.github.io/compare/#/v1/search%3Ftext=oklahoma)
will return the proper `gid`.
schema:
type: string
- 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.
schema:
type: string
- 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/).
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- openstreetmap
- openaddresses
- whosonfirst
- geonames
- name: layers
in: query
description: |
Restrict search to layers (place type). By default all layers are searched.
layer|description|
----|----|
`venue`|points of interest, businesses, things with walls|
`address`|places with a street address|
`street`|streets,roads,highways|
`neighbourhood`|social communities, neighbourhoods|
`borough`|a local administrative boundary, currently only used for New York City|
`localadmin`|local administrative boundaries|
`locality`|towns, hamlets, cities|
`county`|official governmental area; usually bigger than a locality, almost always smaller than a region|
`macrocounty`|a related group of counties. Mostly in Europe.|
`region`|states and provinces|
`macroregion`|a related group of regions. Mostly in Europe|
`country`|places that issue passports, nations, nation-states|
`coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- address
- venue
- neighbourhood
- locality
- borough
- localadmin
- county
- macrocounty
- region
- macroregion
- country
- coarse
- name: size
in: query
description: |
Set the number of returned results.
schema:
type: integer
format: int64
responses:
200:
description: Please refer to [this external documentation](https://github.com/pelias/documentation/blob/master/search.md#search-the-world)
for this endpoint
content: {}
/geocode/autocomplete:
get:
tags:
- Geocode
summary: Geocode Autocomplete Service
description: |
**Requests should be throttled when using this endpoint!**
*Be aware that Responses are asynchronous.*
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/autocomplete.md)
parameters:
- name: api_key
in: query
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
- name: text
in: query
description: |
Name of location, street address or postal code.
required: true
schema:
type: string
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`.
schema:
type: number
format: float
- 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`.
schema:
type: number
format: float
- name: boundary.rect.min_lon
in: query
description: |
Left border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.min_lat
in: query
description: |
Bottom border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lon
in: query
description: |
Right border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lat
in: query
description: |
Top border of rectangular boundary to narrow results.
schema:
type: number
format: float
- 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.
schema:
type: string
- 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/).
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- openstreetmap
- openaddresses
- whosonfirst
- geonames
- name: layers
in: query
description: |
Restrict search to layers (place type). By default all layers are searched.
layer|description|
----|----|
`venue`|points of interest, businesses, things with walls|
`address`|places with a street address|
`street`|streets,roads,highways|
`neighbourhood`|social communities, neighbourhoods|
`borough`|a local administrative boundary, currently only used for New York City|
`localadmin`|local administrative boundaries|
`locality`|towns, hamlets, cities|
`county`|official governmental area; usually bigger than a locality, almost always smaller than a region|
`macrocounty`|a related group of counties. Mostly in Europe.|
`region`|states and provinces|
`macroregion`|a related group of regions. Mostly in Europe|
`country`|places that issue passports, nations, nation-states|
`coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- address
- venue
- neighbourhood
- locality
- borough
- localadmin
- county
- macrocounty
- region
- macroregion
- country
- coarse
responses:
200:
description: Please refer to [this external documentation](https://github.com/pelias/documentation/blob/master/autocomplete.md)
for this endpoint
content: {}
/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)
parameters:
- name: api_key
in: query
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
- name: address
in: query
description: |
Search for full address with house number or only a street name.
schema:
type: string
- 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`.
schema:
type: string
- 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.
schema:
type: string
- 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.
schema:
type: string
- 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.
schema:
type: string
- 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.
schema:
type: string
- name: locality
in: query
description: |
Search for localities. Localities are equivalent to what are commonly referred to as *cities*.
schema:
type: string
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`.
schema:
type: string
- 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`.
schema:
type: number
format: float
- 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`.
schema:
type: number
format: float
- name: boundary.rect.min_lon
in: query
description: |
Left border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.min_lat
in: query
description: |
Bottom border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lon
in: query
description: |
Right border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.rect.max_lat
in: query
description: |
Top border of rectangular boundary to narrow results.
schema:
type: number
format: float
- name: boundary.circle.lon
in: query
description: |
Center Longitude of circular boundary to narrow results. Use with `boundary.circle.lat` & `boundary.circle.radius`.
schema:
type: number
format: float
- name: boundary.circle.lat
in: query
description: |
Center Latitude of circular boundary to narrow results. Use with `boundary.circle.lon` & `boundary.circle.radius`.
schema:
type: number
format: float
- 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`.
schema:
type: number
format: float
- 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.
schema:
type: string
- name: layers
in: query
description: |
Restrict search to layers (place type). By default all layers are searched.
layer|description|
----|----|
`venue`|points of interest, businesses, things with walls|
`address`|places with a street address|
`street`|streets,roads,highways|
`neighbourhood`|social communities, neighbourhoods|
`borough`|a local administrative boundary, currently only used for New York City|
`localadmin`|local administrative boundaries|
`locality`|towns, hamlets, cities|
`county`|official governmental area; usually bigger than a locality, almost always smaller than a region|
`macrocounty`|a related group of counties. Mostly in Europe.|
`region`|states and provinces|
`macroregion`|a related group of regions. Mostly in Europe|
`country`|places that issue passports, nations, nation-states|
`coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- address
- venue
- neighbourhood
- locality
- borough
- localadmin
- county
- macrocounty
- region
- macroregion
- country
- coarse
- 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/).
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- openstreetmap
- openaddresses
- whosonfirst
- geonames
- name: size
in: query
description: |
Set the number of returned results.
schema:
type: integer
format: int64
responses:
200:
description: Please refer to [this external documentation](https://github.com/pelias/documentation/blob/master/structured-geocoding.md#structured-geocoding)
for this endpoint
content: {}
/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)
parameters:
- name: api_key
in: query
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
- name: point.lon
in: query
description: |
Longitude of the coordinate to query.
required: true
schema:
type: number
format: float
default: 2.294471
- name: point.lat
in: query
description: |
Latitude of the coordinate to query.
required: true
schema:
type: number
format: float
default: 48.858268
- name: boundary.circle.radius
in: query
description: |
Restrict search to circular region around `point.lat/point.lon`. Value in kilometers.
schema:
type: number
- name: size
in: query
description: |
Set the number of returned results.
schema:
type: integer
format: int64
- name: layers
in: query
description: |
Restrict search to layers (place type). By default all layers are searched.
layer|description|
----|----|
`venue`|points of interest, businesses, things with walls|
`address`|places with a street address|
`street`|streets,roads,highways|
`neighbourhood`|social communities, neighbourhoods|
`locality`|towns, hamlets, cities|
`borough`|a local administrative boundary, currently only used for New York City|
`localadmin`|local administrative boundaries|
`county`|official governmental area; usually bigger than a locality, almost always smaller than a region|
`macrocounty`|a related group of counties. Mostly in Europe.|
`region`|states and provinces|
`macroregion`|a related group of regions. Mostly in Europe|
`country`|places that issue passports, nations, nation-states|
`coarse`|alias for simultaneously using all administrative layers (everything except `venue` and `address`)|
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- venue
- address
- street
- neighbourhood
- locality
- borough
- localadmin
- county
- macrocounty
- region
- macroregion
- country
- coarse
- 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/).
style: form
explode: false
schema:
uniqueItems: true
type: array
items:
type: string
enum:
- openstreetmap
- openaddresses
- whosonfirst
- geonames
- 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.
schema:
type: string
responses:
200:
description: Please refer to [this external documentation](https://github.com/pelias/documentation/blob/master/reverse.md#reverse-geocoding)
for this endpoint
content: {}
/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.
Find more examples on [github](https://github.com/GIScience/openpoiservice).
parameters:
- name: Authorization
in: header
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
requestBody:
description: body for a post request
content:
'*/*': {}
required: true
responses:
200:
description: Standard response for successfully processed requests.
content:
'*/*':
schema:
title: Openpoiservice poi response
type: object
properties:
type:
type: string
default: FeatureCollection
features:
type: array
items:
title: GeoJSON features object
type: object
properties:
type:
type: string
default: Feature
geometry:
title: GeoJSON geometry object
type: object
properties:
type:
type: string
default: Point
coordinates:
maxItems: 2
minItems: 2
type: array
items:
type: number
format: double
feature_properties:
title: GeoJSON properties object
type: object
properties:
osm_id:
type: number
osm_type:
type: number
distance:
type: number
category_ids:
type: object
properties:
category_id:
type: object
properties:
category_name:
type: string
category_group:
type: number
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
description: The POI response GeoJSON FeatureCollection
400:
description: |
The request was invalid, and more detailed internal errorcode is provided.
| Internal Code | Description |
|:-------------:|----------------------------------------------------|
| 4000 | Invalid JSON object in request |
| 4001 | Category or category group ids missing |
| 4002 | Geometry is missing |
| 4003 | Bounding box and or geojson not present in request |
| 4004 | Buffer is missing |
| 4005 | Geometry length does not meet the restrictions |
| 4006 | Unsupported HTTP method |
| 4007 | GeoJSON parsing error |
| 4008 | Geometry size does not meet the restrictions |
| 4009 | Unsupported Content-Type |
content: {}
401:
description: Authorization field missing.
content: {}
403:
description: Key not authorised.
content: {}
500:
description: Unknown internal error
content: {}
x-codegen-request-body-name: body
/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.
The input and output formats are:
* GeoJSON
* Polyline
* <a href="https://developers.google.com/maps/documentation/utilities/polylinealgorithm">Google's Encoded polyline</a> with coordinate precision 5 or 6
Example:
```
# POST LineString as polyline
curl -XPOST https://api.openrouteservice.org/elevation/line
-H 'Content-Type: application/json' \
-H 'Authorization: INSERT_YOUR_KEY
-d '{
"format_in": "polyline",
"format_out": "encodedpolyline5",
"geometry": [[13.349762, 38.112952],
[12.638397, 37.645772]]
}'
```
parameters:
- name: Authorization
in: header
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
requestBody:
description: Query the elevation of a line in various formats.
content:
'*/*': {}
required: true
responses:
200:
description: Standard response for successfully processed requests.
content:
'*/*':
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
items:
type: number
maxItems: 2
minItems: 2
401:
description: Authorization field missing.
content: {}
403:
description: Key not authorised.
content: {}
500:
description: |
An unexpected error was encountered and more detailed internal
errorcode is provided.
| Internal Code | Description |
|:-------------:|----------------------------------------------------|
| 4001 | ValueError in parameters |
| 4002 | Wrong HTTP headers |
| 4003 | Problems with the provided geometry |
| 4004 | Exceeded the number of allowed vertices |
content: {}
x-codegen-request-body-name: body
/elevation/point:
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.
The output formats are:
* GeoJSON
* Point
Example:
```
# GET point
curl -XGET https://localhost:5000/elevation/point?geometry=13.349762,38.11295
```
parameters:
- name: api_key
in: query
description: |
Insert your API Key here.
required: true
schema:
type: string
- name: geometry
in: query
description: The point to be queried, in comma-separated lon,lat values, e.g.
[13.349762, 38.11295]
required: true
style: form
explode: false
schema:
type: array
items:
minItems: 2
maxItems: 2
type: number
- name: format_out
in: query
description: The output format to be returned.
schema:
type: string
enum:
- geojson
- point
- name: dataset
in: query
description: The elevation dataset to be used.
schema:
type: string
enum:
- srtm
responses:
200:
description: Standard response for successfully processed requests.
content:
'*/*':
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
items:
type: number
maxItems: 2
minItems: 2
401:
description: Authorization field missing.
content: {}
403:
description: Key not authorised.
content: {}
500:
description: |
An unexpected error was encountered and more detailed internal
errorcode is provided.
| Internal Code | Description |
|:-------------:|----------------------------------------------------|
| 4001 | ValueError in parameters |
| 4002 | Wrong HTTP headers |
| 4003 | Problems with the provided geometry |
| 4004 | Exceeded the number of allowed vertices |
content: {}
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.
The input and output formats are:
* GeoJSON
* Point
Example:
```
# POST point as GeoJSON
# https://api.openrouteservice.org/elevation/point?api_key=YOUR-KEY
{
"format_in": "geojson",
"format_out": "geojson",
"geometry": {
"coordinates": [13.349762, 38.11295],
"type": "Point"
}
}
```
parameters:
- name: Authorization
in: header
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
requestBody:
description: Query the elevation of a point in various formats.
content:
'*/*': {}
required: true
responses:
200:
description: Standard response for successfully processed requests.
content:
'*/*':
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
items:
type: number
maxItems: 2
minItems: 2
401:
description: Authorization field missing.
content: {}
403:
description: Key not authorised.
content: {}
500:
description: |
An unexpected error was encountered and more detailed internal
errorcode is provided.
| Internal Code | Description |
|:-------------:|----------------------------------------------------|
| 4001 | ValueError in parameters |
| 4002 | Wrong HTTP headers |
| 4003 | Problems with the provided geometry |
| 4004 | Exceeded the number of allowed vertices |
content: {}
x-codegen-request-body-name: body
/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.
This 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).
General Info:
- The expected order for all coordinates arrays is `[lon, lat]`
- All timings are in seconds
- All distances are in meters
- A `time_window` object is a pair of timestamps in the form `[start, end]`
parameters:
- name: Authorization
in: header
description: |
Insert your API Key here.
required: true
schema:
type: string
default: your-api-key
requestBody:
description: Query the elevation of a line in various formats.
content:
'*/*': {}
required: true
responses:
200:
description: Valid response if code contains `0`
content:
'*/*':
schema:
type: object
properties:
code:
type: integer
description: |
status code. Possible values:
Value | Status |
:-----------: | :-----------: |
`0` | no error raised |
`1` | internal error |
`2` | input error |
`3` | routing error |
format: int32
error:
type: string
description: |
error message (present if `code` is different from `0`)
summary:
type: object
properties:
cost:
type: number
description: total cost for all routes
unassigned:
type: integer
description: number of jobs that could not be served
format: int32
service:
type: number
description: total service time for all routes
format: float
duration:
type: number
description: total travel time for all routes
format: float
waiting_time:
type: number
description: total waiting time for all routes
format: float
amount:
type: array
description: total amount for all routes
items:
type: integer
format: int32
distance:
type: number
description: total distance for all routes. Only provided
when using the `-g` flag with `OSRM`
format: float
description: |
object summarizing solution indicators
unassigned:
type: array
description: |
array of objects describing unassigned jobs with their `id` and `location` (if provided)
items:
type: object
properties:
id:
type: integer
description: The `id` of the unassigned job"
format: int32
location:
maxItems: 2
minItems: 2
type: array
description: The `location` of the unassigned job
items:
type: number
format: float
description: Unassigned Job with `id` and `location` (if provided)
routes:
type: array
description: |
array of `route` objects
items:
type: object
properties:
vehicle:
type: integer
description: id of the vehicle assigned to this route
format: int32
steps:
type: array
description: array of `step` objects
items:
type: object
properties:
type:
type: string
description: string that is either `start`, `job`
or `end`
arrival:
type: number
description: estimated time of arrival at this step
in seconds
format: float
duration:
type: number
description: cumulated travel time upon arrival at
this step in seconds
format: float
location:
maxItems: 2
minItems: 2
type: array
description: coordinates array for this step (if provided
in input)
items:
type: number
format: float
job:
type: integer
description: id of the job performed at this step,
only provided if `type` value is `job`
format: int32
service:
type: number
description: service time at this step, only provided
if `type` value is `job`
format: float
waiting_time:
type: number
description: waiting time upon arrival at this step,
only provided if `type` value is `job`
format: float
distance:
type: number
description: traveled distance upon arrival at this
step. Only provided when using the `-g` flag with
`OSRM`
format: float
cost:
type: number
description: cost for this route
format: float
service:
type: number
description: total service time for this route
format: float
duration:
type: number
description: total travel time for this route
format: float
waiting_time:
type: number
description: total waiting time for this route
format: float
amount:
type: array
description: total amount for jobs in this route
items:
type: integer
format: int32
geometry:
type: string
description: polyline encoded route geometry. Only provided
when using the `-g` flag
distance:
type: number
description: total route distance. Only provided when using
the `-g` flag
format: float
401:
description: Authorization field missing.
content: {}
403:
description: Key not authorised.
content: {}
500:
description: |
An unexpected error was encountered and more detailed internal
errorcode is provided.
| Internal Code | Description |
|:-:|--------------------------|
| 1 | Internal Vroom error |
| 2 | Error in input |
| 3 | Routing error in ORS |
| 4 | Request too large |
content: {}
x-codegen-request-body-name: body
components:
schemas:
AlternativeRoutes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
description: Specifies whether alternative routes are computed, and parameters
for the algorithm determining suitable alternatives.
CentralityService:
title: Centrality Service
required:
- bbox
type: object
properties:
bbox:
type: array
description: The bounding box to use for the request as an array of `longitude/latitude`
pairs
example:
- 8.681495
- 49.41461
- 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
excludeNodes:
type: array
description: List of node Ids to exclude when calculating centrality
example:
- 1661
- 1662
- 1663
items:
type: integer
format: int32
id:
type: string
description: Arbitrary identification string of the request reflected in
the meta information.
example: centrality_request
mode:
type: string
description: Specifies the centrality calculation mode. Currently, node-based
and edge-based centrality calculation is supported.
example: nodes
enum:
- nodes
- edges
description: The JSON body request sent to the centrality service which defines
options and parameters regarding the centrality measure to calculate.
DirectionsService:
title: Directions Service
description: The JSON body request sent to the routing service which defines
options and parameters regarding the route to generate.
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted in
GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage. `3`,
`6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route. Default
is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default is `sett`.
CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route. Default
is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range 0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied to edges
on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that this
is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger values
create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the overall
direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints restricting
uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for points.
Please note that elevation also gets encoded for json response encoded
polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included into the
step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway in
metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default is
`sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route. Default
is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range 0 to
1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied to edges
on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the overall
direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which defines
options and parameters regarding the route to generate.
EngineInfo:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice that was queried
example: "5"
description: Information about the version of the openrouteservice that was
used to generate the route
GeoJSONIsochroneBase:
title: GeoJSONIsochroneBase
type: object
properties:
geometry:
type: object
additionalProperties:
type: object
properties: {}
type:
type: string
GeoJSONIsochronesResponse:
title: GeoJSONIsochronesResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned isochrones
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
title: GeoJSONIsochroneBase
type: object
properties:
geometry:
type: object
additionalProperties:
type: object
properties: {}
type:
type: string
metadata:
title: IsochronesResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice that was
queried
example: "5"
description: Information about the isochrones service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was used for generating
graphs
example: c0327ba6
query:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting polygons.
CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting point,
`destination` as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The information that was used for generating the isochrones
service:
type: string
description: The service that was requested
example: isochrones
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
GeoJSONRouteResponse:
title: GeoJSONRouteResponse
type: object
properties:
bbox:
type: array
description: Bounding box that covers all returned routes
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
features:
type: array
items:
type: object
properties: {}
metadata:
title: RouteResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice that was
queried
example: "5"
description: Information about the routing service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was used for generating
graphs
example: c0327ba6
query:
title: Directions Service
type: object
description: The information that was used for generating the route
allOf:
- title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the
overall direction of the generated route
format: int64
example: 1
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
description: Advanced options for routing
- title: Directions Service
required:
- coordinates
type: object
properties:
alternative_routes:
title: Alternative Routes
type: object
properties:
share_factor:
type: number
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.
format: double
example: 0.6
target_count:
type: integer
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.
format: int32
example: 2
weight_factor:
type: number
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.
format: double
example: 1.4
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
description: List of route attributes
example:
- avgspeed
- percentage
items:
type: string
enum:
- avgspeed
- detourfactor
- percentage
bearings:
type: array
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-*'}}"
example:
- - 30
- 20
- []
- - 40
- 20
items:
type: array
items:
type: number
format: double
continue_straight:
type: boolean
description: Forces the route to keep going straight at waypoints
restricting uturns there even if it would be faster.CUSTOM_KEYS:{'apiDefault':'false'}
example: false
coordinates:
type: array
description: The waypoints to use for the route as an array of
`longitude/latitude` pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
- - 8.687872
- 49.420318
items:
type: array
items:
type: number
format: double
elevation:
type: boolean
description: Specifies whether to return elevation values for
points. Please note that elevation also gets encoded for json
response encoded polyline.
example: false
extra_info:
type: array
description: The extra info items to include in the response
example:
- waytype
- surface
items:
type: string
enum:
- steepness
- suitability
- surface
- waycategory
- waytype
- tollways
- traildifficulty
- osmid
- roadaccessrestrictions
- countryinfo
- green
- noise
- csv
- shadow
geometry:
type: boolean
description: Specifies whether to return geometry. CUSTOM_KEYS:{'apiDefault':true,
'validWhen':{'ref':'format','value':['json']}}
example: true
geometry_simplify:
type: boolean
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}
example: false
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
instructions:
type: boolean
description: Specifies whether to return instructions. CUSTOM_KEYS:{'apiDefault':true}
example: true
instructions_format:
type: string
description: Select html for more verbose instructions. CUSTOM_KEYS:{'apiDefault':'text'}
example: text
enum:
- html
- text
language:
type: string
description: Language for the route instructions. CUSTOM_KEYS:{'apiDefault':'en'}
example: 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
description: Specifies whether the maneuver object is included
into the step object or not. CUSTOM_KEYS:{'apiDefault':false}
example: false
maximum_speed:
type: number
description: The maximum speed specified by user.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-*']}}
format: double
example: 90.0
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route.
Formatted in GeoJSON as either a Polygon or Multipolygon
object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the
route. Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route.
Default is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range
0 to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied
to edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note
that this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route.
Larger values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to
the overall direction of the generated route
format: int64
example: 1
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
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
description: Specifies the route preference. CUSTOM_KEYS:{'apiDefault':'recommended'}
example: recommended
enum:
- fastest
- shortest
- recommended
radiuses:
type: array
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.
example:
- 200
- -1
- 30
items:
type: number
format: double
roundabout_exits:
type: boolean
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}
example: false
skip_segments:
type: array
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.
example:
- 2
- 4
items:
type: integer
format: int32
suppress_warnings:
type: boolean
description: Suppress warning messages in the response
example: false
units:
type: string
description: Specifies the distance unit. CUSTOM_KEYS:{'apiDefault':'m'}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the routing service which
defines options and parameters regarding the route to generate.
service:
type: string
description: The service that was requested
example: routing
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
type:
type: string
IsochronesRequest:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request reflected in
the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting point, `destination`
as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default is
`sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route. Default
is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range 0 to
1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied to edges
on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that this
is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger values
create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the overall
direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The JSON body request sent to the isochrones service which defines
options and parameters regarding the isochrones to generate.
IsochronesResponseInfo:
title: IsochronesResponseInfo
type: object
properties:
attribution:
type: string
description: Copyright and attribution information
example: openrouteservice.org | OpenStreetMap contributors
engine:
title: EngineInfo
type: object
properties:
build_date:
type: string
description: The date that the service was last updated
example: 2019-02-07T14:28:11Z
graph_date:
type: string
description: The date that the graph data was last updated
example: 2019-02-07T14:28:11Z
version:
type: string
description: The backend version of the openrouteservice that was queried
example: "5"
description: Information about the isochrones service
id:
type: string
description: ID of the request (as passed in by the query)
example: request123
osm_file_md5_hash:
type: string
description: The MD5 hash of the OSM planet file that was used for generating
graphs
example: c0327ba6
query:
title: IsochronesRequest
required:
- locations
- range
type: object
properties:
area_units:
type: string
description: |-
Specifies the area unit.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'attributes','value':'area'}}
enum:
- m
- km
- mi
attributes:
type: array
description: List of isochrones attributes
example:
- area
items:
type: string
enum:
- area
- reachfactor
- total_pop
id:
type: string
description: Arbitrary identification string of the request reflected
in the meta information.
example: centrality_request
intersections:
type: boolean
description: Specifies whether to return intersecting polygons. CUSTOM_KEYS:{'apiDefault':false}
interval:
type: number
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.
format: double
example: 30.0
location_type:
type: string
description: '`start` treats the location(s) as starting point, `destination`
as goal. CUSTOM_KEYS:{''apiDefault'':''start''}'
example: start
enum:
- start
- destination
locations:
type: array
description: The locations to use for the route as an array of `longitude/latitude`
pairs
example:
- - 8.681495
- 49.41461
- - 8.686507
- 49.41943
items:
type: array
items:
type: number
format: double
options:
title: Route Options
type: object
properties:
avoid_borders:
type: string
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-*'']}}'
example: controlled
enum:
- all
- controlled
- none
avoid_countries:
type: array
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-*'']}}'
example:
- 11
- 193
items:
type: string
avoid_features:
type: array
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']}}}
example:
- highways
items:
type: string
enum:
- highways
- tollways
- ferries
- fords
- steps
avoid_polygons:
type: object
additionalProperties:
type: object
properties: {}
description: Comprises areas to be avoided for the route. Formatted
in GeoJSON as either a Polygon or Multipolygon object.
profile_params:
title: Profile Parameters
type: object
properties:
allow_unsuitable:
type: boolean
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']}}
example: true
restrictions:
title: Restrictions
type: object
properties:
axleload:
type: number
description: Axleload restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 50.0
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
description: Height restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 4.2
length:
type: number
description: Length restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 8.4
maximum_incline:
type: integer
description: Specifies the maximum incline as a percentage.
`3`, `6` (default), `10`, `15.CUSTOM_KEYS:{'apiDefault':6,'validWhen':{'ref':'profile','value':['wheelchair']}}
format: int32
example: 3
maximum_sloped_kerb:
type: number
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']}}
format: float
example: 0.03
minimum_width:
type: number
description: Specifies the minimum width of the footway
in metres.CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['wheelchair']}}
format: float
example: 2.5
smoothness_type:
type: string
description: Specifies the minimum smoothness of the route.
Default is `good`.CUSTOM_KEYS:{'apiDefault':'good','validWhen':{'ref':'profile','value':['wheelchair']}}
example: best
enum:
- excellent
- good
- intermediate
- bad
- very_bad
- horrible
- very_horrible
- impassable
surface_type:
type: string
description: Specifies the minimum surface type. Default
is `sett`. CUSTOM_KEYS:{'apiDefault':'sett','validWhen':{'ref':'profile','value':['wheelchair']}}
example: asphalt
track_type:
type: string
description: Specifies the minimum grade of the route. Default
is `grade1`. CUSTOM_KEYS:{'apiDefault':'grade1','validWhen':{'ref':'profile','value':['wheelchair']}}
example: grade2
weight:
type: number
description: Weight restriction in tons. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 40.0
width:
type: number
description: Width restriction in metres. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['driving-hgv']}}
format: float
example: 5.6
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
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']}}
example: true
weightings:
title: Profile Weightings
type: object
properties:
csvColumn:
type: string
csv_column:
type: string
description: Specifies the csv column name
csv_factor:
type: number
description: Specifies the factor of csv-column (range 0
to 1)
format: float
green:
type: number
description: |-
Specifies the Green factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
quiet:
type: number
description: |-
Specifies the Quiet factor for foot-* profiles.
factor: 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-*']}}
format: float
example: 0.8
shadow:
type: number
description: |-
Specifies the shadow factor for `foot-*` profiles.
factor: 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-*']}}
format: float
example: 0.4
steepness_difficulty:
type: integer
description: |-
Specifies the fitness level for `cycling-*` profiles.
level: 0 = Novice, 1 = Moderate, 2 = Amateur, 3 = Pro. The prefered gradient increases with level. CUSTOM_KEYS:{'validWhen':{'ref':'profile','value':['cycling-*']}}
format: int32
example: 2
description: Describe additional weightings to be applied to
edges on the routing.
description: ' Specifies additional matrix parameters.CUSTOM_KEYS:{''validWhen'':{''ref'':''profile'',''valueNot'':[''driving-car'']}}'
round_trip:
title: Round Trip Route Options
type: object
properties:
length:
type: number
description: The target length of the route in `m` (note that
this is a preferred value, but results may be different).
format: float
example: 10000.0
points:
type: integer
description: The number of points to use on the route. Larger
values create more circular routes.
format: int32
example: 5
seed:
type: integer
description: A seed to use for adding randomisation to the overall
direction of the generated route
format: int64
example: 1
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
description: Additional options for the isochrones request
example:
avoid_borders: all
range:
type: array
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.
example:
- 300
- 200
items:
type: number
format: double
range_type:
type: string
description: Specifies the isochrones reachability type. CUSTOM_KEYS:{'apiDefault':'time'}
example: time
enum:
- time
- distance
smoothing:
type: number
description: |-
Applies a level of generalisation to the isochrone polygons generated as a `smoothing_factor` between `0` and `100.0`.
Generalisation is produced by determining a maximum length of a connecting line between two points found on the outside of a containing polygon.
If 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.
Note 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.
The threshold value is determined as `(maximum_radius_of_isochrone / 100) * smoothing_factor`.
Therefore, a value closer to 100 will result in a more generalised shape.
The 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."`
format: double
example: 25.0
time:
type: string
description: Departure date and time provided in local time zoneCUSTOM_KEYS:{'validWhen':{'ref':'arrival','valueNot':['*']}}
format: date-time
units:
type: string
description: |-
Specifies the distance units only if `range_type` is set to distance.
Default: m. CUSTOM_KEYS:{'apiDefault':'m','validWhen':{'ref':'range_type','value':'distance'}}
example: m
enum:
- m
- km
- mi
description: The information that was used for generating the isochrones
service:
type: string
description: The service that was requested
example: isochrones
system_message:
type: string
description: System message
example: A message string configured in the service
timestamp:
type: integer
description: Time that the request was made (UNIX Epoch time)
format: int64
example: 1549549847974
description: Information about the request
JSON2DDestinations:
title: JSON2DDestinations
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the closest accessible
point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location and the
used point on the routing graph.
format: double
example: 1.2
JSON2DSources:
title: JSON2DSources
type: object
properties:
location:
type: array
description: '{longitude},{latitude} coordinates of the closest accessible
point on the routing graph'
example:
- 8.678962
- 49.40783
items:
type: number
format: double
name:
type: string
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}}
example: Bergheimer Straße
snapped_distance:
type: number
description: Distance between the `source/destination` Location and the
used point on the routing graph.
format: double
example: 1.2
JSONExtra:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info items requested
JSONExtraSummary:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
JSONIndividualRouteResponse:
title: JSONIndividualRouteResponse
type: object
properties:
arrival:
type: string
description: Arrival date and timeCUSTOM_KEYS:{'validWhen':{'ref':'arrival','value':true}}
format: date-time
example: 2020-01-31T13:15:00+01:00
bbox:
type: array
description: A bounding box which contains the entire route
example:
- 49.414057
- 8.680894
- 49.420514
- 8.690123
items:
type: number
format: double
departure:
type: string
description: Departure date and timeCUSTOM_KEYS:{'validWhen':{'ref':'departure','value':true}}
format: date-time
example: 2020-01-31T12:45:00+01:00
extras:
type: object
additionalProperties:
title: JSONExtra
type: object
properties:
summary:
type: array
description: List representing the summary of the extra info items.
items:
title: JSONExtraSummary
type: object
properties:
amount:
type: number
description: Category percentage of the entire route.
format: double
example: 23.8
distance:
type: number
description: Cumulative distance of this value.
format: double
example: 123.1
value:
type: number
description: '[Value](https://GIScience.github.io/openrouteservice/documentation/extra-info/Extra-Info.html)
of a info category.'
format: double
example: 5.0
values:
type: array
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."
example:
- - 0
- 3
- 26
- - 3
- 10
- 12
items:
type: array
items:
type: integer
format: int64
description: An object representing one of the extra info items requested
description: List of extra info objects representing the extra info items
that were requested for the route.
segments:
type: array
description: List containing the segments and its corresponding steps which
make up the route.
items:
title: JSONSegment
type: object
properties:
ascent:
type: number
description: ' Contains ascent of this segment in metres. CUSTOM_KEYS:{''validWhen'':{''ref'':''elevation'',value:true}}'
format: double
example: 56.3
avgspeed:
type: number
description: Contains the average speed of this segment in km/h. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'avgspeed'}}
format: double
example: 56.3
descent:
type: number
description: Contains descent of this segment in metres. CUSTOM_KEYS:{'validWhen':{'ref':'elevation',value:true}}
format: double
example: 45.2
detourfactor:
type: number
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'}}
format: double
example: 0.5
distance:
type: number
description: Contains the distance of the segment in specified units.
format: double
example: 253.0
duration:
type: number
description: Contains the duration of the segment in seconds.
format: double
example: 37.7
percentage:
type: number
description: Contains the proportion of the route in percent. CUSTOM_KEYS:{'validWhen':{'ref':'attributes','valueContains':'percentage'}}
format: double
example: 43.2
steps:
type: array
description: List containing the specific steps the segment consists
of.
items:
title: JSONStep
type: object
properties:
distance:
type: number
description: The distance for the step in metres.
format: double
example: 245.0
duration:
type: number
description: The duration for the step in seconds.
format: double
example: 96.2
exit_bearings:
type: array
description: Contains the bearing of the entrance and all passed
exits in a roundabout CUSTOM_KEYS:{'validWhen':{'ref':'roundabout_exits',value:true}}.
example:
- 10
- 45
- 60
items:
type: integer
format: int32
exit_number:
type: integer
description: Only for roundabouts. Contains the number of the
exit to take.
format: int32
example: 2
instruction:
type: string
description: The routing instruction text for the step.
example: Turn right onto Berliner Straße
maneuver:
title: JSONStepManeuver
type: object
properties:
bearing_after:
type: integer
description: The azimuth angle (in degrees) of the direction
right after the maneuver.
format: int32
example: 96
bearing_before:
type: integer
description: The azimuth angle (in degrees) of the direction
right before the maneuver.
format: int32
example: 24
location:
type: array
description: The coordinate of the point where a maneuver
takes place.
example:
- 8.678962
- 49.407819
items:
type: number
format: double
description: The maneuver to be performed CUSTOM_KEYS:{'validWhen':{'ref':'maneuvers',value:true}}
name:
type: string
description: The name of the next street.
example: Berliner Straße
type:
type: integer
description: The [instruction](https://GIScience.github.io/openrouteservice/documentation/Instruction-Types.html)
action for symbolisation purposes.
format: int32
example: 1
way_points:
type: array
description: List containing the indices of the steps start-
and endpoint corresponding to the *geometry*.
example:
- 45
- 48
items:
type: integer
format: int32
description: Step of a route segment
description: List containing the segments and its correspoding steps which
make up the route.
summary:
title: JSONSummary
type: object
properties:
ascent:
type: number
description: Total ascent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 166.3
descent:
type: number
description: Total descent in meters.CUSTOM_KEYS:{'validWhen':{'ref':'elevation','value':true}}
format: double
example: 201.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment