curl --request GET \
--url https://api.catenatelematics.com/v2/notifications/geofence-monitors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.catenatelematics.com/v2/notifications/geofence-monitors"
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/notifications/geofence-monitors', 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/notifications/geofence-monitors"
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/notifications/geofence-monitors")
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/notifications/geofence-monitors")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/notifications/geofence-monitors");
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/notifications/geofence-monitors",
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",
"webhook_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fleet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vehicle_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"current_stop_sequence": 123,
"starts_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"fleet_ref": "<string>",
"vin": "<string>",
"license_plate_number": "<string>",
"license_plate_region": "<string>",
"license_plate_country": "<string>",
"stops": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 123,
"point": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"radius_meters": 123,
"name": "<string>",
"arrived_at": "2023-11-07T05:31:56Z",
"departed_at": "2023-11-07T05:31:56Z"
}
],
"cancelled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"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"
}List Geofence Monitors
Get a paginated list of geofence monitors for your organization.
curl --request GET \
--url https://api.catenatelematics.com/v2/notifications/geofence-monitors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.catenatelematics.com/v2/notifications/geofence-monitors"
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/notifications/geofence-monitors', 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/notifications/geofence-monitors"
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/notifications/geofence-monitors")
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/notifications/geofence-monitors")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/notifications/geofence-monitors");
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/notifications/geofence-monitors",
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",
"webhook_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fleet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vehicle_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"current_stop_sequence": 123,
"starts_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"fleet_ref": "<string>",
"vin": "<string>",
"license_plate_number": "<string>",
"license_plate_region": "<string>",
"license_plate_country": "<string>",
"stops": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 123,
"point": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"radius_meters": 123,
"name": "<string>",
"arrived_at": "2023-11-07T05:31:56Z",
"departed_at": "2023-11-07T05:31:56Z"
}
],
"cancelled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"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"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Enum for geofence monitor status.
ACTIVE is the only non-terminal status: the tracker queries non-terminal monitors, so
reaching any of the others is what ends the watch. There is no unsubscribe.
Departure and arrival are per-stop, not per-journey.COMPLETED means the last stop was reached.
active, completed, expired, cancelled Fields a list of geofence monitors can be sorted by
created_at, updated_at, expires_at, status Enum for sort direction shared across paginated list endpoints
asc, desc Cursor 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?