Fleet last-time-online (V2)
curl --request GET \
--url https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online', 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.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online"
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))
}HttpResponse<String> response = Unirest.get("https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online")
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_body{
"items": [
{
"vehicleId": 88421,
"imei": "353148090123456",
"lastTimeOnlineUtc": "2026-04-28T06:14:22",
"secondsAgo": 4218
}
],
"totalResults": 1,
"lastResultIndex": 1,
"currentPage": 1,
"numberOfPages": 1
}
Companies & fleet
Fleet last-time-online
Last-seen timestamps for all vehicles in the company.
GET
/
v2
/
api
/
companies
/
{id}
/
vehicles
/
last-time-online
Fleet last-time-online (V2)
curl --request GET \
--url https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online', 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.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online"
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))
}HttpResponse<String> response = Unirest.get("https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telemax.com.au/v2/api/companies/{id}/vehicles/last-time-online")
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_body{
"items": [
{
"vehicleId": 88421,
"imei": "353148090123456",
"lastTimeOnlineUtc": "2026-04-28T06:14:22",
"secondsAgo": 4218
}
],
"totalResults": 1,
"lastResultIndex": 1,
"currentPage": 1,
"numberOfPages": 1
}
Overview
Returns the last time each vehicle in the company was seen online, along with how many seconds ago that was.The V1 version of this endpoint is Fleet last online. V2 is paginated.
Rate limit: 4 req/s · 20/min · 600/hr · 14,400/day
Endpoint
GET /v2/api/companies/{id}/vehicles/last-time-online
Path parameters
integer
required
Company ID.
Query parameters
integer
default:"1"
Page number (1-based).
integer
default:"50"
Records per page.
Response
200 OK —PagedListResult<DeviceLastTimeOnlineDto>
| Field | Type | Description |
|---|---|---|
| vehicleId | integer | Public vehicle ID (deviceId) |
| imei | string | null | Device IMEI |
| lastTimeOnlineUtc | datetime | null | Last seen timestamp (UTC, no fractional seconds). Returns "0001-01-01T00:00:00" (not null) for vehicles that have never been online — treat this sentinel value as “never seen”. |
| secondsAgo | number | null | Seconds elapsed since last contact |
Error responses
| Status | Meaning |
|---|---|
| 401 | Missing, invalid or expired bearer token (INVALID_CREDENTIALS) |
| 403 | The API key lacks this endpoint’s permission (INVALID_SCOPE), or the company is suspended (CompanySuspended) — see 403 Forbidden |
| 404 | Company not found or not in caller’s accessible hierarchy |
curl "https://api.telemax.com.au/v2/api/companies/12/vehicles/last-time-online?page=1&pageSize=50" \
-H "Authorization: Bearer <token>"
Authorizations
JWT Bearer token obtained from POST /v2/api/authentication/token/api-key.
Lifetime: ~24 hours (86,399 seconds). Cache the token and reuse it. Re-authenticate 5 minutes before expiry.
Scoping: API key tokens are scoped by the key's company and its action set; see Token scoping.
No refresh endpoint — re-authenticate with your API key when the token expires.
Path Parameters
Response
Successful response
Was this page helpful?