LanaChat

API: учасники команди, ролі та токени доступу

Читання 6 хвОновлено Markdown

Ваша команда, це люди, які працюють у робочому просторі. Кожен учасник має роль (вбудовану або власну), яка визначає, що він може робити, над якими авторками працює, а також особистий ключ доступу для входу. Токени доступу, це ключі для API та підключення MCP. Для всіх цих кінцевих точок потрібен токен owner: у прикладах $LANACHAT_TOKEN містить його.

Кінцеві точки #

MethodPathDescriptionPermissionStatus
GET/membersСписок учасників (status=active,disabled, role_id=, q=)ownerPlanned
POST/membersДодати учасника з роллю та авторкамиownerPlanned
GET/members/{id}Один учасник, остання активність і перевагиownerPlanned
PATCH/members/{id}Змінити роль, авторок, переваги; відключити або увімкнутиownerPlanned
DELETE/members/{id}Видалити учасника (його минулі повідомлення збережуть ім’я)ownerPlanned
POST/members/{id}/access-keyСтворити особистий ключ доступу (показується один раз)ownerPlanned
POST/members/{id}/invitationВідправити ключ доступу учаснику на e-mailownerPlanned
DELETE/members/{id}/access-keyВідкликати ключ учасника: він виходить із системиownerPlanned
GET/rolesВбудовані та власні ролі з таблицею дозволівownerPlanned
POST/rolesСтворити власну рольownerPlanned
PATCH/roles/{id}Перейменувати роль або змінити її дозволиownerPlanned
DELETE/roles/{id}Видалити власну роль, якою ніхто не користуєтьсяownerPlanned
GET/tokensAPI та MCP токени доступу (include_revoked=true)ownerPlanned
POST/tokensСтворити токен з його дозволами (показується один раз)ownerPlanned
PATCH/tokens/{id}Перейменувати токен або змінити його дозволиownerPlanned
POST/tokens/{id}/rotateЗамінити секрет; старий одразу перестає діятиownerPlanned
DELETE/tokens/{id}Відкликати токенownerPlanned

Об’єкт учасника #

{
  "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"
}
ПолеТипОпис
idstringПочинається з mem_
namestringІм’я в Console
emailstring або nullКуди надсилається запрошення
statusstringactive або disabled
role_idstringРоль учасника
creator_idsмасив рядківАвторки, над якими він працює
overridesоб’єктДозволи, встановлені лише для цього учасника, поверх ролі
access_keyоб’єктЧи є у нього active особистий ключ доступу і з якого часу; сам ключ не показується
last_active_atstring або 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
}
ПолеТипОпис
idstringРоль
namestringНазва
builtinbooleantrue для Owner, Manager і Chatter
permissionsоб’єктКлюч для кожного рядка таблиці дозволів, true або false
membersintegerКількість учасників з цією роллю

Ключі дозволів відповідають рядкам таблиці дозволів у 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"
}
ПолеТипОпис
idstringПочинається з tok_
namestringДо 100 символів, обов’язкове
permissionsмасив рядківДозволи, які має токен
statusstringАктивний, прострочений або відкликаний
created_at, expires_atstringISO 8601, UTC
tokenstringСекрет, тільки у відповіді на створення або ротацію

Учасники #

Список учасників #

GET /members · owner

ПараметрТипОбов’язковийОпис
statusstringНіactive або disabled; обидва через кому
role_idstringНіТільки учасники з цією роллю
qstringНіЧастина імені
limit, cursornumber, 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

ПараметрТипОбов’язковийОпис
namestringТакІм’я
emailstringНіПотрібен для відправлення запрошення
role_idstringТакВбудована або власна роль
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_idstringНіНова роль
creator_idsмасив рядківНіЗамінює список авторок
overridesоб’єктНіДозволи лише для цього учасника
statusstringНі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

ПараметрТипОбов’язковийОпис
namestringТакНазва ролі
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

ПараметрТипОбов’язковийОпис
namestringНіНова назва (тільки власні ролі)
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_revokedbooleanНіtrue також показує відкликані токени
curl "https://api.lanachat.ai/v1/tokens?include_revoked=true" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Список об’єктів токенів доступу без їх секретів.

Створити токен #

POST /tokens · owner

ПараметрТипОбов’язковийОпис
namestringТакДля чого він, до 100 символів
permissionsмасив рядківТакДозволи, які отримує
expires_in_daysintegerНіКоли припиняє діяти
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

ПараметрТипОбов’язковийОпис
namestringНіНова назва
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.

Увага Токен працює як пароль. Відкликайте його, щойно перестаєте ним користуватися або підозрюєте витік.

Останні новини про Lana в Telegram

Нові релізи та запрошення в бету, першими в каналі.