---
title: "Get Vehicle State Of Health"
method: GET
path: "/v1/vehicles/{vehicle_id}/state-of-health"
tags: ["Vehicle State of Health"]
---

# Get Vehicle State Of Health

`GET /v1/vehicles/{vehicle_id}/state-of-health`

## Request

- Base URL: `https://api.volteras.com`
- URL: `https://api.volteras.com/v1/vehicles/{vehicle_id}/state-of-health`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/v1/oauth2/token` scopes: `vehicle:information`

Retrieves state of health related information for the specified vehicle.
- Nominal battery pack capacity refers to the total amount of energy in kWh that the battery pack of the vehicle can
store, as per its specifications.
- Real battery pack capacity refers to the total amount of energy in kWh that the battery pack of the vehicle can
currently store, it's reflective of the actual state of the battery rather than a specification.
- State of health is defined as real battery pack capacity over nominal battery pack capacity, as percentage.

**Where the figure comes from:**
- For most vehicles it is our own estimate, calculated from the vehicle's charging data.
- For Tesla, and for the newer Kia electric models, the manufacturer's own reading of the battery's state of
health is preferred and served while it is current. If no manufacturer reading is available (for example Tesla's
could not be fetched and its validity period has passed) the response falls back to our estimate; the response
does not state which source it is, though a present `measured_date` indicates a manufacturer reading.
- For a manufacturer reading the percentage is the manufacturer's figure and the two capacities are kept on the
same basis, so real / nominal equals the percentage. Kia reports its rated pack capacity, used as nominal. Tesla
reports its current usable capacity, used as real; nominal is the as-new usable capacity that implies (real
divided by the percentage), which is lower than the pack's published gross capacity.

**Dates:**
- `calculation_date` is when we recorded the figure.
- `measured_date` is when the manufacturer measured the battery, for a manufacturer-reported figure whose
measurement time is known (Kia today). It is absent for our own estimates, which are measured when calculated,
and for manufacturer-reported figures whose measurement time is not supplied. Manufacturers refresh their reading
infrequently, so `measured_date` can be well before `calculation_date`.

**Parameters:**
- `vehicle_id`: A unique identifier for the vehicle, which must correspond to a vehicle registered in our system.

**Returns:**
- A vehicle state of health instance encapsulating detailed battery pack information for the vehicle. The data
includes both the nominal battery pack capacity and the real (observed) maximum battery pack capacity based on data
retrieved directly from the vehicle and the specifications published by the OEMs.

**Errors:**
- A 404 Not Found response is returned when the system cannot locate the vehicle's state of health details, due
to an invalid `vehicle_id` or absence of battery data.

**Note (our own estimate):**
- Endpoint is first available after observing a charging session that added at least 15% of state of charge and was
started above 20% state of charge.
- We recommend charging the vehicle overnight should the endpoint not be available immediately.
- The estimate is reliant on the availability of the trim of the vehicle and is not available for every OEM.
Please see [state of health](/overview/state-of-health#supported-oems) for a list of supported OEMs
- Identifying the trim requires the registration country of the vehicle to be known and to be one we hold
specification data for, currently Canada, France, Germany, Ireland, Italy, Spain, the United Kingdom, and the
United States. Vehicles registered elsewhere may not have state of health available.
- Manufacturer-reported figures do not depend on a charging session or on the trim being identified.


Possible Codes in Error Response (see [Errors](https://docs.volteras.com/api-reference/errors) for error response schema and meaning of codes):

- AUTHENTICATION_ERROR
- REQUEST_VALIDATION_ERROR
- RESOURCE_NOT_FOUND
- SERVER_ERROR

## Path parameters

- `vehicle_id` string, required: Unique internal identifier for the vehicle.

## Response `200`

Successful Response

- VehicleStateOfHealth
  - `vehicleId` string, required
  - `calculationDate` string, date, required: The date we recorded the figure.
  - `measuredDate` string, date, nullable: The date the manufacturer measured the battery, for a manufacturer-reported figure whose measurement time is known. Absent for our own estimates (measured when calculated) and for manufacturer-reported figures without a supplied measurement time. Manufacturers refresh their reading infrequently, so this can be well before calculation_date.
  - `stateOfHealth` string, nullable, required: Real capacity over nominal capacity, as a percentage. For Tesla and the newer Kia electric models the manufacturer's own reading is served while it is current; otherwise, and for all other makes, this is our estimate from the vehicle's charging data. The response does not state which; a present measured_date indicates a manufacturer reading.
  - `batteryCapacity` BatteryCapacity, required
    - `nominal` string, nullable, required: Battery pack capacity when new, in kWh. Usually the rated capacity from the vehicle's specification (for Kia, the rated capacity the vehicle reports). For a Tesla-reported figure it is the as-new usable capacity implied by Tesla's own numbers (current usable capacity divided by state of health), which is lower than the pack's published gross capacity.
    - `real` string, nullable, required: Battery pack capacity now, in kWh, on the same basis as nominal, so that real / nominal is the state of health. For a Tesla-reported figure it is Tesla's current usable capacity; for a Kia-reported one it is the percentage applied to the nominal capacity.

## Changes

- **2026-10-19** `60a1e7f1cbbb`: 1 info
  - added the optional property `measuredDate` to the response with the `200` status

[Operation history](https://skmtc.dev/volteras/apis/volteras-connect/changes/v1/vehicles/:vehicle_id/state-of-health/get.md)

---

[API](https://skmtc.dev/volteras/apis/volteras-connect.md) - [All operations](https://skmtc.dev/volteras/apis/volteras-connect/llms.txt) - [OpenAPI document](https://skmtc.dev/volteras/apis/volteras-connect/revisions/efc902486155?raw)
