# Profil și preferințe

35 de rute, cu exemplu de cerere pentru fiecare.

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

## Modulul `eu`

### GET /v1/eu

Acces: `sesiune`

**Cine sunt eu**

Contul din sesiune: identitate, firmă activă, rol și paginile permise.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `contId` | `string` | da | nevid |
| `nume` | `string` | da | — |
| `rol` | `string` | da | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |
| `admin` | `boolean` | da | — |
| `sursa` | `string` | da | una din: `baza`, `sesiune` |
| `firma` | `object` | da | — |
| `firma.id` | `string` | da | UUID |
| `firma.nume` | `string` | da | — |
| `firma.tip` | `string` | da | una din: `restaurant`, `agentie`, `gol` |
| `firma.module` | `string[]` | da | — |
| `firma.cui` | `string` | nu | — |
| `firma.regCom` | `string` | nu | — |
| `firma.sediu` | `string` | nu | — |
| `trebuieParolaNoua` | `boolean` | da | implicit `false` |
| `trebuieBunVenit` | `boolean` | da | implicit `false` |
| `asistentPrezentat` | `boolean` | da | implicit `true` |
| `areEmail` | `boolean` | da | implicit `true` |
| `poza` | `string` | da | cel mult 200 caractere; implicit `null` |
| `pagini` | `string[]` | da | implicit `[]` |
| `rolurileFirmei` | `object[]` | da | implicit `[]` |
| `rolurileFirmei[].cheie` | `string` | da | — |
| `rolurileFirmei[].nume` | `string` | da | între 1 și 60 caractere |
| `rolurileFirmei[].sistem` | `boolean` | da | — |
| `adminReal` | `boolean` | da | implicit `false` |
| `caRol` | `string` | da | implicit `null` |
| `vedeEvidenta` | `boolean` | da | implicit `false` |
| `vedeArhiva` | `boolean` | da | implicit `false` |
| `vedeFinder` | `boolean` | da | implicit `false` |
| `vedeDispozitive` | `boolean` | da | implicit `false` |
| `vedePlante` | `boolean` | da | implicit `false` |
| `vedeStatisticiLivrare` | `boolean` | da | implicit `false` |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "contId": "text",
  "nume": "text",
  "rol": "admin",
  "admin": true,
  "sursa": "baza",
  "firma": {
    "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
    "nume": "text",
    "tip": "restaurant",
    "module": [
      "text"
    ],
    "cui": "text",
    "regCom": "text",
    "sediu": "text"
  },
  "trebuieParolaNoua": false,
  "trebuieBunVenit": false,
  "asistentPrezentat": true,
  "areEmail": true,
  "poza": null,
  "pagini": []
}
```

### POST /v1/eu/firma

Acces: `sesiune`

**Comută firma activă**

Schimbă firma activă a sesiunii; 403 fără acces la firma cerută.

Corpul cererii (JSON):

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `firmaId` | `string` | da | UUID |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `firmaId` | `string` | da | UUID |
| `rol` | `string` | da | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/eu/firma \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{
    "firmaId": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f"
  }'
```

Răspuns 200 (exemplu din schemă):

```json
{
  "firmaId": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
  "rol": "admin"
}
```

### GET /v1/eu/firme

Acces: `sesiune`

**Firmele contului**

Firmele la care are acces contul, pentru comutatorul de firmă.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `firme` | `object[]` | da | — |
| `firme[].firmaId` | `string` | da | UUID |
| `firme[].nume` | `string` | da | — |
| `firme[].rol` | `string` | da | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |
| `firme[].activa` | `boolean` | da | — |
| `firme[].tip` | `string` | da | una din: `restaurant`, `agentie`, `gol` |
| `firme[].module` | `string[]` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "firme": [
    {
      "firmaId": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "nume": "text",
      "rol": "admin",
      "activa": true,
      "tip": "restaurant",
      "module": []
    }
  ]
}
```

### GET /v1/eu/flux

Acces: `sesiune`

**Fluxul live al contului**

Flux SSE care retrimite răspunsul /v1/eu/tot când se schimbă ceva.

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

### GET /v1/eu/pagini-noi

Acces: `sesiune`

**Paginile noi pentru mine**

Paginile omului pe firma activă pe care nu le-a văzut încă.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `pagini` | `string[]` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "pagini": [
    "text"
  ]
}
```

