# API: membri ai echipei, roluri și tokenuri de acces

_API · 6 min de citit · Actualizat 2026-10-22 · https://lanachat.ai/guides/ro/api-team/_

Echipa ta (**team**) este formată din persoanele care lucrează în spațiul de lucru. Fiecare **membru** are un **rol** (predefinit sau personalizat) care stabilește ce poate face, creatorii pe care îi gestionează și o cheie personală de acces pentru autentificare. **Tokenurile de acces** sunt cheile API-ului și ale conexiunii MCP. Toate aceste endpoint-uri necesită un token de **owner**: în exemple, `$LANACHAT_TOKEN` conține unul.

## Endpoint-uri

| Method | Path | Description | Permission | Status |
|---|---|---|---|---|
| GET | `/members` | Listează membrii (`status=active,disabled`, `role_id=`, `q=`) | `owner` | Planned |
| POST | `/members` | Adaugă un membru cu rol și creatoare | `owner` | Planned |
| GET | `/members/{id}` | Un membru, ultima activitate și suprascrieri | `owner` | Planned |
| PATCH | `/members/{id}` | Schimbă rolul, creatoarele, suprascrierile; dezactivează sau activează | `owner` | Planned |
| DELETE | `/members/{id}` | Șterge un membru (mesajele anterioare păstrează numele) | `owner` | Planned |
| POST | `/members/{id}/access-key` | Creează o cheie personală de acces (afișată o singură dată) | `owner` | Planned |
| POST | `/members/{id}/invitation` | Trimite pe e-mail o cheie de acces membrului | `owner` | Planned |
| DELETE | `/members/{id}/access-key` | Revocă cheia membrului: acesta este deconectat | `owner` | Planned |
| GET | `/roles` | Roluri predefinite și personalizate cu tabelul de permisiuni | `owner` | Planned |
| POST | `/roles` | Creează un rol personalizat | `owner` | Planned |
| PATCH | `/roles/{id}` | Redenumește un rol sau schimbă permisiunile | `owner` | Planned |
| DELETE | `/roles/{id}` | Șterge un rol personalizat neatribuit niciunui membru | `owner` | Planned |
| GET | `/tokens` | Tokenuri de acces API și MCP (`include_revoked=true`) | `owner` | Planned |
| POST | `/tokens` | Creează un token cu permisiunile sale (afișat o singură dată) | `owner` | Planned |
| PATCH | `/tokens/{id}` | Redenumește un token sau schimbă permisiunile | `owner` | Planned |
| POST | `/tokens/{id}/rotate` | Înlocuiește secretul; cel vechi se oprește imediat | `owner` | Planned |
| DELETE | `/tokens/{id}` | Revocă un token | `owner` | Planned |

## Obiectul membru

```json
{
  "id": "mem_4",
  "name": "Ana",
  "email": "ana@mia-agency.com",
  "status": "active",
  "role_id": "role_chatter",
  "creator_ids": ["cr_lea", "cr_mia"],
  "overrides": { "billing.read": false, "fans.export": true },
  "access_key": { "active": true, "created_at": "2026-09-20T09:00:00Z" },
  "last_active_at": "2026-10-06T13:40:00Z"
}
```

| Field | Type | Description |
|---|---|---|
| `id` | string | Începe cu `mem_` |
| `name` | string | Numele lor în Console |
| `email` | string sau null | Unde se trimite invitația |
| `status` | string | `active` sau `disabled` |
| `role_id` | string | Rolul lor |
| `creator_ids` | array de stringuri | Creatoarele pe care le gestionează |
| `overrides` | obiect | Permisiuni setate doar pentru acest membru, peste rol |
| `access_key` | obiect | Dacă au o cheie personală de acces `active` și de când; niciodată cheia în sine |
| `last_active_at` | string sau null | Ultima lor activitate |

Un membru dezactivat nu se poate autentifica și își păstrează istoricul, rolul și creatoarele.

## Obiectul rol

```json
{
  "id": "role_chatter",
  "name": "Chatter",
  "builtin": true,
  "permissions": { "live.read": true, "live.reply": true, "fans.read": true, "fans.export": false, "billing.read": false },
  "members": 6
}
```

| Field | Type | Description |
|---|---|---|
| `id` | string | Rolul |
| `name` | string | Numele său |
| `builtin` | boolean | `true` pentru Owner, Manager și Chatter |
| `permissions` | obiect | O cheie pentru fiecare rând din tabelul de permisiuni, `true` sau `false` |
| `members` | integer | Câți membri îl au |

Cheile de permisiuni urmează rândurile din tabelul de permisiuni din **Team Management › Roles**, grupate pe domenii: Dashboard, Creators, AI Brain, Conversations, Vault, Scripts, Playground, Telegram și Employees. **Owner** are întotdeauna toate permisiunile și nu poate fi editat. **Manager** și **Chatter** sunt predefinite: poți schimba permisiunile lor, dar nu le poți redenumi sau șterge.

