Безопасность и доступ
REST API раздела «Безопасность и доступ»: 139 операций.
Базовый адрес: https://api.legalstack.ru. Спецификация: openapi/security.json.
Аутентификация
Регистрация, вход, восстановление пароля, верификация e-mail.
Пользователи
Управление пользователями.
Устройства и сессии
Активные сессии и устройства пользователя.
Команды
Управление командами.
Группы
Группы пользователей.
Оргструктура
Оргструктура: подразделения, руководители, место сотрудников и агентов.
Приглашения
Приглашения пользователей в команду.
OAuth 2.0
OAuth 2.0: авторизация, выдача, отзыв и проверка токенов.
OAuth-приложения
Управление OAuth-приложениями.
Персональные токены
Персональные API-токены.
Каталог OAuth-scopes
Каталог OAuth-scopes платформы.
Единый вход (SSO)
Единый вход (SSO): подключения SAML и OIDC для команды.
Вебхуки
Подписки на вебхуки и проверка подписей.
Ключи JWKS
Публичные ключи (JWKS) для проверки подписи JWT.
Контроль доступа
Контроль доступа: правила, проверки, матрицы.
Агенты
Агенты команды: настройки, история версий и откат.
Доступ к агентам
Доступ к агенту: кто пользуется, настраивает, создаёт расписания и работает с браузером.
Лимиты агентов
Лимиты работы агентов: месячный расход команды и сотрудников, лимиты на сотрудника.
Аудит безопасности
Журнал аудита событий безопасности.
Защита от ботов
Защита от ботов: задачи proof-of-work (ALTCHA).
Поддержка
Обращения пользователей в поддержку.
Операции
Всего операций: 139. У каждой операции своя страница со схемами запроса и ответа и примерами вызова.
Аутентификация
| Метод | Путь | Операция |
|---|---|---|
POST | /api/v1/security/auth/2fa/disable | Отключить 2FA |
POST | /api/v1/security/auth/2fa/enable-confirm | Подтвердить настройку 2FA первым кодом |
POST | /api/v1/security/auth/2fa/enable-init | Запустить настройку 2FA (TOTP) |
POST | /api/v1/security/auth/2fa/regenerate-codes | Перевыпустить резервные коды |
PUT | /api/v1/security/auth/change-password | Смена пароля |
POST | /api/v1/security/auth/login | Вход |
POST | /api/v1/security/auth/logout | Выход |
DELETE | /api/v1/security/auth/profile | Удалить текущий аккаунт |
GET | /api/v1/security/auth/profile | Профиль текущего пользователя |
PUT | /api/v1/security/auth/profile | Обновить профиль |
POST | /api/v1/security/auth/refresh | Обновить токен доступа |
POST | /api/v1/security/auth/register | Регистрация |
POST | /api/v1/security/auth/request-password-reset | Запрос сброса пароля |
POST | /api/v1/security/auth/resend-verification | Повторно отправить письмо подтверждения |
POST | /api/v1/security/auth/reset-password | Сброс пароля |
POST | /api/v1/security/auth/verify-email | Подтвердить e-mail |
POST | /api/v1/security/auth/verify-totp | Подтверждение 2FA при входе |
Пользователи
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/users | Список пользователей команды |
POST | /api/v1/security/users/link-telegram | Привязать Telegram-аккаунт |
DELETE | /api/v1/security/users/me/away | Снять отметку об отсутствии |
PUT | /api/v1/security/users/me/away | Отметить отсутствие текущего пользователя |
DELETE | /api/v1/security/users/me/favorites | Убрать из избранного |
GET | /api/v1/security/users/me/favorites | Избранное текущего пользователя |
POST | /api/v1/security/users/me/favorites | Добавить в избранное |
PATCH | /api/v1/security/users/me/onboarding | Завершить онбординг текущего пользователя |
GET | /api/v1/security/users/search-by-email | Найти пользователя по e-mail |
GET | /api/v1/security/users/team | Список участников команды |
POST | /api/v1/security/users/telegram/generate-code | Сгенерировать код привязки Telegram |
GET | /api/v1/security/users/telegram/status | Статус привязки Telegram для текущего пользователя |
DELETE | /api/v1/security/users/telegram/unlink | Отвязать Telegram текущего пользователя |
POST | /api/v1/security/users/unlink-telegram | Отвязать Telegram-аккаунт |
GET | /api/v1/security/users/with-telegram | Список пользователей с привязанным Telegram |
DELETE | /api/v1/security/users/{id} | Удалить пользователя |
PUT | /api/v1/security/users/{id}/groups | Обновить группы пользователя |
GET | /api/v1/security/users/{id}/handover | Что перейдёт преемнику при удалении участника |
PUT | /api/v1/security/users/{id}/role | Обновить роль пользователя |
Устройства и сессии
| Метод | Путь | Операция |
|---|---|---|
DELETE | /api/v1/security/me/devices | Отозвать все устройства, кроме текущего |
GET | /api/v1/security/me/devices | Активные устройства текущего пользователя |
DELETE | /api/v1/security/me/devices/{deviceId} | Отозвать устройство |
Команды
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/teams/current | Получить текущую команду |
PATCH | /api/v1/security/teams/current | Обновить текущую команду |
DELETE | /api/v1/security/teams/current/ownership-transfer | Отменить передачу владения командой |
POST | /api/v1/security/teams/current/ownership-transfer | Запросить передачу владения командой |
POST | /api/v1/security/teams/current/ownership-transfer/accept | Принять владение командой |
POST | /api/v1/security/teams/current/ownership-transfer/decline | Отклонить передачу владения командой |
PATCH | /api/v1/security/teams/current/slug | Сменить короткое имя команды (slug) |
Группы
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/groups | Список групп |
POST | /api/v1/security/groups | Создать группу |
DELETE | /api/v1/security/groups/{id} | Удалить группу |
GET | /api/v1/security/groups/{id} | Получить группу по id |
PATCH | /api/v1/security/groups/{id} | Обновить группу |
Оргструктура
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/org | Оргструктура команды |
PUT | /api/v1/security/org/agents/{agentId} | Место агента в структуре |
PUT | /api/v1/security/org/head | Руководитель команды |
PUT | /api/v1/security/org/members/{userId} | Место сотрудника в структуре |
POST | /api/v1/security/org/units | Создать подразделение |
DELETE | /api/v1/security/org/units/{id} | Удалить подразделение |
PATCH | /api/v1/security/org/units/{id} | Изменить подразделение |
Приглашения
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/invites | Список ожидающих приглашений |
POST | /api/v1/security/invites | Создать приглашение |
DELETE | /api/v1/security/invites/{id} | Отменить приглашение |
GET | /api/v1/security/invites/{token} | Получить приглашение по токену |
POST | /api/v1/security/invites/{token}/accept | Принять приглашение как новый пользователь |
POST | /api/v1/security/invites/{token}/join | Перейти в команду по приглашению |
OAuth 2.0
| Метод | Путь | Операция |
|---|---|---|
GET | /.well-known/oauth-authorization-server | Метаданные сервера авторизации OAuth 2.0 (RFC 8414) |
GET | /.well-known/openid-configuration | OpenID Connect Discovery 1.0 |
GET | /oauth/authorize | Эндпоинт авторизации OAuth 2.0 (RFC 6749 §3.1, PKCE RFC 7636) |
GET | /oauth/authorize/context | Контекст экрана согласия OAuth (имя клиента, scopes, redirect_uri) |
POST | /oauth/authorize/decision | Решение пользователя по экрану согласия OAuth (выдача кода или отказ) |
POST | /oauth/introspect | Интроспекция токена (RFC 7662) |
POST | /oauth/register | Динамическая регистрация клиента OAuth 2.0 (RFC 7591) |
POST | /oauth/revoke | Отзыв токена (RFC 7009) |
POST | /oauth/token | Эндпоинт выдачи токенов OAuth 2.0 (RFC 6749 §3.2) |
GET | /oauth/userinfo | Эндпоинт UserInfo (профиль текущего пользователя) |
OAuth-приложения
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/oauth/clients | Список OAuth-клиентов |
POST | /api/v1/security/oauth/clients | Создать OAuth-клиента |
DELETE | /api/v1/security/oauth/clients/{id} | Удалить OAuth-клиента |
GET | /api/v1/security/oauth/clients/{id} | Получить OAuth-клиента |
PATCH | /api/v1/security/oauth/clients/{id} | Обновить OAuth-клиента |
POST | /api/v1/security/oauth/clients/{id}/rotate-secret | Сгенерировать новый секрет клиента |
Персональные токены
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/tokens | Список персональных токенов |
POST | /api/v1/security/tokens | Создать персональный токен |
DELETE | /api/v1/security/tokens/{id} | Отозвать персональный токен |
Каталог OAuth-scopes
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/scopes | Список доступных OAuth-scopes |
Единый вход (SSO)
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/admin/sso/providers | Список SSO-провайдеров команды |
POST | /api/v1/security/admin/sso/providers | Создать SSO-провайдер для команды |
DELETE | /api/v1/security/admin/sso/providers/{id} | Удалить SSO-провайдер |
PUT | /api/v1/security/admin/sso/providers/{id} | Обновить SSO-провайдер |
POST | /api/v1/security/admin/sso/providers/{id}/domains | Привязать email-домен к SSO-провайдеру |
DELETE | /api/v1/security/admin/sso/providers/{id}/domains/{domain} | Отвязать email-домен от SSO-провайдера |
GET | /api/v1/security/sso/callback | Завершение входа через OIDC — обмен кода на токены платформы |
GET | /api/v1/security/sso/discover | Проверить, настроен ли SSO для домена email |
POST | /api/v1/security/sso/login/{providerId} | Начать вход через OIDC — перенаправление к корпоративному IdP |
Вебхуки
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/webhooks | Список эндпоинтов вебхуков |
POST | /api/v1/webhooks | Создать эндпоинт вебхука |
DELETE | /api/v1/webhooks/{id} | Удалить эндпоинт вебхука |
GET | /api/v1/webhooks/{id} | Получить эндпоинт вебхука |
PATCH | /api/v1/webhooks/{id} | Обновить эндпоинт вебхука |
GET | /api/v1/webhooks/{id}/deliveries | Список попыток доставки |
POST | /api/v1/webhooks/{id}/rotate-secret | Сгенерировать новый секрет вебхука |
Ключи JWKS
| Метод | Путь | Операция |
|---|---|---|
GET | /.well-known/jwks.json | Публичные ключи (JWKS) для токенов доступа и обновления — активный и предыдущий |
GET | /.well-known/witness-jwks.json | Публичные ключи (JWKS) для witness-токенов (RFC 9068, RFC 9396) |
Контроль доступа
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/access-rules | Список правил доступа |
POST | /api/v1/security/access-rules | Создать правило доступа |
GET | /api/v1/security/access-rules/check | Проверка доступа текущего пользователя |
GET | /api/v1/security/access-rules/resource/{resourceType}/{resourceId} | Правила для конкретного ресурса |
DELETE | /api/v1/security/access-rules/{id} | Удалить правило доступа |
PATCH | /api/v1/security/access-rules/{id} | Обновить правило доступа |
POST | /api/v1/security/access/check-modules | Пакетная проверка доступа к модулям |
PUT | /api/v1/security/access/groups/{groupId}/modules/{module} | Задать группе уровень доступа к разделу |
GET | /api/v1/security/access/modules | Уровни доступа текущего пользователя к разделам |
Агенты
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/agents | Агенты команды |
POST | /api/v1/security/agents | Создать агента |
DELETE | /api/v1/security/agents/{agentId} | Удалить агента |
GET | /api/v1/security/agents/{agentId} | Агент |
PATCH | /api/v1/security/agents/{agentId} | Изменить агента |
POST | /api/v1/security/agents/{agentId}/default | Сделать агента основным |
POST | /api/v1/security/agents/{agentId}/resume | Возобновить работу агента |
POST | /api/v1/security/agents/{agentId}/suspend | Приостановить агента |
GET | /api/v1/security/agents/{agentId}/versions | История версий агента |
POST | /api/v1/security/agents/{agentId}/versions/{version}/restore | Вернуть версию агента |
Доступ к агентам
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/agents/{agentId}/access | Кому открыт доступ к агенту |
GET | /api/v1/security/agents/{agentId}/access/me | Права текущего пользователя на агента |
DELETE | /api/v1/security/agents/{agentId}/access/{subjectType}/{subjectId} | Закрыть доступ к агенту |
PUT | /api/v1/security/agents/{agentId}/access/{subjectType}/{subjectId} | Открыть доступ к агенту или изменить роль |
Лимиты агентов
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/agent-limits/me | Мой расход и лимит агента |
POST | /api/v1/security/agent-limits/me/raise | Попросить администраторов увеличить лимит |
GET | /api/v1/security/agent-limits/team | Расход и лимиты агентов команды |
PUT | /api/v1/security/agent-limits/team/default | Задать лимит на сотрудника по умолчанию |
DELETE | /api/v1/security/agent-limits/team/groups/{groupId} | Вернуть группе лимит команды |
PUT | /api/v1/security/agent-limits/team/groups/{groupId} | Задать лимит на каждого участника группы |
DELETE | /api/v1/security/agent-limits/team/members/{userId} | Вернуть сотруднику лимит по умолчанию |
PUT | /api/v1/security/agent-limits/team/members/{userId} | Задать сотруднику личный лимит |
Аудит безопасности
| Метод | Путь | Операция |
|---|---|---|
POST | /api/v1/security/audit/documents/verify | Проверить целостность аудита документов команды (только владелец) |
GET | /api/v1/security/audit/me | События безопасности текущего пользователя |
GET | /api/v1/security/audit/team | События безопасности команды (только владелец) |
POST | /api/v1/security/audit/verify | Проверить целостность цепочки хешей (только владелец) |
Защита от ботов
| Метод | Путь | Операция |
|---|---|---|
GET | /api/v1/security/altcha/challenge | Выдать задачу защиты от ботов (proof-of-work) |
Поддержка
| Метод | Путь | Операция |
|---|---|---|
POST | /api/v1/security/support/contact | Отправить обращение в поддержку |