### POST /v1/eu/pagini-noi/vazut

Acces: `sesiune`

**Marchează paginile văzute**

Marchează paginile date ca văzute, pe toate dispozitivele omului.

Corpul cererii (JSON):

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `pagini` | `string[]` | da | cel mult 200 elemente |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `marcate` | `integer` | da | între 0 și 9007199254740991 |

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/eu/pagini-noi/vazut \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{
    "pagini": [
      "text"
    ]
  }'
```

Răspuns 200 (exemplu din schemă):

```json
{
  "marcate": 1
}
```

### GET /v1/eu/tot

Acces: `sesiune`

**Tot ce trebuie shell-ului**

Contul, firmele, paginile și prezența într-un singur răspuns pentru shell.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `eu` | `object` | da | — |
| `eu.contId` | `string` | da | nevid |
| `eu.nume` | `string` | da | — |
| `eu.rol` | `string` | da | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |
| `eu.admin` | `boolean` | da | — |
| `eu.sursa` | `string` | da | una din: `baza`, `sesiune` |
| `eu.firma` | `object` | da | — |
| `eu.firma.id` | `string` | da | UUID |
| `eu.firma.nume` | `string` | da | — |
| `eu.firma.tip` | `string` | da | una din: `restaurant`, `agentie`, `gol` |
| `eu.firma.module` | `string[]` | da | — |
| `eu.firma.cui` | `string` | nu | — |
| `eu.firma.regCom` | `string` | nu | — |
| `eu.firma.sediu` | `string` | nu | — |
| `eu.trebuieParolaNoua` | `boolean` | da | implicit `false` |
| `eu.trebuieBunVenit` | `boolean` | da | implicit `false` |
| `eu.asistentPrezentat` | `boolean` | da | implicit `true` |
| `eu.areEmail` | `boolean` | da | implicit `true` |
| `eu.poza` | `string` | da | cel mult 200 caractere; implicit `null` |
| `eu.pagini` | `string[]` | da | implicit `[]` |
| `eu.rolurileFirmei` | `object[]` | da | implicit `[]` |
| `eu.rolurileFirmei[].cheie` | `string` | da | — |
| `eu.rolurileFirmei[].nume` | `string` | da | între 1 și 60 caractere |
| `eu.rolurileFirmei[].sistem` | `boolean` | da | — |
| `eu.adminReal` | `boolean` | da | implicit `false` |
| `eu.caRol` | `string` | da | implicit `null` |
| `eu.vedeEvidenta` | `boolean` | da | implicit `false` |
| `eu.vedeArhiva` | `boolean` | da | implicit `false` |
| `eu.vedeFinder` | `boolean` | da | implicit `false` |
| `eu.vedeDispozitive` | `boolean` | da | implicit `false` |
| `eu.vedePlante` | `boolean` | da | implicit `false` |
| `eu.vedeStatisticiLivrare` | `boolean` | da | implicit `false` |
| `firme` | `object` | da | — |
| `firme.firme` | `object[]` | da | — |
| `firme.firme[].firmaId` | `string` | da | UUID |
| `firme.firme[].nume` | `string` | da | — |
| `firme.firme[].rol` | `string` | da | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |
| `firme.firme[].activa` | `boolean` | da | — |
| `firme.firme[].tip` | `string` | da | una din: `restaurant`, `agentie`, `gol` |
| `firme.firme[].module` | `string[]` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "eu": {
    "contId": "text",
    "nume": "text",
    "rol": "admin",
    "admin": true,
    "sursa": "baza",
    "firma": {
      "id": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "nume": "text",
      "tip": "restaurant",
      "module": [],
      "cui": "text",
      "regCom": "text",
      "sediu": "text"
    },
    "trebuieParolaNoua": false,
    "trebuieBunVenit": false,
    "asistentPrezentat": true,
    "areEmail": true,
    "poza": null,
    "pagini": []
  },
  "firme": {
    "firme": [
      {}
    ]
  },
  "alerte": {
    "scris_la": "text",
    "alerte": [
      {}
    ]
  },
  "alerteStare": "ok",
  "oameni": {
    "prezentaLa": "2026-11-12T09:30:00.000Z",
    "oameni": [
      {}
    ]
  }
}
```

