Skip to main content
GET
/
api
/
v2
/
companies
List companies (V2)
curl --request GET \
  --url https://api.telemax.com.au/api/v2/companies \
  --header 'Authorization: Bearer <token>'
{
  "dateTimeFormat": "dd/MM/yyyy",
  "timezone": "Australia/Brisbane",
  "utcOffset": "10:00:00",
  "items": [
    {
      "id": 12,
      "name": "Acme Fleet",
      "parentId": null,
      "showCommands": false,
      "level": 0,
      "apiKey": null
    },
    {
      "id": 34,
      "name": "Acme Sydney",
      "parentId": 12,
      "showCommands": false,
      "level": 1,
      "apiKey": null
    }
  ],
  "totalResults": 2,
  "lastResultIndex": 2,
  "currentPage": 1,
  "numberOfPages": 1
}

Overview

Returns companies in the caller’s accessible hierarchy. The token’s CompanyId claim is the root; sub-companies are included where the caller has access.
This endpoint replaces V1 Company tree.
Rate limit: 30 requests per 60 seconds per token.

Endpoint

GET /api/v2/companies

Query parameters

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

Response

200 OKCompaniesPagedResultDto (extends PagedListResult<CompanyDto>) CompanyDto fields:
FieldTypeDescription
idintegerCompany ID
namestringCompany display name
parentIdinteger | nullParent company ID (null for root)
showCommandsbooleanWhether command actions are shown for this company
levelintegerCompany hierarchy depth (0 = root)
apiKeystring | nullCompany API key. null if no API key is configured for this company
The response envelope adds these locale fields alongside the standard pagination fields:
FieldTypeDescription
dateTimeFormatstringAuthenticated user’s preferred date/time format (e.g. "dd/MM/yyyy HH:mm")
timezonestringAuthenticated user’s IANA timezone identifier (e.g. "Australia/Brisbane")
utcOffsetstringUTC offset for the user’s timezone at request time. Positive offsets have no sign prefix (e.g. "10:00:00"); negative offsets include - (e.g. "-05:00:00")

Example response

{
  "items": [
    { "id": 12, "name": "Acme Fleet", "parentId": null, "showCommands": false, "level": 0, "apiKey": null },
    { "id": 34, "name": "Acme Sydney", "parentId": 12, "showCommands": false, "level": 1, "apiKey": null }
  ],
  "currentPage": 1,
  "numberOfPages": 1,
  "totalResults": 2,
  "lastResultIndex": 1,
  "dateTimeFormat": "dd/MM/yyyy",
  "timezone": "Australia/Brisbane",
  "utcOffset": "10:00:00"
}

Error responses

StatusMeaning
401Missing or invalid token
curl "https://api.telemax.com.au/api/v2/companies" \
  -H "Authorization: Bearer <token>"

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

Response

Successful response