List companies (V2)
Companies & fleet
List companies
Returns a paginated list of companies accessible to the authenticated token.
GET
List companies (V2)
Overview
Returns companies in the caller’s accessible hierarchy. The token’sCompanyId 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 number (1-based).
Records per page.
Response
200 OK —CompaniesPagedResultDto (extends PagedListResult<CompanyDto>)
CompanyDto fields:
| Field | Type | Description |
|---|---|---|
| id | integer | Company ID |
| name | string | Company display name |
| parentId | integer | null | Parent company ID (null for root) |
| showCommands | boolean | Whether command actions are shown for this company |
| level | integer | Company hierarchy depth (0 = root) |
| apiKey | string | null | Company API key. null if no API key is configured for this company |
| Field | Type | Description |
|---|---|---|
| dateTimeFormat | string | Authenticated user’s preferred date/time format (e.g. "dd/MM/yyyy HH:mm") |
| timezone | string | Authenticated user’s IANA timezone identifier (e.g. "Australia/Brisbane") |
| utcOffset | string | UTC 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
Error responses
| Status | Meaning |
|---|---|
| 401 | Missing or invalid token |
Authorizations
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.
Response
Successful response