Справочник API

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

Схемы заголовков для доступа к API от имени тенанта, конечного пользователя и в режиме прокси.

Типы учетных данных

СхемаЗаголовкиОт чьего имени
API-ключ тенантаX-API-Key: tk_… (либо Authorization: Bearer tk_…)Ваш тенант
Конечный пользователь в режиме проксиX-API-Key: tk_… + X-End-User: <your-user-id>Конкретный конечный пользователь, которого удостоверяет ваш бэкенд
Конечный пользователь платформыAuthorization: Bearer <jwt>Конечный пользователь, вошедший через /auth/login или OAuth

Необязательный заголовок X-Space-Id выбирает конкретное пространство; без него используется пространство пользователя по умолчанию.

Любая из схем разрешается в принципал (тенант · пользователь · пространство), после чего сессия базы данных ограничивается этой идентичностью средствами row-level security в Postgres — то есть изоляция обеспечивается ниже уровня API, а не кодом приложения.

Что выбрать

  • Интеграция сервер — сервер (диалогами управляет ваш продукт): используйте режим прокси. Ключ тенанта хранится на бэкенде, а личность конечного пользователя передается в каждом запросе — пользователи ключ не видят.
  • Собственные клиентские приложения, где пользователи входят непосредственно в платформу: используйте JWT конечного пользователя.
  • Административная автоматизация (документы, агенты, расход): используйте обычный ключ тенанта и управляющие эндпоинты.

API-ключ тенанта — серверный секрет. Никогда не размещайте его в браузерном коде или мобильных приложениях: для браузера предназначен встраиваемый виджет, который авторизуется через share-токены.

Пример работы в режиме прокси

curl https://chat.agent4.io/chat \
  -H "X-API-Key: tk_live_…" \
  -H "X-End-User: crm-user-8841" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Какие документы нужны для рефинансирования?" }'

Идентификатором конечного пользователя может быть любой стабильный идентификатор из вашей системы. При первом обращении платформа создает пользователя и его пространство по умолчанию, а затем привязывает к нему всю историю, память и документы.

Ошибки

КодЗначение
401Учетные данные отсутствуют или недействительны
403Идентичность верна, но доступа к запрошенному пространству или агенту нет
429Месячная квота токенов исчерпана