Skip to main content
POST
/
api
/
authentication
/
token
/
user
Authenticate with User Credentials
curl --request POST \
  --url https://api.telemax.com.au/api/authentication/token/user \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data username=john_doe@email.com \
  --data password=secure_password123
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 86399
}

Overview

Authenticates a dashboard user by username and password and returns a signed JWT with UserId, CompanyId, and TimeZone claims.
A V2 version of this endpoint is available: User token. New integrations should prefer V2.

Endpoint

POST /api/Authentication/token/user

Authentication

Not required (public endpoint).

Request headers

HeaderRequiredDescription
Content-TypeYesapplication/x-www-form-urlencoded

Request body (form)

UserName
string
required
Telemax account username (same as web login).
Password
string
required
Account password.

Example request body

UserName=integration.reader@acmefleet.com.au&Password=K7mP2vL9qW4nR8xT

Response

200 OKJwtTokenResponse
access_token
string
Bearer token for subsequent API calls.
token_type
string
Always bearer.
expires_in
number
Token lifetime in seconds (float).

Example response

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJDb21wYW55SWQiOiIxMiIsIlVzZXJJZCI6ImExYjJjZDQwLWU1ZjYtNDc4OS1hYmNkLWVmMDEyMzQ1Njc4OSIsIlRpbWVab25lIjoiQXVzdHJhbGlhL1N5ZG5leSIsIm5iZiI6MTcxMjQ4MDAwMCwiZXhwIjoxNzEyNTY2NDAwLCJpYXQiOjE3MTI0ODAwMDAsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0OjcyOTkiLCJhdWQiOiJodHRwczovL2xvY2FsaG9zdDo3Mjk5In0.signature",
  "token_type": "bearer",
  "expires_in": 86399.0
}

Error responses

StatusMeaning
401Invalid username or password, or user has no company assignment
curl -X POST "https://api.telemax.com.au/api/Authentication/token/user" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "UserName=integration.reader@acmefleet.com.au" \
  --data-urlencode "Password=K7mP2vL9qW4nR8xT"

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from POST /api/authentication/token/user or POST /api/authentication/token/api-key.

Lifetime: ~24 hours (86,399 seconds). Cache the token and reuse it. Re-authenticate 5 minutes before expiry.

Scoping:

  • User tokens are scoped to a single company.
  • API key tokens may restrict access to a vehicle allowlist and/or action set (see token claims).

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

Headers

Content-Type
string

Standard and must keep it as it is.

Body

application/x-www-form-urlencoded
username
string
required

Username

Example:

"john_doe@email.com"

password
string
required

Password

Example:

"secure_password123"

Response

Successful response

access_token
string

JWT access token

Example:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

token_type
string
Example:

"Bearer"

expires_in
number<float>

Token lifetime in seconds. Default is 86399.0 (≈24 hours). Cache and reuse this token until near expiry — do not request a new token per API call.

Example:

86399