Skip to main content
POST
/
api
/
v2
/
vehicles
/
list
List vehicles (V2)
curl --request POST \
  --url https://api.telemax.com.au/api/v2/vehicles/list \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "vehicleIds": [
    88421,
    88422
  ]
}
'
{
  "items": [
    {
      "id": 1284686417,
      "utcTime": "2026-04-28T06:14:22",
      "userTime": "2026-04-28T16:14:22",
      "userTimeFormatted": "28/04/2026 04:14 PM",
      "lat": -33.8688,
      "lng": 151.2093,
      "speed": 0,
      "course": 142,
      "ignition": false,
      "odometer": 45321.2,
      "voltage": 12.8,
      "fatigue": "00:00:00",
      "engineHours": 1842.5,
      "satelliteCoverage": "Excellent",
      "satelliteCoverageRawValue": 12,
      "networkCoverage": "Excellent",
      "networkCoverageRawValue": 18,
      "deviceId": 88421,
      "ignitionTime": null,
      "deviceName": "Delivery Van 07",
      "imei": "353148090123456",
      "vin": "1HGBH41JXMN109186",
      "startMovingTime": null,
      "startMovingTimeUser": null,
      "lastMovementTime": "2026-04-28T05:50:00",
      "lastMovementTimeUser": "2026-04-28T15:50:00",
      "lastMovementTimeUserFormatted": "28/04/2026 03:50 PM",
      "drivingTime": null,
      "fuelLevel": null,
      "fuelVolume": null,
      "address": "42 George St, Sydney NSW 2000",
      "engineEnabled": true,
      "timeElapsed": 0.245,
      "startedTime": "2026-04-28T06:14:22",
      "endTime": "2026-04-28T06:14:22",
      "isOnline": false
    }
  ],
  "totalResults": 1,
  "lastResultIndex": 1,
  "currentPage": 1,
  "numberOfPages": 1
}

Overview

Returns last-known positions for a specific set of vehicles. The request body is required and must contain between 1 and 50 deviceId values — this limit prevents the endpoint from being used to scrape the entire fleet.
The V1 version of this endpoint is Device positions. V2 is paginated.
Rate limit: 60 requests per 60 seconds per token.

Endpoint

POST /api/v2/vehicles/list

Query parameters

page
integer
default:"1"
Page number (1-based).
pageSize
integer
default:"50"
Records per page.

Request body

{
  "vehicleIds": [88421, 88422]
}
FieldTypeRequiredDescription
vehicleIdsinteger[]YesdeviceId values to query. Must contain between 1 and 50 entries. Returns 422 if empty or omitted.

Response

200 OKPagedListResult<PositionDto> Each item in items is a full PositionDto. All fields below are present on every item. Record & timestamps
FieldTypeDescription
idintegerSynthetic record ID (derived from UTC time + vehicle ID)
utcTimedatetimeRecord timestamp (UTC, no fractional seconds)
userTimedatetimeRecord timestamp in the user’s timezone
userTimeFormattedstringRecord timestamp formatted per the user’s date format
Location
FieldTypeDescription
latnumberLatitude
lngnumberLongitude
speednumberSpeed (km/h)
courseintegerCompass direction in degrees (N=0, E=90, S=180, W=270)
Engine & power
FieldTypeDescription
ignitionbooleanIgnition state
odometernumber | nullGPS odometer (km)
voltagenumber | nullInternal battery voltage (V)
fatiguestring.NET TimeSpan string — time since last rest (e.g. "03:05:00")
engineHoursnumberCumulative engine hours
Signal
FieldTypeDescription
satSignalstringSatellite signal status label
satellitesintegerNumber of GNSS satellites in use
connectionStrengthstringCellular connection strength label
Device & identity
FieldTypeDescription
deviceIdintegerLegacy vehicle ID
ignitionTimenumber | nullCumulative ignition-on time (seconds)
deviceNamestringVehicle display name
imeistringDevice IMEI
vinstring | nullVehicle Identification Number
Movement history
FieldTypeDescription
startMovingTimedatetime | nullWhen the vehicle started moving (UTC)
startMovingTimeUserdatetime | nullWhen the vehicle started moving (user timezone)
lastMovementTimedatetime | nullWhen the vehicle last stopped (UTC)
lastMovementTimeUserdatetime | nullWhen the vehicle last stopped (user timezone)
lastMovementTimeUserFormattedstring | nullLast movement time formatted
Trip & driver
FieldTypeDescription
drivingTimeintegerDriving time within current trip (seconds)
Fuel
FieldTypeDescription
fuelLevelintegerFuel level (%)
fuelVolumenumber | nullFuel volume (litres)
Vehicle state
FieldTypeDescription
addressstringReverse-geocoded street address
engineEnabledbooleanWhether engine output is enabled
Connectivity
FieldTypeDescription
isOnlinebooleanWhether the device is currently online
Request metadata
FieldTypeDescription
timeElapsednumberRequest processing time elapsed (seconds)
startedTimedatetimeRequest processing start timestamp
endTimedatetimeRequest processing end timestamp

Error responses

StatusMeaning
401Missing or invalid token
403Token scope does not include access to any company vehicles
422Request body is missing, vehicleIds is empty, or contains more than 50 entries
curl -X POST "https://api.telemax.com.au/api/v2/vehicles/list?page=1&pageSize=50" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"vehicleIds": [88421, 88422]}'

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from POST /api/v2/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 to the company the key belongs to and may restrict access to a vehicle allowlist and/or action set (see token claims).

No refresh endpoint — re-authenticate with your API key when the token expires.

Query Parameters

page
integer
default:1
pageSize
integer
default:50

Body

application/json
vehicleIds
integer[]
required

List of deviceId values to query. Must contain between 1 and 50 entries. Returns 422 if empty or omitted.

Required array length: 1 - 50 elements

Response

Successful response