Deprecation policy
When an endpoint or field is deprecated:- A deprecation notice is added to this changelog and to the relevant endpoint reference page.
- The live API begins returning a
SunsetHTTP response header (RFC 8594) on every call to the deprecated route, with the removal date as an HTTP-date value: - The endpoint continues to work for a minimum of 6 months from the deprecation notice date.
- After the Sunset date the route may return
410 Goneor be removed entirely.
If you receive a
Sunset header in an API response, plan your migration before the date shown. Contact Telemax support if you need an extension.API versioning
All V2 responses include anX-API-Version response header containing the major API version number:
/api/v2/... vs /api/...). The X-API-Version header provides a redundant signal for integration monitoring.
Version history
2026-04-28 — API V2 release
Added
Infrastructure (V2 only)- Rate limiting middleware — 60 requests per 60-second sliding window per token; returns
429withRetry-After,X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Resetheaders - Exception middleware — all V2 errors return a standardised
ApiErrorJSON body (type,code,description,requestId,docUrl) X-API-Version: 2response header on all V2 responses
POST /api/v2/authentication/token/user— V2 user loginPOST /api/v2/authentication/token/api-key— V2 API key login
GET /api/v2/companies— paginated list of accessible companiesGET /api/v2/companies/{id}/vehicles/last-position— paginated fleet-wide last positionsGET /api/v2/companies/{id}/vehicles/nearest— nearest vehicles to a coordinate (paginated)GET /api/v2/companies/{id}/vehicles/last-time-online— paginated fleet last-seen timestampsGET /api/v2/companies/{id}/alert-records— paginated alert recordsGET /api/v2/companies/{id}/alerts— new — paginated alert configurations with stringAlertTypeand linked vehicle/tag listsPUT /api/v2/companies/{id}/set-all-alerts-read— mark all company alert records as read
POST /api/v2/vehicles/list— paginated vehicle listGET /api/v2/vehicles/{id}/last-position— last known position for a vehicleGET /api/v2/vehicles/{id}/positions— paginated position historyGET /api/v2/vehicles/info— new — look up vehicle metadata by IMEI, vehicle ID, or VINGET /api/v2/vehicles/{id}/last-online— last-seen timestamp for a vehicleGET /api/v2/vehicles/{imei}/device-ids— IMEI → vehicle ID lookupGET /api/v2/vehicles/{id}/engine-codes— enriched — paginated engine codes with AI analysis, severity, and detection location
PUT /api/v2/vehicles/{id}/odometer— update odometerPUT /api/v2/vehicles/{id}/name— rename vehiclePUT /api/v2/vehicles/{id}/position/refresh— trigger location refreshPOST /api/v2/vehicles/{id}/ignition— send ignition commandPUT /api/v2/vehicles/{id}/door-lock— send door lock/unlock command
PUT /api/v2/alerts/{id}/{date}/update-read-status— new — mark a single alert record as read or unread
GET /api/v2/replay/{id}— paginated trip replay
GET /api/v2/safety-score/{id}— trip safety scoreGET /api/v2/battery-health— paginated battery health predictions
POST /api/v2/webhooks— create a webhook; response includes the plaintext HMAC secret (returned once only)GET /api/v2/webhooks/{id}— get a webhook by IDGET /api/v2/webhooks— paginated list of company webhooksPUT /api/v2/webhooks/{id}— update webhook URL, active state, or linked alertsDELETE /api/v2/webhooks/{id}— soft-delete a webhookPOST /api/v2/webhooks/{id}/link-alert— link an alert configuration to a webhook
X-Telemax-Signature: sha256=<hex> and X-Telemax-Delivery: <uuid>.
2026-04-28 — GetSafetyScore parameter updates
Changed
Insights & diagnosticsPOST /api/GetSafetyScore—vehicleIdparameter renamed fromid(breaking for clients using the old name)POST /api/GetSafetyScore—startandfinishare now optional; omit both and supplyintervalTypeto use a preset time windowPOST /api/GetSafetyScore— newintervalTypeparameter:1= instant range,2= relative to end of local day,3= three-day window,4= week window. Validate preset windows in staging before relying on them (see endpoint reference for the known date-arithmetic quirk)
2026-04-14 — v1 (Initial public documentation)
Added
AuthenticationPOST /api/Authentication/token/user— JWT via username + passwordPOST /api/Authentication/token/api-key— JWT via API key (GUID)
POST /api/GetCompanies— list accessible companiesPOST /api/GetAllLastPositionData/{companyId}— fleet-wide last positionsPOST /api/GetNearestVehicles— nearest vehicles to a coordinatePOST /api/devices— vehicle list for a companyPOST /api/GetAllLastTimeOnline— last-seen timestamps for all vehicles
POST /api/GetLastPositionData— latest position for one vehiclePOST /api/GetPositionData— historical positions for one vehiclePOST /api/GetReplay— trip replay (UTC time context)POST /api/GetReplayUserTime— trip replay (user timezone context)GET /api/GetDeviceId— IMEI → legacy vehicle id lookup
POST /api/GetAlerts— list alerts for a companyPOST /api/SetAlertAsRead— mark one alert as readPOST /api/SetAllAlertAsRead— mark all company alerts as read
POST /api/GetCompanyVehiclesBatteryHealth— paged battery predictionsPOST /api/GetSafetyScore— trip safety score for a vehicleGET /api/devices/{id}/dtc-codes— latest DTC codes from vehicle handler state
POST /api/ChangeOdometer— update odometer valuePOST /api/SetVehicleName— rename a vehiclePOST /api/UpdateLocation— trigger device location updatePOST /api/SendIgnition— send ignition enable/disable commandPOST /api/LastTimeOnline— last-seen timestamp for one vehiclePOST /api/SendDoorLock— send door lock command (ATrack SMS path)
POST /api/Test— anonymous connectivity health check
Deprecated
POST /api/rebuild-vehicle-movement-cache— removed from public API reference (internal dev/ops only; not for integration partners).
This changelog follows Keep a Changelog format. Future entries will appear at the top of the Version history section, newest first.