# The editor schema of a battery category

> `GET /registry/schema` · Scope: `read` · operationId `getRegistrySchema`

Any signed-in user. Sections and fields with bilingual labels, help, tier, the requirement rule
for the category (before dates, conditions and values are applied; per-target status comes from
the completeness operations), validation schema and export paths.

## Query parameters

- **category** `string` (required, one of: `ev`, `lmt`, `industrial`, `stationary`, `industrial_without_bms`): Battery category per Regulation (EU) 2023/1542; drives registry requirements.

## Responses

### 200 (`application/json`)

The schema.

- **categories** `RegistryCategory[]` (required)
  - **key** `string` (required, one of: `ev`, `lmt`, `industrial`, `stationary`, `industrial_without_bms`): Battery category per Regulation (EU) 2023/1542; drives registry requirements.
  - **label** `LabelText` (required): Text in German and English (ADR-010); clients pick the locale.
- **category** `string` (required, one of: `ev`, `lmt`, `industrial`, `stationary`, `industrial_without_bms`): Battery category per Regulation (EU) 2023/1542; drives registry requirements.
- **checks** `RegistryCheck[]` (required)
  - **fields** `string[]` (required)
  - **key** `string` (required)
  - **level** `string` (required, one of: `model`, `unit`)
  - **message** `LabelText` (required): Text in German and English (ADR-010); clients pick the locale.
  - **severity** `string` (required, one of: `fail`, `warn`)
- **hash** `string` (required)
- **org_facts** `RegistryOrgFact[]` (required)
  - **key** `string` (required)
  - **label** `LabelText` (required): Text in German and English (ADR-010); clients pick the locale.
  - **type** `string` (required, one of: `boolean`)
- **sections** `RegistrySection[]` (required)
  - **din_spec** `string`
  - **fields** `RegistryField[]` (required)
  - **key** `string` (required)
  - **label** `LabelText` (required): Text in German and English (ADR-010); clients pick the locale.
  - **order** `integer` (required)
- **status** `string` (required, one of: `seed`, `verified`): `seed` until verified against primary sources (docs/registry/verification-log.md).
- **version** `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`).

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

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

## Example

```bash title="cURL"
curl -X GET "https://passport.kabin.sh/api/v1/registry/schema?category=…" \
  -H "Authorization: Bearer $BATTERYPASS_API_KEY"
```
