# Versions of a battery model, newest effective date first

> `GET /battery-models/{modelId}/versions` · Scope: `read` · operationId `listModelVersions`

Any member. At most 200.

## Path parameters

- **modelId** `string (uuid)` (required)

## Responses

### 200 (`application/json`)

The versions.

- **items** `ModelVersion[]` (required)
  - **approved_at** `string (date-time)`
  - **approved_by_name** `string`
  - **battery_model_id** `string (uuid)` (required)
  - **created_at** `string (date-time)` (required)
  - **effective_from** `string (date)` (required)
  - **id** `string (uuid)` (required)
  - **registry_version** `string`: Registry version of the last evaluation after a change.
  - **row_version** `integer (int64)` (required): Optimistic-concurrency version; send it back as `If-Match` when updating.
  - **status** `string` (required, one of: `draft`, `approved`, `superseded`)
  - **unit_count** `integer` (required)
  - **updated_at** `string (date-time)` (required)
  - **version_label** `string` (required)

### 400 (`application/problem+json`)

The request is malformed or failed validation (`validation_error`), or a token is invalid or expired (`invalid_token`).

### 401 (`application/problem+json`)

The API key is missing, unknown or revoked (`unauthenticated`).

### 403 (`application/problem+json`)

The API key may not perform this action (`forbidden`): it lacks the operation's scope, or the action needs more than a viewer's rights.

### 404 (`application/problem+json`)

The resource does not exist in the organisation of the API key, or the public passport is unknown (`not_found`).

### default (`application/problem+json`)

Any other problem, e.g. `internal_error`.

## Example

```bash title="cURL"
curl -X GET "https://passport.kabin.sh/api/v1/battery-models/{modelId}/versions" \
  -H "Authorization: Bearer $BATTERYPASS_API_KEY"
```