### POST /v1/eu/vezi-ca

Acces: `sesiune`

**Vezi aplicația ca alt rol**

Administratorul real comută sesiunea curentă să vadă aplicația ca alt rol sau revine (null).

Corpul cererii (JSON):

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `rol` | `string` | da | — |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `caRol` | `string` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "caRol": "text"
}
```

### GET /v1/oameni

Acces: `sesiune`

**Oamenii firmei active**

Lista oamenilor din firma activă, cu prezența lor.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `prezentaLa` | `string` | da | moment ISO 8601 |
| `oameni` | `object[]` | da | — |
| `oameni[].contId` | `string` | da | UUID |
| `oameni[].nume` | `string` | da | nevid |
| `oameni[].initiale` | `string` | da | — |
| `oameni[].activ` | `boolean` | da | — |
| `oameni[].esteEu` | `boolean` | da | — |
| `oameni[].agent` | `boolean` | nu | — |
| `oameni[].rol` | `string` | nu | una din: `admin`, `bucatar`, `casier`, `gestiune`, `patron`, `marketing`, `angajat`, `finante` |
| `oameni[].ultimaActivitate` | `string` | nu | moment ISO 8601 |
| `oameni[].email` | `string` | nu | — |
| `oameni[].pagina` | `string` | nu | — |
| `oameni[].sesiuneDin` | `string` | nu | moment ISO 8601 |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "prezentaLa": "2026-11-12T09:30:00.000Z",
  "oameni": [
    {
      "contId": "3f0c2a8e-6b1d-4c3a-9e2f-1a2b3c4d5e6f",
      "nume": "text",
      "initiale": "text",
      "activ": true,
      "esteEu": true,
      "agent": true,
      "rol": "admin",
      "ultimaActivitate": "2026-11-12T09:30:00.000Z",
      "email": "text",
      "pagina": "text",
      "sesiuneDin": "2026-11-12T09:30:00.000Z"
    }
  ]
}
```

### POST /v1/prezenta/bataie

Acces: `sesiune`

**Sunt aici**

Bătaia de prezență a contului din sesiune; cel mult o scriere pe interval.

Corpul cererii (JSON):

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `pagina` | `string` | da | — |

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `scrisa` | `boolean` | da | — |
| `bataieLa` | `string` | da | moment ISO 8601 |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "scrisa": true,
  "bataieLa": "2026-11-12T09:30:00.000Z"
}
```

## Modulul `profil`

### GET /v1/profil/bun-venit

Acces: `sesiune`

**Profilul de bun venit**

Profilul de bun venit al omului logat (inclusiv ciorna); 403 fără profil în firmă.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `firma` | `string` | da | — |
| `numeComplet` | `string` | da | — |
| `functie` | `string` | da | — |
| `program` | `object[]` | da | cel mult 7 elemente |
| `program[].zi` | `integer` | da | între 1 și 7 |
| `program[].de` | `string` | da | — |
| `program[].pana` | `string` | da | — |
| `pozaUrl` | `string` | da | — |
| `terminat` | `boolean` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "firma": "text",
  "numeComplet": "text",
  "functie": "text",
  "program": [
    {
      "zi": 1,
      "de": "text",
      "pana": "text"
    }
  ],
  "pozaUrl": "text",
  "terminat": true
}
```

### PATCH /v1/profil/bun-venit

Acces: `sesiune`

**Salvează ciorna de bun venit**

Scrie ciorna profilului de bun venit, fără să o finalizeze; 204.

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

### PUT /v1/profil/bun-venit

Acces: `sesiune`

**Finalizează profilul de bun venit**

Scrie profilul de bun venit complet și îl marchează terminat; 204, 400 date nevalide.

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

### DELETE /v1/profil/poza

Acces: `sesiune`

**Scoate poza de profil**

Scoate poza proprie; fișierul se mută în arhivă, nu se șterge. 204.

```bash
curl -X DELETE https://app.ilustromania.com/nucleu/v1/profil/poza \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/profil/poza

Acces: `sesiune`

**Poza mea de profil**

Poza proprie, aflată din rândul contului; 404 fără poză.

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

### PUT /v1/profil/poza

Acces: `sesiune`

**Încarcă poza de profil**

Primește poza proprie (multipart, cu plafon de mărime) și o pune pe cont.

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

### GET /v1/profil/poza/{contId}

Acces: `sesiune`

**Poza unui coleg**

Poza unui om din aceeași firmă activă (panoul „cine are acces”); nimic altceva din profil. 404 fără poză.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `contId` | `string` | valoarea din cale |

```bash
curl https://app.ilustromania.com/nucleu/v1/profil/poza/{contId} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

