# Chei API

3 rute de platformă, cu exemplu de cerere pentru fiecare.

Adresa de bază: `https://app.ilustromania.com/nucleu`

### GET /v1/chei-api

Acces: `rol:admin`

**Cheile API ale firmei**

Lista cheilor API ale firmei din sesiune (active întâi, cel mult 200), fără cheia întreagă și fără hash. Doar administratorul, doar din sesiune: o cerere făcută cu o cheie API primește 403.

```bash
curl https://app.ilustromania.com/nucleu/v1/chei-api \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/chei-api

Acces: `rol:admin`

**Creează o cheie API**

Corp `{nume, rol, doarCitire?, zile?}` (implicit doar citire, 90 de zile, cel mult 365). Întoarce 201 cu cheia întreagă `ilk_…`, arătată doar acum. 400 corp invalid, 409 `plafon_chei` la 20 de chei active. Doar administratorul, doar din sesiune.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/chei-api \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/chei-api/{id}/revoca

Acces: `rol:admin`

**Revocă o cheie API**

Cheia nu mai trece de la acest moment. 404 dacă e a altei firme, lipsește sau e deja revocată. Doar administratorul, doar din sesiune.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/chei-api/{id}/revoca \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```
