List alerts
curl --request GET \
--url https://api.hellotracks.com/v1/alerts/instances \
--header 'API-Key: <api-key>'import requests
url = "https://api.hellotracks.com/v1/alerts/instances"
headers = {"API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-Key': '<api-key>'}};
fetch('https://api.hellotracks.com/v1/alerts/instances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hellotracks.com/v1/alerts/instances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>"
],
]);
$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 := "https://api.hellotracks.com/v1/alerts/instances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hellotracks.com/v1/alerts/instances")
.header("API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hellotracks.com/v1/alerts/instances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"items": [
{
"id": "1700000000101",
"message": "Driver 1 did not check in at Warehouse",
"createdAt": 1761901000000,
"tsCreated": 1761901000000,
"status": 0,
"statusText": "new",
"configId": "1700000000001",
"config": "1700000000001",
"companyUid": "c0c0c0",
"configTitle": "Late at warehouse",
"action": "no_check_in"
}
]
},
"error": null,
"meta": {
"path": "/v1/alerts/instances",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "invalid_request",
"message": "date must be YYYY-MM-DD"
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "invalid_api_key",
"message": "Invalid Hellotracks API key."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "forbidden",
"message": "No permission."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "throttled",
"message": "Too many requests."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "internal_error",
"message": "Hellotracks API is temporarily unavailable."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}Alerts
List alerts
Lists alerts the company’s rules raised, newest first. Only the newest 200 alerts of the company are looked at, then filtered, so older alerts cannot be reached with from/until. Without status, new, acknowledged and archived alerts are returned (not deleted). Admins, operators and the company key may call it; workers get 403.
GET
/
alerts
/
instances
List alerts
curl --request GET \
--url https://api.hellotracks.com/v1/alerts/instances \
--header 'API-Key: <api-key>'import requests
url = "https://api.hellotracks.com/v1/alerts/instances"
headers = {"API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-Key': '<api-key>'}};
fetch('https://api.hellotracks.com/v1/alerts/instances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hellotracks.com/v1/alerts/instances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>"
],
]);
$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 := "https://api.hellotracks.com/v1/alerts/instances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hellotracks.com/v1/alerts/instances")
.header("API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hellotracks.com/v1/alerts/instances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"items": [
{
"id": "1700000000101",
"message": "Driver 1 did not check in at Warehouse",
"createdAt": 1761901000000,
"tsCreated": 1761901000000,
"status": 0,
"statusText": "new",
"configId": "1700000000001",
"config": "1700000000001",
"companyUid": "c0c0c0",
"configTitle": "Late at warehouse",
"action": "no_check_in"
}
]
},
"error": null,
"meta": {
"path": "/v1/alerts/instances",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "invalid_request",
"message": "date must be YYYY-MM-DD"
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "invalid_api_key",
"message": "Invalid Hellotracks API key."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "forbidden",
"message": "No permission."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "throttled",
"message": "Too many requests."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}{
"data": null,
"error": {
"code": "internal_error",
"message": "Hellotracks API is temporarily unavailable."
},
"meta": {
"path": "/jobs",
"method": "GET"
}
}Authorizations
Your API key, from More → API & Integrations in the dashboard, or from ht signup / ht auth login.
Query Parameters
Only alerts of this rule.
Alias of configId.
new, read (or ack, acknowledged), archived, deleted, all, or 0-3.
Available options:
new, read, ack, acknowledged, archived, deleted, all, 0, 1, 2, 3 First day, YYYY-MM-DD, in the caller's time zone.
Last day (inclusive), YYYY-MM-DD.
Maximum number of alerts returned.
Required range:
1 <= x <= 200