## Modulul `preferinte`

### GET /v1/preferinte/accent

Acces: `sesiune`

**Accentul meu**

Culoarea de accent aleasă din Setări, pe cont și firma activă, sau `null`.

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

### PUT /v1/preferinte/accent

Acces: `sesiune`

**Salvează accentul**

Scrie culoarea de accent; 400 accent necunoscut.

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

### PUT /v1/preferinte/asistent_prezentat

Acces: `sesiune`

**Asistentul a fost prezentat**

Notează că prezentarea asistentului nu se mai arată pe firma activă.

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

### GET /v1/preferinte/coloane

Acces: `sesiune`

**Coloanele alese într-un tabel**

Coloanele alese de om pentru tabelul `?tabel=`, sau `null` pentru cele implicite.

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

### PUT /v1/preferinte/coloane

Acces: `sesiune`

**Salvează coloanele unui tabel**

Scrie coloanele alese pentru un tabel; `null` revine la implicit.

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

### GET /v1/preferinte/design-system.de-sters

Acces: `sesiune`

**Elementele marcate de șters în design system**

Lista elementelor din design system marcate de om pentru ștergere.

```bash
curl https://app.ilustromania.com/nucleu/v1/preferinte/design-system.de-sters \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### PUT /v1/preferinte/design-system.de-sters

Acces: `sesiune`

**Salvează elementele de șters**

Înlocuiește lista elementelor marcate de șters (cel mult 200, fără dubluri).

```bash
curl -X PUT https://app.ilustromania.com/nucleu/v1/preferinte/design-system.de-sters \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/preferinte/notificari_citite

Acces: `sesiune`

**Notificările marcate citite**

Id-urile notificărilor marcate citite de om.

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

### PUT /v1/preferinte/notificari_citite

Acces: `sesiune`

**Salvează notificările citite**

Înlocuiește lista notificărilor citite (cel mult 200, fără dubluri; 400 peste plafon).

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

### GET /v1/preferinte/tema

Acces: `sesiune`

**Tema mea**

Tema aleasă (luminoasă/întunecată) pe cont și firma activă, sau `null`.

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

### PUT /v1/preferinte/tema

Acces: `sesiune`

**Salvează tema**

Scrie tema pe cont și firma activă; 400 temă necunoscută.

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

### GET /v1/preferinte/vedere

Acces: `sesiune`

**Vederea aleasă pe o pagină**

Vederea `galerie` sau `lista` aleasă pentru pagina `?pagina=`, sau `null`.

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

### PUT /v1/preferinte/vedere

Acces: `sesiune`

**Salvează vederea paginii**

Scrie vederea aleasă pentru o pagină.

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

## Modulul `preferinte-cont`

### GET /v1/eu/aranjament/dashboard

Acces: `sesiune`

**Aranjamentul dashboardului meu**

Ordinea cardurilor din dashboard pentru omul logat; fără salvare, lista goală.

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

### PUT /v1/eu/aranjament/dashboard

Acces: `sesiune`

**Salvează aranjamentul dashboardului**

Scrie ordinea cardurilor din dashboard; 400 aranjament invalid, 403 pe contul fără preferințe.

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

### GET /v1/eu/preferinte

Acces: `sesiune`

**Preferințele contului meu**

Preferințele contului logat, sau valorile implicite.

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

### PUT /v1/eu/preferinte

Acces: `sesiune`

**Salvează preferințele contului**

Scrie preferințele contului și le întoarce recitite din bază; 403 pe contul fără preferințe.

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

## Modulul `flaguri`

### GET /v1/flaguri

Acces: `sesiune`

**Flagurile active**

Funcțiile pornite pentru omul din sesiune.

Răspuns 200:

| Câmp | Tip | Obligatoriu | Detalii |
| --- | --- | --- | --- |
| `flaguri` | `object` | da | — |

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

Răspuns 200 (exemplu din schemă):

```json
{
  "flaguri": {}
}
```
