Общая идеология API Cервиса
API РОСА ID использует только HTTPS-запросы, направляемые на домен, на котором разворачивается платформа Сервиса. В запросе всегда указывается путь к нужному URL в домене относительно "/api". Например, для домена id.rosa.ru нужно использовать – id.rosa.ru/api. Если в описании указан запрос auth/authorize, то его URL необходимо сформировать следующим образом: https://id.rosa.ru/api/auth/authorize.
Все запросы, требующие авторизации пользователя, должны передавать токен доступа в заголовке X-Lamb-Auth-Token. Для OAuth-запросов используется стандартный заголовок "Authorization: Bearer
- пользователь регистрируется через /auth/register и подтверждает email через OTP-код;
- выполняет вход по email/паролю через /auth/authorize, получая access_token и refresh_token;
- при запросах к защищенным ресурсам передает access_token в заголовке X-Lamb-Auth-Token;
- для OAuth-клиентов используется стандартный поток authorization_code.
Все приложения, выполняющие авторизацию, запрос токенов или управление сеансами через Росa ID должны передавать корректно сформированную информацию в заголовке User-Agent (требования см. Приложение А).
Заголовок User-Agent передаётся в каждом HTTP-запросе к API Росa ID.
Информация заголовка User-Agent используется Сервисом для:
- идентификации типа устройства (ПК, смартфон, сервер);
- корректного отображения списка подключённых устройств в личном кабинете пользователя;
- построения статистики по версиям ОС и приложений;
- обнаружения аномалий и подозрительных сеансов.
Некорректное или отсутствующее значение может привести к невозможности отобразить устройство в разделе «Устройства»/«Сеансы».
Запросы с методом POST или PATCH обычно содержат тело запроса в формате JSON, поэтому в запросе обязательно должно быть указано поле заголовка:
>Content-type: application/json
Тело запроса формируется как структура данных, содержащая перечисление параметров. Таким образом, если в описании конкретного запроса указаны параметры P1 и P2, то тело запроса должно быть сформировано как JSON следующего вида:
{"P1": value, "P2": value}
Все даты и время передаются в формате ISO 8601 в часовом поясе UTC. Unix-метки времени (TIME64) также поддерживаются в некоторых ответах, но в основном API использует ISO-строки для читаемости.
Пример: "2026-04-17T12:37:09Z".
Все методы, возвращающие коллекции, поддерживают пагинацию через параметры запроса offset и limit. Ответ с пагинацией содержит поля items, total_count, offset, limit.
Ответ сервера всегда приходит в формате JSON. В случае успеха возвращается HTTP-код 200 (или 204), а в теле — запрошенные данные.
В случае ошибки возвращается соответствующий HTTP-код (400, 401, 403, 404, 429, 500) и JSON-объект с полями error (символьный код ошибки) и message (описание ошибки) (см. Приложение Б).