## Obiectul token de acces

```json
{
  "id": "tok_31",
  "name": "Reporting script",
  "permissions": ["can_fan_read", "can_sales_read"],
  "status": "active",
  "created_at": "2026-10-06T15:10:00Z",
  "expires_at": "2027-01-04T15:10:00Z"
}
```

| Field | Type | Description |
|---|---|---|
| `id` | string | Începe cu `tok_` |
| `name` | string | Până la 100 de caractere, obligatoriu |
| `permissions` | array de stringuri | Permisiunile pe care le are ([permissions](https://lanachat.ai/guides/ro/api-overview/)) |
| `status` | string | Activ, expirat sau revocat |
| `created_at`, `expires_at` | string | ISO 8601, UTC |
| `token` | string | Secretul, doar în răspunsul care îl creează sau rotește |

## Membri

### Listează membrii

`GET /members` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `status` | string | Nu | `active` sau `disabled`; ambele separate prin virgulă |
| `role_id` | string | Nu | Doar membrii cu acest rol |
| `q` | string | Nu | Parte dintr-un nume |
| `limit`, `cursor` | number, string | Nu | [Paginare](https://lanachat.ai/guides/ro/api-overview/) |

```bash
curl "https://api.lanachat.ai/v1/members?status=active&role_id=role_chatter" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

```json
{
  "data": [
    { "id": "mem_4", "name": "Ana", "email": "ana@mia-agency.com", "status": "active", "role_id": "role_chatter", "creator_ids": ["cr_lea", "cr_mia"], "overrides": {}, "access_key": { "active": true, "created_at": "2026-09-20T09:00:00Z" }, "last_active_at": "2026-10-06T13:40:00Z" }
  ],
  "next_cursor": null
}
```

### Adaugă un membru

`POST /members` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | Da | Numele lor |
| `email` | string | Nu | Necesare pentru trimiterea invitației |
| `role_id` | string | Da | Un rol predefinit sau personalizat |
| `creator_ids` | array de stringuri | Nu | Creatoarele pe care le gestionează |

```bash
curl -X POST https://api.lanachat.ai/v1/members \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name": "Ana", "email": "ana@mia-agency.com", "role_id": "role_chatter", "creator_ids": ["cr_lea"]}'
```

Răspunsul este noul membru (`201`), activ, fără o cheie de acces încă.

### Obține un membru

`GET /members/{id}` · `owner`

```bash
curl https://api.lanachat.ai/v1/members/mem_4 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Răspunsul este obiectul membru. Un id necunoscut răspunde cu `404`.

### Actualizează un membru

`PATCH /members/{id}` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `role_id` | string | Nu | Rol nou |
| `creator_ids` | array de stringuri | Nu | Înlocuiește lista lor de creatoare |
| `overrides` | obiect | Nu | Permisiuni doar pentru acest membru |
| `status` | string | Nu | `active` sau `disabled` |

```bash
curl -X PATCH https://api.lanachat.ai/v1/members/mem_4 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"creator_ids": ["cr_lea", "cr_mia"], "overrides": {"fans.export": true}}'
```

Răspunsul este membrul actualizat. `status: "disabled"` taie accesul imediat; rolul și creatoarele sunt păstrate.

### Șterge un membru

`DELETE /members/{id}` · `owner`

```bash
curl -X DELETE https://api.lanachat.ai/v1/members/mem_4 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Membrul este eliminat și creatoarele lor sunt dezalocate. Mesajele lor anterioare păstrează numele. Pentru a-i păstra pentru mai târziu, dezactivează-i în schimb.

## Chei personale de acces

Membrii echipei nu folosesc parolă: se autentifică cu o cheie personală de acces. Cheile încep cu `emp_`.

### Creează o cheie de acces

`POST /members/{id}/access-key` · `owner`

```bash
curl -X POST https://api.lanachat.ai/v1/members/mem_4/access-key \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"
```

```json
{ "member_id": "mem_4", "sign_in_url": "https://app.lanachat.ai/login/?mode=employee", "access_key": "emp_6Yq2…", "shown_once": true }
```

Trimite atât adresa de autentificare, cât și cheia persoanei printr-un canal de încredere. Un membru dezactivat răspunde cu `409`: activează-l mai întâi.

### Trimite pe e-mail o cheie de acces

`POST /members/{id}/invitation` · `owner`

```bash
curl -X POST https://api.lanachat.ai/v1/members/mem_4/invitation \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"
```

Cheia este trimisă pe adresa de e-mail din fișa lor. Un membru fără adresă de e-mail sau dezactivat răspunde cu `409`.

### Revocă o cheie de acces

`DELETE /members/{id}/access-key` · `owner`

```bash
curl -X DELETE https://api.lanachat.ai/v1/members/mem_4/access-key \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Cheia se oprește imediat și membrul este deconectat. Creează o cheie nouă pentru a-l lăsa să revină.

## Roluri

### Listează rolurile

`GET /roles` · `owner`

```bash
curl https://api.lanachat.ai/v1/roles \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

O listă de obiecte rol: Owner, Manager, Chatter și rolurile tale personalizate.

### Creează un rol personalizat

`POST /roles` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | Da | Numele rolului |
| `permissions` | obiect | Nu | Rândurile activate; celelalte sunt dezactivate |

```bash
curl -X POST https://api.lanachat.ai/v1/roles \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name": "Night chatter", "permissions": {"live.read": true, "live.reply": true, "fans.read": true}}'
```

Răspunsul este noul rol (`201`) cu `builtin: false`.

### Actualizează un rol

`PATCH /roles/{id}` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | Nu | Nume nou (doar roluri personalizate) |
| `permissions` | obiect | Nu | Rândurile de schimbat; celelalte se păstrează |

```bash
curl -X PATCH https://api.lanachat.ai/v1/roles/role_chatter \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"permissions": {"fans.export": false}}'
```

Schimbarea se aplică imediat tuturor membrilor cu acel rol, exceptând suprascrierile lor personale. Editarea Owner sau redenumirea Manager sau Chatter răspunde cu `409`.

### Șterge un rol personalizat

`DELETE /roles/{id}` · `owner`

```bash
curl -X DELETE https://api.lanachat.ai/v1/roles/role_night \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Ștergerea unui rol pe care îl au încă membri răspunde cu `409`: atribuie-le mai întâi alt rol. Rolurile predefinite nu pot fi șterse.

## Tokenuri de acces

### Listează tokenurile

`GET /tokens` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `include_revoked` | boolean | Nu | `true` listează și tokenurile revocate |

```bash
curl "https://api.lanachat.ai/v1/tokens?include_revoked=true" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

O listă de obiecte token de acces, fără secretul lor.

### Creează un token

`POST /tokens` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | Da | Pentru ce este, până la 100 de caractere |
| `permissions` | array de stringuri | Da | Permisiunile pe care le primește ([permissions](https://lanachat.ai/guides/ro/api-overview/)) |
| `expires_in_days` | integer | Nu | Când expiră |

```bash
curl -X POST https://api.lanachat.ai/v1/tokens \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name": "Reporting script", "permissions": ["can_fan_read", "can_sales_read"], "expires_in_days": 90}'
```

```json
{ "id": "tok_31", "name": "Reporting script", "token": "lc_live_8f2c1d0e9b7a4c6f", "permissions": ["can_fan_read", "can_sales_read"], "expires_at": "2027-01-04T15:10:00Z" }
```

`token` apare doar în acest răspuns. Un token nu poate oferi niciodată mai multe permisiuni decât tokenul owner care l-a creat. Lipsa numelui răspunde cu `400`.

### Actualizează un token

`PATCH /tokens/{id}` · `owner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | Nu | Nume nou |
| `permissions` | array de stringuri | Nu | Înlocuiește permisiunile |

```bash
curl -X PATCH https://api.lanachat.ai/v1/tokens/tok_31 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"permissions": ["can_sales_read"]}'
```

Răspunsul este tokenul, fără secretul său. Dezactivarea `can_engine` elimină și permisiunile de publicare, Advanced AI și raportare experiment. Un token revocat răspunde cu `409`.

### Rotește un token

`POST /tokens/{id}/rotate` · `owner`

```bash
curl -X POST https://api.lanachat.ai/v1/tokens/tok_31/rotate \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"
```

Răspunsul este tokenul cu un nou secret `token`, afișat o singură dată. Secretul vechi se oprește imediat, deci actualizează-ți scriptul imediat după. Un token revocat răspunde cu `409`.

### Revocă un token

`DELETE /tokens/{id}` · `owner`

```bash
curl -X DELETE https://api.lanachat.ai/v1/tokens/tok_31 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Tokenul se oprește imediat. Un token deja revocat răspunde cu `409`.

> Warning: Un token funcționează ca o parolă. Revocă-l imediat ce nu îl mai folosești sau dacă crezi că a fost compromis.

## Articole conexe

- [API LanaChat: început rapid, autentificare și erori](https://lanachat.ai/guides/ro/api-overview/)
- [Gestionarea echipei: angajați și roluri](https://lanachat.ai/guides/ro/team-and-roles/)
- [Roluri personalizate și tabelul de permisiuni](https://lanachat.ai/guides/ro/custom-roles/)
- [Chei de acces personale](https://lanachat.ai/guides/ro/personal-access-keys/)
