API: учасники команди, ролі та токени доступу
Ваша команда, це люди, які працюють у робочому просторі. Кожен учасник має роль (вбудовану або власну), яка визначає, що він може робити, над якими авторками працює, а також особистий ключ доступу для входу. Токени доступу, це ключі для API та підключення MCP. Для всіх цих кінцевих точок потрібен токен owner: у прикладах $LANACHAT_TOKEN містить його.
Кінцеві точки #
| Method | Path | Description | Permission | Status |
|---|---|---|---|---|
| GET | /members | Список учасників (status=active,disabled, role_id=, q=) | owner | Planned |
| POST | /members | Додати учасника з роллю та авторками | owner | Planned |
| GET | /members/{id} | Один учасник, остання активність і переваги | owner | Planned |
| PATCH | /members/{id} | Змінити роль, авторок, переваги; відключити або увімкнути | owner | Planned |
| DELETE | /members/{id} | Видалити учасника (його минулі повідомлення збережуть ім’я) | owner | Planned |
| POST | /members/{id}/access-key | Створити особистий ключ доступу (показується один раз) | owner | Planned |
| POST | /members/{id}/invitation | Відправити ключ доступу учаснику на e-mail | owner | Planned |
| DELETE | /members/{id}/access-key | Відкликати ключ учасника: він виходить із системи | owner | Planned |
| GET | /roles | Вбудовані та власні ролі з таблицею дозволів | owner | Planned |
| POST | /roles | Створити власну роль | owner | Planned |
| PATCH | /roles/{id} | Перейменувати роль або змінити її дозволи | owner | Planned |
| DELETE | /roles/{id} | Видалити власну роль, якою ніхто не користується | owner | Planned |
| GET | /tokens | API та MCP токени доступу (include_revoked=true) | owner | Planned |
| POST | /tokens | Створити токен з його дозволами (показується один раз) | owner | Planned |
| PATCH | /tokens/{id} | Перейменувати токен або змінити його дозволи | owner | Planned |
| POST | /tokens/{id}/rotate | Замінити секрет; старий одразу перестає діяти | owner | Planned |
| DELETE | /tokens/{id} | Відкликати токен | owner | Planned |
Об’єкт учасника #
{
"id": "mem_4",
"name": "Ana",
"email": "[email protected]",
"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"
}
| Поле | Тип | Опис |
|---|---|---|
id | string | Починається з mem_ |
name | string | Ім’я в Console |
email | string або null | Куди надсилається запрошення |
status | string | active або disabled |
role_id | string | Роль учасника |
creator_ids | масив рядків | Авторки, над якими він працює |
overrides | об’єкт | Дозволи, встановлені лише для цього учасника, поверх ролі |
access_key | об’єкт | Чи є у нього active особистий ключ доступу і з якого часу; сам ключ не показується |
last_active_at | string або null | Остання активність |
Відключений учасник не може увійти, але зберігає історію, роль і авторок.
Об’єкт ролі #
{
"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
}
| Поле | Тип | Опис |
|---|---|---|
id | string | Роль |
name | string | Назва |
builtin | boolean | true для Owner, Manager і Chatter |
permissions | об’єкт | Ключ для кожного рядка таблиці дозволів, true або false |
members | integer | Кількість учасників з цією роллю |
Ключі дозволів відповідають рядкам таблиці дозволів у Team Management › Roles, згруповані за областями: Dashboard, Creators, AI Brain, Conversations, Vault, Scripts, Playground, Telegram та Employees. Owner завжди має всі дозволи і не може редагуватися. Manager і Chatter, вбудовані ролі: ви можете змінювати їхні дозволи, але не перейменовувати чи видаляти.
Об’єкт токена доступу #
{
"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"
}
| Поле | Тип | Опис |
|---|---|---|
id | string | Починається з tok_ |
name | string | До 100 символів, обов’язкове |
permissions | масив рядків | Дозволи, які має токен |
status | string | Активний, прострочений або відкликаний |
created_at, expires_at | string | ISO 8601, UTC |
token | string | Секрет, тільки у відповіді на створення або ротацію |
Учасники #
Список учасників #
GET /members · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
status | string | Ні | active або disabled; обидва через кому |
role_id | string | Ні | Тільки учасники з цією роллю |
q | string | Ні | Частина імені |
limit, cursor | number, string | Ні | Пагінація |
curl "https://api.lanachat.ai/v1/members?status=active&role_id=role_chatter" \
-H "Authorization: Bearer $LANACHAT_TOKEN"
{
"data": [
{ "id": "mem_4", "name": "Ana", "email": "[email protected]", "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
}
Додати учасника #
POST /members · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Так | Ім’я |
email | string | Ні | Потрібен для відправлення запрошення |
role_id | string | Так | Вбудована або власна роль |
creator_ids | масив рядків | Ні | Авторки, над якими працює |
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": "[email protected]", "role_id": "role_chatter", "creator_ids": ["cr_lea"]}'
У відповіді новий учасник (201), активний, без ключа доступу.
Отримати учасника #
GET /members/{id} · owner
curl https://api.lanachat.ai/v1/members/mem_4 \
-H "Authorization: Bearer $LANACHAT_TOKEN"
У відповіді об’єкт учасника. Невідомий id дає 404.
Оновити учасника #
PATCH /members/{id} · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
role_id | string | Ні | Нова роль |
creator_ids | масив рядків | Ні | Замінює список авторок |
overrides | об’єкт | Ні | Дозволи лише для цього учасника |
status | string | Ні | active або disabled |
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}}'
У відповіді оновлений учасник. status: "disabled" одразу блокує доступ; роль і авторки зберігаються.
Видалити учасника #
DELETE /members/{id} · owner
curl -X DELETE https://api.lanachat.ai/v1/members/mem_4 \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Учасника видалено, його авторки відв’язано. Минулі повідомлення зберігають ім’я. Щоб зберегти учасника для майбутнього, краще відключіть його.
Особисті ключі доступу #
Учасники команди не використовують пароль: вони входять за допомогою особистого ключа доступу. Ключі починаються з emp_.
Створити ключ доступу #
POST /members/{id}/access-key · owner
curl -X POST https://api.lanachat.ai/v1/members/mem_4/access-key \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
{ "member_id": "mem_4", "sign_in_url": "https://app.lanachat.ai/login/?mode=employee", "access_key": "emp_6Yq2…", "shown_once": true }
Надішліть і адресу входу, і ключ людині через надійний канал. Відключений учасник відповідає 409: спочатку увімкніть його.
Відправити ключ доступу на e-mail #
POST /members/{id}/invitation · owner
curl -X POST https://api.lanachat.ai/v1/members/mem_4/invitation \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
Ключ надсилається на адресу з картки учасника. Якщо e-mail відсутній або учасник відключений, відповідь 409.
Відкликати ключ доступу #
DELETE /members/{id}/access-key · owner
curl -X DELETE https://api.lanachat.ai/v1/members/mem_4/access-key \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Ключ одразу перестає діяти, учасник виходить із системи. Щоб повернути доступ, створіть новий ключ.
Ролі #
Список ролей #
GET /roles · owner
curl https://api.lanachat.ai/v1/roles \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Список об’єктів ролей: Owner, Manager, Chatter і ваші власні ролі.
Створити власну роль #
POST /roles · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Так | Назва ролі |
permissions | об’єкт | Ні | Рядки, які увімкнути; інші вимкнені |
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}}'
У відповіді нова роль (201) з builtin: false.
Оновити роль #
PATCH /roles/{id} · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Ні | Нова назва (тільки власні ролі) |
permissions | об’єкт | Ні | Рядки для зміни; інші зберігаються |
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}}'
Зміни застосовуються одразу для всіх учасників з цією роллю, крім їхніх власних переваг. Редагування Owner або перейменування Manager чи Chatter дає відповідь 409.
Видалити власну роль #
DELETE /roles/{id} · owner
curl -X DELETE https://api.lanachat.ai/v1/roles/role_night \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Видалення ролі, якою користуються учасники, дає 409: спочатку призначте їм іншу роль. Вбудовані ролі видаляти не можна.
Токени доступу #
Список токенів #
GET /tokens · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
include_revoked | boolean | Ні | true також показує відкликані токени |
curl "https://api.lanachat.ai/v1/tokens?include_revoked=true" \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Список об’єктів токенів доступу без їх секретів.
Створити токен #
POST /tokens · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Так | Для чого він, до 100 символів |
permissions | масив рядків | Так | Дозволи, які отримує |
expires_in_days | integer | Ні | Коли припиняє діяти |
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}'
{ "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 є лише у цій відповіді. Токен ніколи не може мати більше прав, ніж токен owner, який його створив. Відсутність назви дає 400.
Оновити токен #
PATCH /tokens/{id} · owner
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Ні | Нова назва |
permissions | масив рядків | Ні | Замінює дозволи |
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"]}'
У відповіді токен без секрету. Вимкнення can_engine також видаляє дозволи публікації, Advanced AI та звітів експериментів. Відкликаний токен дає 409.
Ротація токена #
POST /tokens/{id}/rotate · owner
curl -X POST https://api.lanachat.ai/v1/tokens/tok_31/rotate \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
У відповіді токен з новим секретом token, показаним один раз. Старий секрет одразу перестає діяти, тому оновіть свій скрипт одразу після. Відкликаний токен дає 409.
Відкликати токен #
DELETE /tokens/{id} · owner
curl -X DELETE https://api.lanachat.ai/v1/tokens/tok_31 \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Токен одразу перестає діяти. Якщо токен уже відкликаний, відповідь 409.
Увага Токен працює як пароль. Відкликайте його, щойно перестаєте ним користуватися або підозрюєте витік.