LanaChat

API: Teammitglieder, Rollen und Zugriffstoken

6 Min. LesezeitAktualisiert Markdown

Ihr Team sind die Personen, die im Workspace arbeiten. Jedes Mitglied hat eine Rolle (vordefiniert oder benutzerdefiniert), die festlegt, was es tun kann, an welchen Creatorinnen es arbeitet und einen persönlichen Zugriffsschlüssel zum Anmelden. Access tokens sind die Schlüssel für die API und die MCP-Verbindung. Alle diese Endpunkte benötigen ein owner-Token: In den Beispielen hält $LANACHAT_TOKEN eines.

Endpunkte #

MethodePfadBeschreibungBerechtigungStatus
GET/membersMitglieder auflisten (status=active,disabled, role_id=, q=)ownerPlanned
POST/membersEin Mitglied mit Rolle und Creatorinnen hinzufügenownerPlanned
GET/members/{id}Ein Mitglied, letzte Aktivität und ÜberschreibungenownerPlanned
PATCH/members/{id}Rolle, Creatorinnen, Überschreibungen ändern; deaktivieren oder aktivierenownerPlanned
DELETE/members/{id}Ein Mitglied löschen (seine bisherigen Nachrichten behalten den Namen)ownerPlanned
POST/members/{id}/access-keyEinen persönlichen Zugriffsschlüssel erstellen (einmal angezeigt)ownerPlanned
POST/members/{id}/invitationEinen Zugriffsschlüssel per E-Mail an das Mitglied sendenownerPlanned
DELETE/members/{id}/access-keyDen Zugriffsschlüssel des Mitglieds widerrufen: es wird abgemeldetownerPlanned
GET/rolesVordefinierte und benutzerdefinierte Rollen mit BerechtigungstabelleownerPlanned
POST/rolesEine benutzerdefinierte Rolle erstellenownerPlanned
PATCH/roles/{id}Eine Rolle umbenennen oder Berechtigungen ändernownerPlanned
DELETE/roles/{id}Eine benutzerdefinierte Rolle löschen, die kein Mitglied hatownerPlanned
GET/tokensAPI- und MCP-Zugriffstoken (include_revoked=true)ownerPlanned
POST/tokensEin Token mit Berechtigungen erstellen (einmal angezeigt)ownerPlanned
PATCH/tokens/{id}Ein Token umbenennen oder Berechtigungen ändernownerPlanned
POST/tokens/{id}/rotateDas Geheimnis ersetzen; das alte wird sofort ungültigownerPlanned
DELETE/tokens/{id}Ein Token widerrufenownerPlanned

Das Mitglied-Objekt #

{
  "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"
}
FeldTypBeschreibung
idstringBeginnt mit mem_
namestringIhr Name in der Console
emailstring oder nullWohin die Einladung geht
statusstringactive oder disabled
role_idstringIhre Rolle
creator_idsarray von stringsDie Creatorinnen, an denen sie arbeiten
overridesobjectNur für dieses Mitglied gesetzte Berechtigungen, zusätzlich zur Rolle
access_keyobjectOb sie einen active persönlichen Zugriffsschlüssel haben und seit wann; nie der Schlüssel selbst
last_active_atstring oder nullIhre letzte Aktivität

Ein deaktiviertes Mitglied kann sich nicht anmelden und behält seine Historie, Rolle und Creatorinnen.

Das Rollen-Objekt #

{
  "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
}
FeldTypBeschreibung
idstringDie Rolle
namestringIhr Name
builtinbooleantrue für Owner, Manager und Chatter
permissionsobjectEin Schlüssel pro Zeile der Berechtigungstabelle, true oder false
membersintegerWie viele Mitglieder sie haben

Die Berechtigungsschlüssel folgen den Zeilen der Berechtigungstabelle in Team Management › Roles, gruppiert nach Bereich: Dashboard, Creators, AI Brain, Conversations, Vault, Scripts, Playground, Telegram und Employees. Owner hat immer alle Berechtigungen und kann nicht bearbeitet werden. Manager und Chatter sind vordefiniert: Sie können deren Berechtigungen ändern, aber nicht umbenennen oder löschen.

Das Access-Token-Objekt #

{
  "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"
}
FeldTypBeschreibung
idstringBeginnt mit tok_
namestringBis zu 100 Zeichen, erforderlich
permissionsarray von stringsDie Berechtigungen, die es hat
statusstringAktiv, abgelaufen oder widerrufen
created_at, expires_atstringISO 8601, UTC
tokenstringDas Geheimnis, nur in der Antwort, die es erstellt oder rotiert

Mitglieder #

Mitglieder auflisten #

GET /members · owner

ParameterTypErforderlichBeschreibung
statusstringNeinactive oder disabled; beide durch Komma getrennt
role_idstringNeinNur Mitglieder mit dieser Rolle
qstringNeinTeil eines Namens
limit, cursornumber, stringNeinPagination
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
}

Ein Mitglied hinzufügen #

POST /members · owner

ParameterTypErforderlichBeschreibung
namestringJaIhr Name
emailstringNeinWird für die Einladung benötigt
role_idstringJaEine vordefinierte oder benutzerdefinierte Rolle
creator_idsarray von stringsNeinDie Creatorinnen, an denen sie arbeiten
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"]}'

Die Antwort ist das neue Mitglied (201), aktiv, noch ohne Zugriffsschlüssel.

