Введение

Аутентификация

Каждый запрос к Agent авторизуется JWT-токеном (RS256), выданным Aist Backend. Токен передаётся в заголовке Authorization.

Заголовок авторизации

Все клиентские эндпоинты (кроме внутренних webhook/tool-колбэков) требуют заголовок:

Authorization: Bearer <jwt>
Accept: application/json

Токен подписан алгоритмом RS256. Agent проверяет подпись публичным ключом Aist Backend (ключ кэшируется и периодически обновляется), а также срок действия. Приватный ключ и секреты наружу не передаются.

Где взять токен

JWT выдаёт Aist Backend — центральный бэкенд экосистемы. Токен привязан к пользователю и содержит Sanctum-токен, которым Agent от вашего имени обращается к Aist Backend (создание чатов, ходов, сохранение результата). Пользователь выпускает токен сам — в настройках аккаунта Aist Ai, раздел «API-ключи»; либо его выдаёт администратор платформы. По шагам и куда писать компании — Как получить доступ.

Проверить токен

Самый простой способ — открыть панель управления и вставить токен: там видны срок действия, лимиты, доступные ассистенты и задачи. Из кода то же самое отдаёт:

GET /api/me
{
  "user_id": 1,
  "token": { "expires_at": "2027-01-01T00:00:00+00:00", "abilities": ["agent-api"] },
  "limits": { "max_active_tasks": 5, "max_execution_time": 86400 },
  "tasks": { "active": 2, "total": 40, "by_status": { … }, "last_created_at": "…" },
  "storage_url": "https://…"
}

Доступные ассистенты

Какие assistant_id и llm_model_id доступны токену — на странице Ассистенты (GET /api/assistants).

Поля токена (payload)

ПолеНазначение
subID пользователя. Сохраняется в задаче, по нему считается лимит активных задач.
sanctumBearer-токен для запросов Agent → Aist Backend.
expСрок действия. Просроченный токен отклоняется (401).
abilitiesПрава токена, пробрасываются в контекст запроса.

Отзыв токенов

Если Aist Backend отвечает 403 на запрос от имени пользователя, Agent заносит соответствующий JWT в чёрный список — все последующие запросы с этим токеном получат 401. Просроченные записи чёрного списка удаляются автоматически.

Требования к запросам Agent → Aist Backend
Внутри Agent все запросы к Aist Backend несут заголовки Referer и Accept: application/json — без них Aist Backend возвращает 404. Для вас как клиента это прозрачно, но объясняет, почему ошибка «ассистент недоступен» иногда маскирует проблему конфигурации.