К содержанию
Документация
API

Доступ

Cookie браузера, сервисный токен, id аккаунта и отзываемая сессия.

Браузер не ходит в API напрямую. Страницы приложения вызывают /api/backend/… на хосте приложения и передают cookie lct_session. Этот путь не существует на сайте документации: здесь он указывал бы на сам портал.

Веб-сервер приложения добавляет три заголовка. Браузер их не видит и не должен их подставлять сам.

ЗаголовокЧто это
x-lct-service-tokenОбщий секрет веб-сервера и API. Имя переменной окружения — API_SERVICE_TOKEN. Значение в документацию не входит.
x-lct-userId вошедшего аккаунта, не почта.
x-lct-sessionОтзываемый серверный токен сессии. Его выдаёт POST /auth/verify, веб-сервер достаёт его из cookie и передаёт API.

Для маршрута аккаунта нужны и x-lct-user, и x-lct-session. Одного заголовка недостаточно: чужая или уже отозванная сессия получает 401 с текстом о повторном входе. Сессия отзывается при выходе и при смене доступа.

Без токена сервиса открыт только GET /health. Проверки движка и базы (/health/engine, /health/database) этот токен требуют. Маршруты входа (/auth/…) требуют токен сервиса, но не требуют аккаунт.

Информация

Черновик портала описывал только сервисный токен и id аккаунта. Заголовок x-lct-session обязателен и проверяется в AccountGuard.

Ошибки

КодКогда
400Тело или параметры не прошли проверку.
401Аккаунт не назван, удалён, отключён, или сессия не совпала с id.
403Запрос не от веб-сервера или действие только для администратора.
404Объекта нет или он принадлежит другому аккаунту.
409Действие сейчас невозможно.
422Движок не смог прочитать файл.
429Слишком много попыток.
503Недоступен движок, база или хранилище ключей.
504Движок не ответил вовремя.

Тело ошибки обычно { statusCode, message, error }. У отдельных маршрутов форма другая: это видно в справочнике у конкретного ответа, а не выводится из этой таблицы.

На этой странице