Microsoft Azure Maps Route Service

Microsoft Azure Maps Route Service is a cloud-based service that provides developers with tools to calculate the most efficient and effective route between two or more locations. This service leverages data such as traffic conditions, road closures, and real-time information to generate accurate and reliable directions for users.

OpenAPI Specification

azure-maps-route-service-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Azure Maps Route Service
  version: '1.0'
  description: Azure Maps Route REST APIs
host: atlas.microsoft.com
schemes:
  - https
consumes: []
produces:
  - application/json
  - application/xml
securityDefinitions:
  AADToken:
    type: oauth2
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    flow: implicit
    description: >-
      These are the [Microsoft Entra OAuth
      2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview)
      Flows. When paired with [Azure role-based
      access](https://docs.microsoft.com/azure/role-based-access-control/overview)
      control it can be used to control access to Azure Maps REST APIs. Azure
      role-based access controls are used to designate access to one or more
      Azure Maps resource account or sub-resources. Any user, group, or service
      principal can be granted access via a  built-in role or a custom role
      composed of one or more permissions to Azure Maps REST APIs.


      To implement scenarios, we recommend viewing [authentication
      concepts](https://aka.ms/amauth). In summary, this security definition
      provides a solution for modeling application(s) via objects capable of
      access control on specific APIs and scopes.


      #### Notes

      * This security definition **requires** the use of the `x-ms-client-id`
      header to indicate which Azure Maps resource the application is requesting
      access to. This can be acquired from the [Maps management
      API](https://aka.ms/amauthdetails).

      * 

      The `Authorization URL` is specific to the Azure public cloud instance.
      Sovereign clouds have unique Authorization URLs and Microsoft Entra ID
      configurations. 

      * 

      The Azure role-based access control is configured from the [Azure
      management plane](https://aka.ms/amrbac) via Azure portal, PowerShell,
      CLI, Azure SDKs, or REST APIs.

      * 

      Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for
      configuration based setup of an application for multiple use cases.

      * For more information on Microsoft identity platform, see [Microsoft
      identity platform
      overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).
    scopes:
      https://atlas.microsoft.com/.default: https://atlas.microsoft.com/.default
  SharedKey:
    type: apiKey
    description: >-
      This is a shared key that is provisioned when you [Create an Azure Maps
      account](https://docs.microsoft.com/azure/azure-maps/quick-demo-map-app#create-an-azure-maps-account)
      in the Azure portal or using PowerShell, CLI, Azure SDKs, or REST API.

       With this key, any application can access all REST API. In other words, this key can be used as a master key in the account that they are issued in.

       For publicly exposed applications, our recommendation is to use the [confidential client applications](https://docs.microsoft.com/azure/azure-maps/authentication-best-practices#confidential-client-applications) approach to access Azure Maps REST APIs so your key can be securely stored.
    name: subscription-key
    in: query
  SasToken:
    type: apiKey
    description: >-
      This is a shared access signature token is created from the List SAS
      operation on the [Azure Maps resource](https://aka.ms/amauth) through the
      Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or
      REST APIs.

       With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.

       For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.
    name: SAS Token
    in: header
security:
  - AADToken:
      - https://atlas.microsoft.com/.default
  - SharedKey: []
  - SasToken: []
responses:
  '202':
    description: >-
      Request Accepted: The request has been accepted for processing. Please use
      the URL in the Location Header to retry or access the results.
    headers:
      Location:
        type: string
        description: New URL to check for the results of the long-running operation.
  '400':
    description: >-
      Bad request: one or more parameters were incorrectly specified or are
      mutually exclusive.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '401':
    description: >-
      Access denied due to invalid subscription key or invalid Microsoft Entra
      ID bearer token.  Make sure to provide a valid key for an active Azure
      subscription and Maps resource.  Otherwise, verify the
      [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header
      for error code and description of the provided Microsoft Entra ID bearer
      token.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
    headers:
      WWW-Authenticate:
        type: string
        description: >-
          Bearer realm="https://atlas.microsoft.com/", error="invalid_token",
          error_description="The access token expired"
  '403':
    description: Permission, capacity, or authentication issues.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '404':
    description: >-
      Not Found: the requested resource could not be found, but it may be
      available again in the future.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '500':
    description: An error occurred while processing the request. Please try again later.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  202Async:
    description: >-
      **Supported only for async request.**

      Request Accepted: The request has been accepted for processing. Please use
      the URL in the Location Header to retry or access the results.
    headers:
      Location:
        type: string
        description: New URL to check for the results of the long-running operation.
parameters:
  ClientId:
    name: x-ms-client-id
    description: >-
      Specifies which account is intended for usage in conjunction with the
      Microsoft Entra ID security model.  It represents a unique ID for the
      Azure Maps account and can be retrieved from the Azure Maps management  plane Account API. To use Microsoft Entra ID security in Azure Maps see
      the following [articles](https://aka.ms/amauthdetails) for guidance.
    type: string
    in: header
    required: false
    x-ms-parameter-location: client
  SubscriptionKey:
    name: subscription-key
    description: >-
      One of the Azure Maps keys provided from an Azure Map Account. Please
      refer to this
      [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication)
      for details on how to manage authentication.
    type: string
    in: query
    required: false
    x-ms-parameter-location: client
  ApiVersion:
    name: api-version
    description: Version number of Azure Maps API. Current version is 1.0
    type: string
    in: query
    required: true
    default: '1.0'
    x-ms-parameter-location: client
  JsonFormat:
    name: format
    description: Desired format of the response. Only `json` format is supported.
    type: string
    in: path
    required: true
    enum:
      - json
    x-ms-enum:
      name: JsonFormat
      modelAsString: true
      values:
        - value: json
          description: >-
            [The JavaScript Object Notation Data Interchange
            Format](https://tools.ietf.org/html/rfc8259)
    x-ms-parameter-location: method
  TextFormat:
    name: format
    description: Desired format of the response. Value can be either _json_ or _xml_.
    type: string
    in: path
    required: true
    enum:
      - json
      - xml
    x-ms-enum:
      name: TextFormat
      modelAsString: true
      values:
        - value: json
          description: >-
            [The JavaScript Object Notation Data Interchange
            Format](https://tools.ietf.org/html/rfc8259)
        - value: xml
          description: '[The Extensible Markup Language](https://www.w3.org/TR/xml/)'
    x-ms-parameter-location: method
  VehicleLoadType:
    name: vehicleLoadType
    in: query
    description: >-
      Types of cargo that may be classified as hazardous materials and
      restricted from some roads. Available vehicleLoadType values are US Hazmat
      classes 1 through 9, plus generic classifications for use in other
      countries/regions. Values beginning with USHazmat are for US routing while
      otherHazmat should be used for all other countries/regions.
      vehicleLoadType can be specified multiple times. This parameter is
      currently only considered for travelMode=truck.
    required: false
    type: string
    enum:
      - USHazmatClass1
      - USHazmatClass2
      - USHazmatClass3
      - USHazmatClass4
      - USHazmatClass5
      - USHazmatClass6
      - USHazmatClass7
      - USHazmatClass8
      - USHazmatClass9
      - otherHazmatExplosive
      - otherHazmatGeneral
      - otherHazmatHarmfulToWater
    x-ms-enum:
      name: VehicleLoadType
      modelAsString: true
      values:
        - value: USHazmatClass1
          description: Explosives
        - value: USHazmatClass2
          description: Compressed gas
        - value: USHazmatClass3
          description: Flammable liquids
        - value: USHazmatClass4
          description: Flammable solids
        - value: USHazmatClass5
          description: Oxidizers
        - value: USHazmatClass6
          description: Poisons
        - value: USHazmatClass7
          description: Radioactive
        - value: USHazmatClass8
          description: Corrosives
        - value: USHazmatClass9
          description: Miscellaneous
        - value: otherHazmatExplosive
          description: Explosives
        - value: otherHazmatGeneral
          description: Miscellaneous
        - value: otherHazmatHarmfulToWater
          description: Harmful to water
    x-ms-parameter-location: method
  RouteType:
    name: routeType
    in: query
    description: The type of route requested.
    required: false
    type: string
    default: fastest
    enum:
      - fastest
      - shortest
      - eco
      - thrilling
    x-ms-enum:
      name: RouteType
      modelAsString: true
      values:
        - value: fastest
          description: The fastest route.
        - value: shortest
          description: The shortest route by distance.
        - value: eco
          description: A route balanced by economy and speed.
        - value: thrilling
          description: >-
            Includes interesting or challenging roads and uses as few motorways
            as possible. You can choose the level of turns included and also the
            degree of hilliness. See the hilliness and windingness parameters
            for how to set this. There is a limit of 900 km on routes planned
            with `routeType`=thrilling
    x-ms-parameter-location: method
  Windingness:
    name: windingness
    in: query
    description: >-
      Level of turns for thrilling route. This parameter can only be used in
      conjunction with `routeType`=thrilling.
    required: false
    type: string
    default: normal
    enum:
      - low
      - normal
      - high
    x-ms-enum:
      name: Windingness
      modelAsString: true
      values:
        - value: low
          description: low
        - value: normal
          description: normal
        - value: high
          description: high
    x-ms-parameter-location: method
  Hilliness:
    name: hilliness
    in: query
    description: >-
      Degree of hilliness for thrilling route. This parameter can only be used
      in conjunction with `routeType`=thrilling.
    required: false
    type: string
    default: normal
    enum:
      - low
      - normal
      - high
    x-ms-enum:
      name: Hilliness
      modelAsString: true
      values:
        - value: low
          description: low
        - value: normal
          description: normal
        - value: high
          description: high
    x-ms-parameter-location: method
  TravelMode:
    name: travelMode
    in: query
    description: >-
      The mode of travel for the requested route. If not defined, default is
      'car'. Note that the requested travelMode may not be available for the
      entire route. Where the requested travelMode is not available for a
      particular section, the travelMode element of the response for that
      section will be "other". Note that travel modes bus, motorcycle, taxi and
      van are BETA functionality. Full restriction data is not available in all
      areas. In **calculateReachableRange** requests, the values bicycle and
      pedestrian must not be used.
    required: false
    type: string
    default: car
    enum:
      - car
      - truck
      - taxi
      - bus
      - van
      - motorcycle
      - bicycle
      - pedestrian
    x-ms-enum:
      name: TravelMode
      modelAsString: true
      values:
        - value: car
          description: The returned routes are optimized for cars.
        - value: truck
          description: >-
            The returned routes are optimized for commercial vehicles, like for
            trucks.
        - value: taxi
          description: The returned routes are optimized for taxis. BETA functionality.
        - value: bus
          description: >-
            The returned routes are optimized for buses, including the use of
            bus only lanes. BETA functionality.
        - value: van
          description: The returned routes are optimized for vans. BETA functionality.
        - value: motorcycle
          description: >-
            The returned routes are optimized for motorcycles. BETA
            functionality.
        - value: bicycle
          description: >-
            The returned routes are optimized for bicycles, including use of
            bicycle lanes.
        - value: pedestrian
          description: >-
            The returned routes are optimized for pedestrians, including the use
            of sidewalks.
    x-ms-parameter-location: method
  Avoid:
    name: avoid
    in: query
    description: >-
      Specifies something that the route calculation should try to avoid when
      determining the route. Can be specified multiple times in one request, for
      example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In
      calculateReachableRange requests, the value alreadyUsedRoads must not be
      used.
    required: false
    type: string
    enum:
      - tollRoads
      - motorways
      - ferries
      - unpavedRoads
      - carpools
      - alreadyUsedRoads
      - borderCrossings
    x-ms-enum:
      name: Avoid
      modelAsString: true
      values:
        - value: tollRoads
          description: Avoids toll roads.
        - value: motorways
          description: Avoids motorways
        - value: ferries
          description: Avoids ferries
        - value: unpavedRoads
          description: Avoids unpaved roads
        - value: carpools
          description: >-
            Avoids routes that require the use of carpool (HOV/High Occupancy
            Vehicle) lanes.
        - value: alreadyUsedRoads
          description: >-
            Avoids using the same road multiple times. Most useful in
            conjunction with `routeType`=thrilling.
        - value: borderCrossings
          description: Avoids border crossings in route calculation.
    x-ms-parameter-location: method
  VehicleEngineType:
    name: vehicleEngineType
    in: query
    description: >-
      Engine type of the vehicle. When a detailed Consumption Model is
      specified, it must be consistent with the value of **vehicleEngineType**.
    required: false
    type: string
    enum:
      - combustion
      - electric
    default: combustion
    x-ms-enum:
      name: VehicleEngineType
      modelAsString: true
      values:
        - value: combustion
          description: Internal combustion engine.
        - value: electric
          description: Electric engine.
    x-ms-parameter-location: method
  ConstantSpeedConsumptionInLitersPerHundredkm:
    name: constantSpeedConsumptionInLitersPerHundredkm
    in: query
    description: >2-


      Specifies the speed-dependent component of consumption.


      Provided as an unordered list of colon-delimited speed & consumption-rate
      pairs. The list defines points on a consumption curve. Consumption rates
      for speeds not in the list are found as follows:

       * by linear interpolation, if the given speed lies in between two speeds in the list

       * by linear extrapolation otherwise, assuming a constant (ΔConsumption/ΔSpeed) determined by the nearest two points in the list

      The list must contain between 1 and 25 points (inclusive), and may not
      contain duplicate points for the same speed. If it only contains a single
      point, then the consumption rate of that point is used without further
      processing.


      Consumption specified for the largest speed must be greater than or equal
      to that of the penultimate largest speed. This ensures that extrapolation
      does not lead to negative consumption rates.


      Similarly, consumption values specified for the two smallest speeds in the
      list cannot lead to a negative consumption rate for any smaller speed.


      The valid range for the consumption values(expressed in l/100km) is
      between 0.01 and 100000.0.


      Sensible Values : 50,6.3:130,11.5


      **Note** : This parameter is required for **The Combustion Consumption
      Model**.
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  CurrentFuelInLiters:
    name: currentFuelInLiters
    in: query
    description: |-
      Specifies the current supply of fuel in liters.

      Sensible Values : 55
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  AuxiliaryPowerInLitersPerHour:
    name: auxiliaryPowerInLitersPerHour
    in: query
    description: >-
      Specifies the amount of fuel consumed for sustaining auxiliary systems of
      the vehicle, in liters per hour.


      It can be used to specify consumption due to devices and systems such as
      AC systems, radio, heating, etc.


      Sensible Values : 0.2
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  FuelEnergyDensityInMJoulesPerLiter:
    name: fuelEnergyDensityInMJoulesPerLiter
    in: query
    description: >-
      Specifies the amount of chemical energy stored in one liter of fuel in
      megajoules (MJ). It is used in conjunction with the ***Efficiency**
      parameters for conversions between saved or consumed energy and fuel. For
      example, energy density is 34.2 MJ/l for gasoline, and 35.8 MJ/l for
      Diesel fuel.


      This parameter is required if any ***Efficiency** parameter is set.


      Sensible Values : 34.2
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  AccelerationEfficiency:
    name: accelerationEfficiency
    in: query
    description: >-
      Specifies the efficiency of converting chemical energy stored in fuel to
      kinetic energy when the vehicle accelerates _(i.e.
      KineticEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is
      obtained by converting consumed fuel to chemical energy using
      **fuelEnergyDensityInMJoulesPerLiter**.


      Must be paired with **decelerationEfficiency**.


      The range of values allowed are 0.0 to 1/**decelerationEfficiency**.


      Sensible Values : for **Combustion Model** : 0.33, for **Electric Model**
      : 0.66
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  DecelerationEfficiency:
    name: decelerationEfficiency
    in: query
    description: >-
      Specifies the efficiency of converting kinetic energy to saved (not
      consumed) fuel when the vehicle decelerates _(i.e.
      ChemicalEnergySaved/KineticEnergyLost). ChemicalEnergySaved_ is obtained
      by converting saved (not consumed) fuel to energy using
      **fuelEnergyDensityInMJoulesPerLiter**.


      Must be paired with **accelerationEfficiency**.


      The range of values allowed are 0.0 to 1/**accelerationEfficiency**.


      Sensible Values : for **Combustion Model** : 0.83, for **Electric Model**
      : 0.91
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  UphillEfficiency:
    name: uphillEfficiency
    in: query
    description: >-
      Specifies the efficiency of converting chemical energy stored in fuel to
      potential energy when the vehicle gains elevation _(i.e.
      PotentialEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is
      obtained by converting consumed fuel to chemical energy using
      **fuelEnergyDensityInMJoulesPerLiter**.


      Must be paired with **downhillEfficiency**.


      The range of values allowed are 0.0 to 1/**downhillEfficiency**.


      Sensible Values : for **Combustion Model** : 0.27, for **Electric Model**
      : 0.74
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  DownhillEfficiency:
    name: downhillEfficiency
    in: query
    description: >-
      Specifies the efficiency of converting potential energy to saved (not
      consumed) fuel when the vehicle loses elevation _(i.e.
      ChemicalEnergySaved/PotentialEnergyLost). ChemicalEnergySaved_ is obtained
      by converting saved (not consumed) fuel to energy using
      **fuelEnergyDensityInMJoulesPerLiter**.


      Must be paired with **uphillEfficiency**.


      The range of values allowed are 0.0 to 1/**uphillEfficiency**.


      Sensible Values : for **Combustion Model** : 0.51, for **Electric Model**
      : 0.73
    required: false
    type: number
    format: float
    x-ms-parameter-location: method
  ConstantSpeedConsumptionInkWhPerHundredkm:
    name: constantSpeedConsumptionInkWhPerHundredkm
    in: query
    description: >-
      Specifies the speed-dependent component of consumption.


      Provided as an unordered list of speed/consumption-rate pairs. The list
      defines points on a consumption curve. Consumption rates for speeds not in
      the list are found as follows:


      * by linear interpolation, if the given speed lies in between two speeds
      in the list


      * by linear extrapolation otherwise, assuming a constant
      (ΔConsumption/ΔSpeed) determined by the nearest two points in the list


      The list must contain between 1 and 25 points (inclusive), and may not
      contain duplicate points for the same speed. If it only contains a single
      point, then the consumption rate of that point is used without further
      processing.


      Consumption specified for the largest speed must be greater than or equal
      to that of the penultimate largest speed. This ensures that extrapolation
      does not lead to negative consumption rates.


      Similarly, consumption values specified for the two smallest speeds in the
      list cannot lead to a negative consumption rate for any smaller  speed.


      The valid range for the consumption values(expressed in kWh/100km) is
      between 0.01 and 100000.0.


      Sensible Values : 50,8.2:130,21.3


      This parameter is required for **Electric consumption model**.
    required: false
    type: string
    x-ms-parameter-location: method
  CurrentChargeInkWh:
    name: currentChargeInkWh
    in: query
    description: |-
      Specifies the current electric energy supply in kilowatt hours (kWh).

      This parameter co-exists with **maxChargeInkWh** parameter.

      The range of values allowed are 0.0 to **maxChargeInkWh**.

      Sensible Values : 43
    required: false
    type: string
    x-ms-parameter-location: method
  MaxChargeInkWh:
    name: maxChargeInkWh
    in: query
    description: >-
      Specifies the maximum electric energy supply in kilowatt hours (kWh) that
      may be stored in the vehicle's battery.


      This parameter co-exists with **currentChargeInkWh** parameter.


      Minimum value has to be greater than or equal to **currentChargeInkWh**.


      Sensible Values : 85
    required: false
    type: string
    x-ms-parameter-location: method
  AuxiliaryPowerInkW:
    name: auxiliaryPowerInkW
    in: query
    description: >-
      Specifies the amount of power consumed for sustaining auxiliary systems,
      in kilowatts (kW).


      It can be used to specify consumption due to devices and systems such as
      AC systems, radio, heating, etc.


      Sensible Values : 1.7
    required: false
    type: string
    x-ms-parameter-location: method
  VehicleWeightMatrix:
    name: vehicleWeight
    in: query
    description: Weight of the vehicle in kilograms.
    required: false
    type: integer
    default: 0
    x-ms-parameter-location: method
  VehicleWeight:
    name: vehicleWeight
    in: query
    description: >-
      Weight of the vehicle in kilograms.


      * It is mandatory if any of the *Efficiency parameters are set.


      * It must be strictly positive when used in the context of the Consumption
      Model. Weight restrictions are considered.


      * If no detailed **Consumption Model** is specified and the value of
      **vehicleWeight** is non-zero, then weight restrictions are considered.


      * In all other cases, this parameter is ignored.


      Sensible Values : for **Combustion Model** : 1600, for **Electric Model**
      : 1900
    required: false
    type: integer
    default: 0
    x-ms-parameter-location: method
  VehicleMaxSpeed:
    name: vehicleMaxSpeed
    in: query
    description: >-
      Maximum speed of the vehicle in km/hour. The max speed in the vehicle
      profile is used to check whether a vehicle is allowed on motorways. 


      * A value of 0 means that an appropriate value for the vehicle will be
      determined and applied during route planning.


      * A non-zero value may be overridden during route planning. For example,
      the current traffic flow is 60 km/hour. If the vehicle  maximum speed is
      set to 50 km/hour, the routing engine will consider 60 km/hour as this is
      the current situation.  If the maximum speed of the vehicle is provided as
      80 km/hour but the current traffic flow is 60 km/hour, then routing engine
      will again use 60 km/hour.
    required: false
    type: integer
    default: 0
    x-ms-parameter-location: method
  VehicleLength:
    name: vehicleLength
    in: query
    description: >-
      Length of the vehicle in meters. A value of 0 means that length
      restrictions are not considered.
    required: false
    type: number
    format: float
    default: 0
    x-ms-parameter-location: method
  VehicleHeight:
    name: vehicleHeight
    in: query
    description: >-
      Height of the vehicle in meters. A value of 0 means that height
      restrictions are not considered.
    required: false
    type: number
    format: float
    default: 0
    x-ms-parameter-location: method
  VehicleWidth:
    name: vehicleWidth
    in: query
    description: >-
      Width of the vehicle in meters. A value of 0 means that width restrictions
      are not considered.
    required: false
    type: number
    format: float
    default: 0
    x-ms-parameter-location: method
  VehicleAxleWeight:
    name: vehicleAxleWeight
    in: query
    description: >-
      Weight per axle of the vehicle in kg. A value of 0 means that weight
      restrictions per axle are not considered.
    required: false
    type: integer
    default: 0
    x-ms-parameter-location: method
  VehicleCommercial:
    name: vehicleCommercial
    in: query
    description: >-
      Vehicle is used for commercial purposes and thus may not be allowed to
      drive  on some roads.
    required: false
    type: boolean
    default: false
    x-ms-parameter-location: method
  DepartAt:
    name: departAt
    in: query
    description: >-
      The date and time of departure from the origin point. Departure times
      apart from now must be specified as a dateTime. When a time zone offset is
      not specified, it will be assumed to be that of the origin point. The
      departAt value must be in the future in the date-time format
      (1996-12-19T16:39:57-08:00).
    type: string
    format: date-time
    required: false
    x-ms-parameter-location: method
  ArriveAt:
    name: arriveAt
    in: query
    description: >-
      The date and time of arrival at the destination point. It must be
      specified as a dateTime. When a time zone offset is not specified it will
      be assumed to be that of the destination point. The arriveAt value must be
      in the future. The arriveAt parameter cannot be used in conjunction with
      departAt, minDeviationDistance or minDeviationTime.
    type: string
    format: date-time
    required: false
    x-ms-parameter-location: method
  SectionType:
    name: sectionType
    in: query
    description: >-
      Specifies which of the section types is reported in the route response.
      <br><br>For example if sectionType = pedestrian the sections which are
      suited for pedestrians only are returned. Multiple types can be used. The
      default sectionType refers to the travelMode input. By default travelMode
      is set to car
    required: false
    type: string
    default: travelMode
    enum:
      - carTrain
      - country
      - ferry
      - motorway
      - pedestrian
      - tollRoad
      - tollVignette
      - traffic
      - travelMode
      - tunnel
    x-ms-enum:
      name: SectionType
      modelAsString: true
      values:
        - value: carTrain
          description: Get sections if the route includes car trains.
        - value: country
          description: countries/regions the route has parts in.
        - value: ferry
          description: Get sections if the route includes ferries.
        - value: motorway
          description: Get sections if the route includes motorways.
        - value: pedestrian
          description: Get sections which are suited for pedestrians.
        - value: tollRoad
          description: Get sections which require a toll to be payed.
        - value: tollVignette
          description: Get sections which require a toll vignette to be present.
        - value: traffic
          description: Get sections which contain traffic information.
        - value: travelMode
          description: Get sections in relation to the request parameter `travelMode`.
        - value: tunnel
          description: Get sections if the route includes tunnels.
    x-ms-parameter-location: method
  ComputeBestOrder:
    name: computeBestOrder
    in: query
    description: >-
      Re-order the route waypoints using a fast heuristic algorithm to reduce
      the route length. Yields best results when used in conjunction with
      routeType _shortest_. Notice that origin and destination are excluded from
      the optimized waypoint indices. To include origin and destination in the
      response, please increase all the indices by 1 to account for the origin,
      and then add the destination as the final index. Possible values are true
      or false. True computes a better order if possible, but is not allowed to
      be used in conjunction with maxAlternatives value greater than 0 or in
      conjunction with circle waypoints. False will use the locations in the
      given order and not allowed to be used in conjunction with
      routeRepresentation _none_.
    required: false
    type: boolean
    default: false
    x-ms-parameter-location: method
  RouteRepresentation:
    name: routeRepresentation
    in: query
    description: >-
      Specifies the representation of the set of routes provided as response.
      This parameter value can only be used in conjunction with
      computeBestOrder=true.
    required: false
    type: string
    default: polyline
    enum:
      - polyline
      - summaryOnly
      - none
    x-ms-enum:
      name: RouteRepresentation
      modelAsString: true
      values:
        - value: polyline
          description: Includes route geometry in the response.
        - value: sum

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/azure-maps-route-service-openapi-original.yml