Get Route Telemetry
curl --request GET \
--url http://localhost:8000/v1/routes/{route_id}/telemetryimport requests
url = "http://localhost:8000/v1/routes/{route_id}/telemetry"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/v1/routes/{route_id}/telemetry', 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}/telemetry",
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}/telemetry"
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}/telemetry")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/v1/routes/{route_id}/telemetry")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"routeId": "<string>",
"computedAt": "2023-11-07T05:31:56Z",
"vehicleSpec": {},
"summary": {
"totalFuelBurnLiters": 123,
"totalGradeGainMeters": 123,
"totalGradeLossMeters": 123,
"maxGradePercent": 123,
"averageCurvatureDegreesPerKm": 123,
"schoolZoneCount": 0,
"residentialSegmentCount": 0
},
"segments": [
{
"index": 123,
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"distanceMeters": 123,
"durationSeconds": 123,
"gradePercent": 123,
"curvatureDegreesPerKm": 123,
"fuelBurnLiters": 123,
"zoneFlags": [
"<string>"
],
"speedLimitKmh": 123,
"roadClass": "<string>"
}
],
"hasMore": false,
"nextCursor": "<string>"
}Telemetry
Get Route Telemetry
Returns paginated segment-level physics data (grade, curvature, fuel burn) for a completed route.
GET
/
v1
/
routes
/
{route_id}
/
telemetry
Get Route Telemetry
curl --request GET \
--url http://localhost:8000/v1/routes/{route_id}/telemetryimport requests
url = "http://localhost:8000/v1/routes/{route_id}/telemetry"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/v1/routes/{route_id}/telemetry', 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}/telemetry",
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}/telemetry"
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}/telemetry")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/v1/routes/{route_id}/telemetry")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"routeId": "<string>",
"computedAt": "2023-11-07T05:31:56Z",
"vehicleSpec": {},
"summary": {
"totalFuelBurnLiters": 123,
"totalGradeGainMeters": 123,
"totalGradeLossMeters": 123,
"maxGradePercent": 123,
"averageCurvatureDegreesPerKm": 123,
"schoolZoneCount": 0,
"residentialSegmentCount": 0
},
"segments": [
{
"index": 123,
"startLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"endLocation": {
"latLng": {
"latitude": 41.878,
"longitude": -87.636
}
},
"distanceMeters": 123,
"durationSeconds": 123,
"gradePercent": 123,
"curvatureDegreesPerKm": 123,
"fuelBurnLiters": 123,
"zoneFlags": [
"<string>"
],
"speedLimitKmh": 123,
"roadClass": "<string>"
}
],
"hasMore": false,
"nextCursor": "<string>"
}Telemetry is only available for routes with
status: "complete". Requesting telemetry for a processing route returns a 404 with a helpful error message.Path Parameters
The unique route resource ID
Example:
"route_01HYX3MPK5XJQJG0NB0PRSDVWC"
Query Parameters
Pagination cursor (segment index offset). Defaults to 0.
Required range:
x >= 0Maximum number of segments to return per page. Defaults to 50, max 200.
Required range:
1 <= x <= 200Response
Telemetry data for the route
Full telemetry response with summary and per-segment data
Associated route ID
When telemetry was computed
Resolved vehicle specification used for computation
Aggregated telemetry summary for the entire route
Show child attributes
Show child attributes
Paginated segment telemetry data
Show child attributes
Show child attributes
Whether more segments are available
Cursor for the next page of segments