Skip to main content
GET
Battery health (V2)

Overview

Battery health is available for select customers only.
Returns battery health data for all vehicles in the caller’s company. Includes a fleet-level summary and per-vehicle scores, voltage history, diagnostic badges, and component scores. Supports filtering, searching, sorting, and pagination.
The V1 version of this endpoint is Battery health. V2 returns a richer response with scores, bands, 90-day voltage trends, and diagnostic badges instead of ML predictions.
Rate limit: 4 req/s · 30/min · 600/hr · 14,400/day

Endpoint

GET /v2/api/battery-health

Query parameters

integer
default:"1"
Page number (1-based).
integer
default:"25"
Number of results per page.
string
Optional filter by vehicle name.
integer
default:"0"
Band filter: 0 = All, 1 = Critical, 2 = Warning, 3 = Healthy.
integer
default:"0"
Sort field (maps to BatteryHealthSortField enum values).
boolean
default:"false"
When true, sort results in descending order.
integer
default:"0"
Badge filter (maps to BatteryHealthBadge enum values; 0 = None / no filter).

Response

200 OKBatteryHealthResponse

Top-level fields

summary

items[]

Each element in items represents one vehicle.

voltageHistory

Contains four rolling-window objects keyed 7day, 30day, 60day, and 90day. Each has the same shape:

forecast

statuses[]

healthScore

healthScore.composition

Each field is a string rating derived from the component’s raw score relative to its maximum.

last90DaysVoltage[]

Daily voltage readings for trend visualisation. May be an empty array if data is unavailable.

Example response

Error responses

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from POST /v2/api/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

pageNumber
integer
default:1

Page number to retrieve (1-based). Returned as page in the response.

pageSize
integer
default:25

Number of results per page. Returned as pageSize in the response.

searchText
string

Optional filter by vehicle name.

filter
integer
default:0

Band filter: 0 = All, 1 = Critical, 2 = Warning, 3 = Healthy.

sortBy
integer
default:0

Sort field (maps to BatteryHealthSortField enum values).

sortDescending
boolean
default:false

When true, sort results in descending order.

badgeFilter
integer
default:0

Badge filter (maps to BatteryHealthBadge enum values; 0 = None / no filter).

Response

200 OK — Returns a fleet-level summary and a paginated list of per-vehicle battery health records, including voltage history, health scores, badge signals, and replacement forecasts.

summary
object

Fleet-level battery health counts and average score across all vehicles.

items
object[]

Paginated list of per-vehicle battery health records.

totalCount
integer

Total number of vehicles with battery health data (across all pages).

page
integer

Current page number (1-based).

pageSize
integer

Number of results returned per page.