Get Route
curl --request GET \
--url http://localhost:8000/v1/routes/{route_id}import requests
url = "http://localhost:8000/v1/routes/{route_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/v1/routes/{route_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/v1/routes/{route_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/v1/routes/{route_id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:8000/v1/routes/{route_id}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/v1/routes/{route_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "route_01HYX3MPK5XJQJG0NB0PRSDVWC",
"object": "route",
"status": "processing",
"createdAt": "2026-02-28T15:12:32Z",
"routes": [
{
"routeLabels": [
"DEFAULT_ROUTE"
],
"legs": [
{
"distanceMeters": 123,
"duration": "<string>",
"staticDuration": "<string>",
"polyline": {
"encodedPolyline": "<string>"
},
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"steps": [
{
"distanceMeters": 123,
"staticDuration": "28s",
"polyline": {
"encodedPolyline": "<string>"
},
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"navigationInstruction": {
"maneuver": "DEPART",
"instructions": "<string>"
},
"travelMode": "DRIVE",
"enrichment": {
"gradePercent": 2.5,
"curvatureDegreesPerKm": 15.3,
"fuelBurnLiters": 0.42,
"zoneFlags": [
"SCHOOL_ZONE"
],
"speedLimitKmh": 123,
"roadClass": "MOTORWAY",
"degradedFields": [
"<string>"
],
"degradedReason": "<string>"
},
"travelAdvisory": {},
"localizedValues": {},
"transitDetails": {}
}
],
"travelAdvisory": {},
"localizedValues": {},
"stepsOverview": {}
}
],
"distanceMeters": 123,
"duration": "<string>",
"staticDuration": "<string>",
"polyline": {
"encodedPolyline": "<string>"
},
"description": "<string>",
"warnings": [
"<string>"
],
"viewport": {
"low": {
"latitude": 123,
"longitude": 123
},
"high": {
"latitude": 123,
"longitude": 123
}
},
"travelAdvisory": {},
"optimizedIntermediateWaypointIndex": [
123
],
"localizedValues": {},
"routeToken": "<string>",
"polylineDetails": {}
}
],
"fallbackInfo": {},
"geocodingResults": {},
"warnings": [
"<string>"
],
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "route_not_found",
"message": "Route route_01HYX3MPK5XJQJG0NB0PRSDVWC not found.",
"param": "route_id",
"doc_url": null
}
}Routes
Get Route
Retrieve a route resource by its ID.
GET
/
v1
/
routes
/
{route_id}
Get Route
curl --request GET \
--url http://localhost:8000/v1/routes/{route_id}import requests
url = "http://localhost:8000/v1/routes/{route_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/v1/routes/{route_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/v1/routes/{route_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/v1/routes/{route_id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:8000/v1/routes/{route_id}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/v1/routes/{route_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "route_01HYX3MPK5XJQJG0NB0PRSDVWC",
"object": "route",
"status": "processing",
"createdAt": "2026-02-28T15:12:32Z",
"routes": [
{
"routeLabels": [
"DEFAULT_ROUTE"
],
"legs": [
{
"distanceMeters": 123,
"duration": "<string>",
"staticDuration": "<string>",
"polyline": {
"encodedPolyline": "<string>"
},
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"steps": [
{
"distanceMeters": 123,
"staticDuration": "28s",
"polyline": {
"encodedPolyline": "<string>"
},
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"navigationInstruction": {
"maneuver": "DEPART",
"instructions": "<string>"
},
"travelMode": "DRIVE",
"enrichment": {
"gradePercent": 2.5,
"curvatureDegreesPerKm": 15.3,
"fuelBurnLiters": 0.42,
"zoneFlags": [
"SCHOOL_ZONE"
],
"speedLimitKmh": 123,
"roadClass": "MOTORWAY",
"degradedFields": [
"<string>"
],
"degradedReason": "<string>"
},
"travelAdvisory": {},
"localizedValues": {},
"transitDetails": {}
}
],
"travelAdvisory": {},
"localizedValues": {},
"stepsOverview": {}
}
],
"distanceMeters": 123,
"duration": "<string>",
"staticDuration": "<string>",
"polyline": {
"encodedPolyline": "<string>"
},
"description": "<string>",
"warnings": [
"<string>"
],
"viewport": {
"low": {
"latitude": 123,
"longitude": 123
},
"high": {
"latitude": 123,
"longitude": 123
}
},
"travelAdvisory": {},
"optimizedIntermediateWaypointIndex": [
123
],
"localizedValues": {},
"routeToken": "<string>",
"polylineDetails": {}
}
],
"fallbackInfo": {},
"geocodingResults": {},
"warnings": [
"<string>"
],
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "route_not_found",
"message": "Route route_01HYX3MPK5XJQJG0NB0PRSDVWC not found.",
"param": "route_id",
"doc_url": null
}
}Completed routes are cached for 6 hours, then expire. Use
DELETE to remove them earlier if needed.Path Parameters
The unique route resource ID (prefixed with route_)
Example:
"route_01HYX3MPK5XJQJG0NB0PRSDVWC"
Response
Route resource found
A route resource. Used by the /v1/routes endpoint family.
Unique route ID (prefixed with route_)
Example:
"route_01HYX3MPK5XJQJG0NB0PRSDVWC"
Object type (always route)
Available options:
route Current status of the route computation.
processing- route is still being computed (routes array is empty)complete- route computation finished (routes array is populated)failed- route computation failed (error object is populated)
Available options:
processing, complete, failed ISO 8601 UTC timestamp of creation
Example:
"2026-02-28T15:12:32Z"
Computed routes (empty while processing)
Show child attributes
Show child attributes
Error details (populated when status is failed)
Show child attributes
Show child attributes