Ein Mitglied abrufen #

GET /members/{id} · owner

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

Die Antwort ist das Mitglied-Objekt. Eine unbekannte ID antwortet mit 404.

Ein Mitglied aktualisieren #

PATCH /members/{id} · owner

ParameterTypErforderlichBeschreibung
role_idstringNeinNeue Rolle
creator_idsarray von stringsNeinErsetzt die Liste der Creatorinnen
overridesobjectNeinNur für dieses Mitglied gültige Berechtigungen
statusstringNeinactive oder 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}}'

Die Antwort ist das aktualisierte Mitglied. status: "disabled" sperrt den Zugang sofort; Rolle und Creatorinnen bleiben erhalten.

Ein Mitglied löschen #

DELETE /members/{id} · owner

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

Das Mitglied wird entfernt und seine Creatorinnen werden freigegeben. Seine bisherigen Nachrichten behalten den Namen. Um sie später zu behalten, deaktivieren Sie das Mitglied stattdessen.

Persönliche Zugriffsschlüssel #

Teammitglieder verwenden kein Passwort: Sie melden sich mit einem persönlichen Zugriffsschlüssel an. Schlüssel beginnen mit emp_.

Einen Zugriffsschlüssel erstellen #

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 }

Senden Sie sowohl die Anmeldeadresse als auch den Schlüssel über einen vertrauenswürdigen Kanal an die Person. Ein deaktiviertes Mitglied antwortet mit 409: Aktivieren Sie es zuerst.

Einen Zugriffsschlüssel per E-Mail senden #

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)"

Der Schlüssel wird an die auf der Karte angegebene E-Mail-Adresse gesendet. Ein Mitglied ohne E-Mail-Adresse oder ein deaktiviertes Mitglied antwortet mit 409.

Einen Zugriffsschlüssel widerrufen #

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

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

Der Schlüssel wird sofort ungültig und das Mitglied wird abgemeldet. Erstellen Sie einen neuen Schlüssel, um den Zugang wieder zu ermöglichen.

Rollen #

Rollen auflisten #

GET /roles · owner

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

Eine Liste von Rollen-Objekten: Owner, Manager, Chatter und Ihre benutzerdefinierten Rollen.

Eine benutzerdefinierte Rolle erstellen #

POST /roles · owner

ParameterTypErforderlichBeschreibung
namestringJaDer Name der Rolle
permissionsobjectNeinDie zu aktivierenden Zeilen; die anderen sind aus
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}}'

Die Antwort ist die neue Rolle (201) mit builtin: false.

Eine Rolle aktualisieren #

PATCH /roles/{id} · owner

ParameterTypErforderlichBeschreibung
namestringNeinNeuer Name (nur benutzerdefinierte Rollen)
permissionsobjectNeinDie zu ändernden Zeilen; die anderen bleiben erhalten
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}}'

Die Änderung gilt sofort für alle Mitglieder mit dieser Rolle, außer deren eigenen Überschreibungen. Das Bearbeiten von Owner oder das Umbenennen von Manager oder Chatter antwortet mit 409.

Eine benutzerdefinierte Rolle löschen #

DELETE /roles/{id} · owner

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

Das Löschen einer Rolle, die noch Mitglieder haben, antwortet mit 409: Weisen Sie ihnen zuerst eine andere Rolle zu. Vordefinierte Rollen können nicht gelöscht werden.

Zugriffstoken #

Token auflisten #

GET /tokens · owner

ParameterTypErforderlichBeschreibung
include_revokedbooleanNeintrue listet auch widerrufene Tokens auf
curl "https://api.lanachat.ai/v1/tokens?include_revoked=true" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Eine Liste von Access-Token-Objekten, ohne deren Geheimnis.

Ein Token erstellen #

POST /tokens · owner

ParameterTypErforderlichBeschreibung
namestringJaWofür es ist, bis zu 100 Zeichen
permissionsarray von stringsJaDie Berechtigungen, die es erhält
expires_in_daysintegerNeinWann es endet
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 ist nur in dieser Antwort enthalten. Ein Token kann niemals mehr Berechtigungen geben als das Owner-Token, das es erstellt hat. Ein fehlender Name antwortet mit 400.

Ein Token aktualisieren #

PATCH /tokens/{id} · owner

ParameterTypErforderlichBeschreibung
namestringNeinNeuer Name
permissionsarray von stringsNeinErsetzt seine Berechtigungen
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"]}'

Die Antwort ist das Token, ohne sein Geheimnis. Das Deaktivieren von can_engine entfernt auch Publishing-, Advanced AI- und Experiment-Report-Berechtigungen. Ein widerrufenes Token antwortet mit 409.

Ein Token rotieren #

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)"

Die Antwort ist das Token mit einem neuen token-Geheimnis, einmal angezeigt. Das alte Geheimnis wird sofort ungültig, aktualisieren Sie Ihr Skript also direkt danach. Ein widerrufenes Token antwortet mit 409.

Ein Token widerrufen #

DELETE /tokens/{id} · owner

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

Das Token wird sofort ungültig. Ein bereits widerrufenes Token antwortet mit 409.

Warnung Ein Token funktioniert wie ein Passwort. Widerrufen Sie es, sobald Sie es nicht mehr verwenden oder vermuten, dass es geleakt wurde.

Die neuesten Nachrichten zu Lana auf Telegram

Neue Releases und Beta-Einladungen, zuerst im Kanal.