Перейти к содержимому

GET /api/profile/tokens — Список API-токенов

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPGET /api/profile/tokens
Auth
Scope токенаread
PG-функцииapi.list_api_tokens
Таблицыapi_token
SRMSRM-337
RP (права)RP-164
Файл роутаserver/routes/profile.js
Статусdone

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

аргументов не обнаружено (подтвердить вручную по server/routes/profile.js)

Коды ответов/ошибок (из хендлера): 500 (+ 200) — уточнить причины вручную

Для человека

Как открыть: кнопка со своим именем в правом верхнем углу → экран «Профиль» → раздел «Токены API» внизу страницы — там перечислены ваши токены.

Показывает список API-токенов, которые вы выпустили для агентов. По каждому видно: название, префикс (tak_… — начало секрета), scope (только чтение или чтение с записью), когда токен использовали в последний раз и не отозван ли он. Сам секрет в списке не показывается — его выдают единственный раз при создании; если потеряли, токен можно только отозвать и выпустить новый.

Кто видит. Свои токены видит каждый вошедший пользователь (RP-164, permission = self) — сотрудник, менеджер спейса, наблюдатель, администратор организации. Список всегда только ваш: чужие токены недоступны.

Для агента

Управление токенами — операция под cookie-сессией, не под токеном. Весь путь /api/profile/tokens закрыт для Bearer-токенов на уровне agent-gate (server/auth/agentGate.js) на любом scope — это анти-эскалационный запрет: токен-актор не должен заводить или перечислять другие токены. Поэтому через Authorization: Bearer tak_... этот метод вернёт 403; вызывать его нужно из браузера с cookie-сессией.

Ответ — массив метаданных без секрета:

[
{
"id": "aaaa1111-...",
"name": "CI-бот",
"prefix": "tak_",
"scope": "read_write",
"last_used_at": "2026-06-20T11:30:00Z",
"expires_at": null,
"revoked_at": null
}
]

Чтобы узнать, от чьего имени работает текущий токен, агент использует whoami, а не этот список.

Связанные