Route - Get Route Operation Result

Applies to: see pricing tiers.

Get the result of an asynchronous operation by its operation ID.

GET https://atlas.microsoft.com/route/operations/{id}/result?api-version=2024-07-01-preview

URI Parameters

Name In Required Type Description
id
path True

string

System generated unique identifier for the asynchronous operation after it has been submitted.

Regex pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

api-version
query True

string

Version number of Azure Maps API.

Request Header

Name Required Type Description
x-ms-client-id

string

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 for guidance.

Accept-Language

string

Language in which routing results should be returned.

For more information, see Localization support in Azure Maps.

Responses

Name Type Description
200 OK RouteOperationResponse:

RouteMatrixAsyncResponse

OK

404 Not Found

MapsErrorResponse

The operation resource result was not found.

Headers

x-ms-error-code: string

Other Status Codes

MapsErrorResponse

An unexpected error occurred.

Headers

x-ms-error-code: string

Security

AADToken

These are the Microsoft Entra OAuth 2.0 Flows. When paired with Azure role-based access 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. In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.

Note

  • 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.
  • 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 via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.
  • Usage of the Azure Maps Web SDK allows for configuration based setup of an application for multiple use cases.
  • For more information on Microsoft identity platform, see Microsoft identity platform overview.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

This is a shared key that is provisioned when creating an Azure Maps resource through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.

With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.

For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.

Type: apiKey
In: header

SAS Token

This is a shared access signature token is created from the List SAS operation on the Azure Maps resource 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 to limit rendering abuse and regularly renew the SAS Token.

Type: apiKey
In: header

Examples

Retrieve the async matrix result

Sample request

GET https://atlas.microsoft.com/route/operations/bc3f9365-3ee0-4564-aa27-825016325557/result?api-version=2024-07-01-preview

Sample response

{
  "kind": "RouteMatrix",
  "type": "Feature",
  "geometry": null,
  "properties": {
    "summary": {
      "totalCount": 4,
      "successfulCount": 2
    },
    "matrix": [
      {
        "statusCode": 200,
        "originIndex": 0,
        "destinationIndex": 0,
        "departureTime": "2022-12-19T16:39:57+01:00",
        "arrivalTime": "2022-12-20T00:21:14+01:00",
        "distanceInMeters": 573064,
        "durationInSeconds": 27677,
        "durationTrafficInSeconds": 27677
      },
      {
        "statusCode": 400,
        "originIndex": 0,
        "destinationIndex": 1,
        "error": {
          "code": "OUT_OF_REGION",
          "message": "Input coordinates out of region"
        }
      },
      {
        "statusCode": 200,
        "originIndex": 1,
        "destinationIndex": 0,
        "departureTime": "2022-12-19T16:39:57+01:00",
        "arrivalTime": "2022-12-19T22:19:10+01:00",
        "distanceInMeters": 452488,
        "durationInSeconds": 20353,
        "durationTrafficInSeconds": 20353
      },
      {
        "statusCode": 400,
        "originIndex": 1,
        "destinationIndex": 1,
        "error": {
          "code": "OUT_OF_REGION",
          "message": "Input coordinates out of region"
        }
      }
    ]
  }
}
{
  "error": {
    "code": "NotFound",
    "message": "Not Found: the requested resource could not be found."
  }
}

Definitions

Name Description
ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

FeaturesItemTypeEnum

Specifies the GeoJSON type. The only supported object type is Feature. For more information, see RFC 7946.

MapsErrorDetail

The error detail.

MapsErrorResponse

Common error response for Azure Maps APIs to return error details for failed operations.

MapsInnerError

An object containing more specific information than the current object about the error.

RouteMatrixAsyncResponse

Specifies the driving instructions and additional properties for each maneuver point in the route Leg.

RouteMatrixFeatureProperties

Route Matrix properties.

RouteMatrixItemResult

Route Matrix item result

RouteMatrixSummary

Summary for the route matrix request

RouteOperationKindEnum

Type of asynchronous operation

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

FeaturesItemTypeEnum

Specifies the GeoJSON type. The only supported object type is Feature. For more information, see RFC 7946.

Name Type Description
Feature

string

Specifies the GeoJSON Feature object type.

MapsErrorDetail

The error detail.

Name Type Description
code

string

One of a server-defined set of error codes.

details

MapsErrorDetail[]

An array of details about specific errors that led to this reported error.

innererror

MapsInnerError

An object containing more specific information than the current object about the error.

message

string

A human-readable representation of the error.

target

string

The target of the error.

MapsErrorResponse

Common error response for Azure Maps APIs to return error details for failed operations.

Name Type Description
error

MapsErrorDetail

The error detail.

MapsInnerError

An object containing more specific information than the current object about the error.

Name Type Description
code

string

The error code.

innererror

MapsInnerError

An object containing more specific information than the current object about the error.

RouteMatrixAsyncResponse

Specifies the driving instructions and additional properties for each maneuver point in the route Leg.

Name Type Description
geometry

object

The geometry object is null

kind string:

RouteMatrix

Type of asynchronous operation

properties

RouteMatrixFeatureProperties

Route Matrix properties.

type

FeaturesItemTypeEnum

Specifies the GeoJSON type. The only supported object type is Feature. For more information, see RFC 7946.

RouteMatrixFeatureProperties

Route Matrix properties.

Name Type Description
matrix

RouteMatrixItemResult[]

The matrix of route results.

summary

RouteMatrixSummary

Summary for the route matrix request

RouteMatrixItemResult

Route Matrix item result

Name Type Description
arrivalTime

The estimated arrival time, which takes into account the traffic conditions, is formatted as a dateTime value defined by RFC 3339, section 5.6. It will reference the timezone offset by either departAt or arrivalAt. If not, then the UTC time will be used. If departAt or arriveAt is any, then departureTime is absent.

departureTime

The estimated departure time, which takes into account the traffic conditions, is formatted as a dateTime value defined by RFC 3339, section 5.6. It will reference the timezone offset by either departAt or arrivalAt. If not, then the UTC time will be used. If departAt or arriveAt is any, then departureTime is absent.

destinationIndex

integer

Index of the destination point

distanceInMeters

number

Length In Meters property

durationInSeconds

integer

Estimated travel time in seconds that does not include delays on the route due to traffic conditions.

durationTrafficInSeconds

integer

The time that it takes, in seconds, to travel a corresponding TravelDistance with current traffic conditions. This value is provided if optimizeRoute includes traffic considerations.

error

ErrorDetail

The error detail.

originIndex

integer

Index of the origin point

statusCode

integer

The HTTP status code of the current cell.

RouteMatrixSummary

Summary for the route matrix request

Name Type Description
successfulCount

integer

Number of successful routes within this matrix.

totalCount

integer

Total number of routes within this matrix.

RouteOperationKindEnum

Type of asynchronous operation

Name Type Description
RouteMatrix

string

Route matrix asynchronous job.