Перейти к содержанию

Справочник API

Вся HTTP-поверхность бэкенда в одном месте. Бизнес-эндпоинты имеют префикс /api/v1/*; OIDC-провайдер и инфраструктурные эндпоинты живут в корне.

Браузер не обращается к ним напрямую

Frontend построен по модели BFF: браузер общается только с same-origin-маршрутами /api/* в Next.js, а те проксируют запросы на бэкенд на стороне сервера. Токены никогда не попадают в клиентский JS. Ниже приведены пути бэкенда.

Swagger: GET /swagger/doc.json (в production требуется bearer-токен).

Инфраструктура

Метод Путь Доступ
GET /health открыто
GET /ready открыто
GET /metrics в production — OBSERVABILITY_TOKEN (иначе 404)
GET /swagger/doc.json так же

OIDC-провайдер

Включается при заданных OAUTH_ISSUER + SSO_STATE_KEY. Пути закреплены спецификацией OIDC.

Метод Путь
GET /.well-known/openid-configuration
GET /.well-known/jwks.json
GET /oauth2/auth
POST /oauth2/token
POST /oauth2/introspect
POST /oauth2/revoke
GET /oauth2/sessions/logout
GET POST /userinfo

Внутренний API login/consent: /api/v1/provider/login · /consent · /login/accept · /login/reject · /consent/accept · /consent/reject · /logout/accept.

Аутентификация — /api/v1/auth

Метод Путь Лимит
POST /eid/start auth (5/мин)
POST /eid/start-id auth
POST /eid/poll poll (1/сек, burst 30)
POST /google auth
DELETE /google/link вход выполнен
POST /refresh · /logout auth
POST /initiate auth (мобильные)
GET /status/{sid} poll (мобильные)

Суперадмин: /api/v1/auth/superadmin/mfa · /onboard/{google,eid/start,eid/start-id,eid/poll,email/send,email/verify,totp/init,totp/verify}.

Gerege SSO (сторона RP): /api/v1/sso/start · /callback · /native · /logout.

Пользователи и организации

Метод Путь Что
GET /api/v1/users/me Свой профиль
GET /api/v1/users/me/eid/summary · /certificates · /devices · /activity PKI-профиль eID
GET POST DELETE /api/v1/users/me/eid/organizations… Связанные организации
GET POST DELETE /api/v1/users/me/eid/organizations/{regNo}/signers… Уполномоченные подписанты
POST GET /api/v1/org Создание / мои организации
GET /api/v1/org/lookup/{regNo} Поиск в государственном реестре
GET POST PUT DELETE /api/v1/org/{id}/members… Участники и роли
GET /api/v1/core/users · /organizations Поиск для админа (users.manage)

Прокси сервисов eID

Метод Путь Грант
GET /api/v1/eid/summary · /certificates · /devices · /activity svc:eid-proxy
GET /api/v1/eid-org/organizations · /organizations/{regNo}/signers svc:eid-org-proxy
* /rp/sign/* svc:eid-sign

Услуги для граждан — /api/v1/gov

Полностью перечислены на странице Услуги для граждан. Публичный каталог: /api/v1/catalog/services · /services/{id} · /life-events.

Реестр и Relay

Полностью перечислены на странице Реестр и Relay (/api/v1/registry/*, /api/v1/relay/*).

Шлюз и реестр приложений

Метод Путь Право
GET /api/v1/gateway/overview · /logs gateway.manage
GET POST PUT DELETE /api/v1/gateway/services… gateway.manage
GET POST /api/v1/applications gateway.manage
GET PUT DELETE /api/v1/applications/{id} gateway.manage
POST /api/v1/applications/{id}/rotate-secret gateway.manage
PUT /api/v1/applications/{id}/secret · /services gateway.manage

Подпись, активы, файлы

Метод Путь
POST /api/v1/sign/initiate · /init
GET /api/v1/sign/status/{sid} · /{id} · /{id}/download
GET PUT DELETE /api/v1/me/signature
PUT /api/v1/me/latin-name · /org-name-latin/{regNo}
GET PUT DELETE /api/v1/me/orgstamp/{regNo}
GET POST DELETE /api/v1/gspace · /upload · /download
GET POST DELETE /api/v1/integrations…

Подробнее: Документы, подпись, файлы.

AI

Метод Путь Лимит
POST /api/v1/ai/chat · /stt · /tts · /translate 20/мин, burst 10
POST /api/v1/public/ai/chat · /chat/stream 6/мин, burst 3
POST /api/v1/public/ai/tts 20/мин, burst 8

Подробнее: AI-конвейер.

Админ, RBAC, аудит

Метод Путь Право
GET /api/v1/rbac/me вход выполнен
GET POST PUT DELETE /api/v1/rbac/roles… · /permissions roles.manage
GET POST PUT DELETE /api/v1/admin/users… users.manage
GET PUT /api/v1/admin/ai/prompts… settings.manage
POST /api/v1/admin/ai/knowledge/reindex settings.manage
GET POST PUT DELETE /api/v1/superadmin/… superadmin
GET /api/v1/audit · /audit/verify admin
POST /api/v1/security/events вход выполнен
GET /api/v1/security/events admin
GET PUT /api/v1/site/appearance открыто / settings.manage
GET POST PUT DELETE /api/v1/themes… открыто (/active) / admin

Подробнее: Админ, RBAC, аудит.

Модель ошибок

Обработчики имеют вид func(w, r) error и оборачиваются в v1.Wrap. Слой usecase возвращает apperror.*, который в одном месте отображается в HTTP-статус. Внутренние причины оборачиваются apperror.InternalCause, поэтому ошибки библиотек никогда не утекают клиенту.