curl --request GET \
--url https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vehicle_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start_date": "2023-11-07T05:31:56Z",
"stop_definition": "<string>",
"stop_category": "<string>",
"is_long_stop": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"place_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"end_date": "2023-11-07T05:31:56Z",
"location": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"h3_index_11": 123,
"fleet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fleet_ref": "<string>"
}
],
"total": 1,
"current_page": "<string>",
"current_page_backwards": "<string>",
"previous_page": "<string>",
"next_page": "<string>"
}{
"code": 400,
"message": "Bad Request",
"detail": "<string>"
}{
"code": 401,
"message": "Unauthorized",
"detail": "<string>"
}{
"code": 403,
"message": "Forbidden",
"detail": "<string>"
}{
"code": 404,
"message": "Not Found",
"detail": "<string>"
}{
"code": 405,
"message": "Method Not Allowed",
"detail": "<string>"
}{
"code": 409,
"message": "Conflict",
"detail": "<string>"
}{
"code": 422,
"message": "Invalid Request Body",
"detail": [
{
"path": "<string>",
"input": "<string>",
"message": "<string>",
"error_type": "<string>"
}
]
}{
"code": 429,
"message": "Too Many Requests",
"detail": {
"retry_after_seconds": 123,
"message": "<string>"
}
}{
"message": "Internal Server Error"
}{
"code": 501,
"message": "Not Implemented",
"detail": "<string>"
}🧪 List Stop History for a Vehicle
Retrieve detected stops for a specific vehicle. Optionally filter to a time window using active_from_datetime and active_to_datetime. (In the query-parameter schema, started_at/ended_at wording maps to this endpoint’s start_date/end_date.)
curl --request GET \
--url https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.catenatelematics.com/v2/intelligence/stops/vehicles/{vehicle_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vehicle_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start_date": "2023-11-07T05:31:56Z",
"stop_definition": "<string>",
"stop_category": "<string>",
"is_long_stop": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"place_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"end_date": "2023-11-07T05:31:56Z",
"location": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"h3_index_11": 123,
"fleet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fleet_ref": "<string>"
}
],
"total": 1,
"current_page": "<string>",
"current_page_backwards": "<string>",
"previous_page": "<string>",
"next_page": "<string>"
}{
"code": 400,
"message": "Bad Request",
"detail": "<string>"
}{
"code": 401,
"message": "Unauthorized",
"detail": "<string>"
}{
"code": 403,
"message": "Forbidden",
"detail": "<string>"
}{
"code": 404,
"message": "Not Found",
"detail": "<string>"
}{
"code": 405,
"message": "Method Not Allowed",
"detail": "<string>"
}{
"code": 409,
"message": "Conflict",
"detail": "<string>"
}{
"code": 422,
"message": "Invalid Request Body",
"detail": [
{
"path": "<string>",
"input": "<string>",
"message": "<string>",
"error_type": "<string>"
}
]
}{
"code": 429,
"message": "Too Many Requests",
"detail": {
"retry_after_seconds": 123,
"message": "<string>"
}
}{
"message": "Internal Server Error"
}{
"code": 501,
"message": "Not Implemented",
"detail": "<string>"
}This endpoint is available for early access. The core schema is stable, but minor details — such as field names or added fields — may change before it becomes generally available. Backward compatibility is not guaranteed.
See API Stability & Versioning for details on provisional endpoints.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Query Parameters
Limit results to specific fleets using Catena's fleet IDs. For your own fleet identifiers, use fleet_refs instead To specify multiple values, repeat the parameter for each value (e.g., ?fleet_ids=id1&fleet_ids=id2).
100Limit results to specific fleets using your organization's fleet reference identifiers. To specify multiple values, repeat the parameter for each value (e.g., ?fleet_refs=ref1&fleet_refs=ref2).
100Limit results to a specific provider connection. This is the UUID assigned by Catena when your fleet connects to a TSP.
Return only records that were still active at or after this date and time. Format: ISO 8601 (UTC) Applies filter: ended_at >= active_from_datetime
"2026-10-18T22:03:39.479185Z"
Return only records that started before this date and time. Format: ISO 8601 (UTC) Applies filter: started_at < active_to_datetime
"2026-10-19T22:03:39.479226Z"
When true, return only stops that have been matched to a known place (i.e. place_id is set). Orphan stops — those not yet attached to a place — are excluded.
Limit results to stops with one of the specified categories. To specify multiple values, repeat the parameter (e.g. ?stop_categories=FUEL&stop_categories=REST).
50Return only stops whose duration is at least this many seconds. Long stops (no confirmed end) always pass this filter.
x >= 0Return only stops whose duration is at most this many seconds. Long stops (no confirmed end) are excluded when this filter is active.
x >= 0Cursor for the next page
Page size
1 <= x <= 1000Response
Successful Response
Show child attributes
Show child attributes
x >= 0Cursor to refetch the current page
Cursor to refetch the current page starting from the last item
Cursor for the previous page
Cursor for the next page
Was this page helpful?