Полный справочник REST API и матрица эндпоинтов
RUSEON Core предоставляет высокопроизводительный REST API для управления камерами, видеопотоками, архивом, пользователями и системной телеметрией.
1. Авторизация и состояние системы
| Эндпоинт | Метод | Роль | Описание |
|---|---|---|---|
POST /api/login | POST | Публичный | Получение JWT токена по логину и паролю |
GET /api/stats | GET | viewer, operator, admin | Память, количество камер и общий FPS |
GET /api/logs/stream | GET | operator, admin | Стриминг логов через Server-Sent Events (SSE) |
GET /livez | GET | Публичный | Liveness проба (HTTP 200 OK) |
GET /readyz | GET | Публичный | Readiness проба (готовность BadgerDB и ядра) |
GET /metrics | GET | Публичный | Эндпоинт сбора метрик Prometheus |
2. Управление камерами
| Эндпоинт | Метод | Роль | Описание |
|---|---|---|---|
GET /api/cameras | GET | viewer, operator, admin | Список всех настроенных камер и их телеметрия |
POST /api/cameras | POST | operator, admin, service | Регистрация новой камеры RTSP |
PUT /api/cameras/:id | PUT | operator, admin, service | Обновление настроек и перезапуск захвата |
DELETE /api/cameras/:id | DELETE | operator, admin, service | Остановка и удаление камеры |
GET /api/cameras/:id/stream-token | GET | viewer, operator, admin | Генерация 60-секундного токена для просмотра |
3. Стриминг и архив
| Эндпоинт | Метод | Роль | Описание |
|---|---|---|---|
POST /stream/webrtc/whep/:id | POST | Публичный / Токен | Инициализация WebRTC WHEP (SDP Offer/Answer) |
GET /stream/ws/:id | GET | Публичный / Токен | Бинарный WebSocket стрим для WebCodecs |
GET /stream/hls/:id/index.m3u8 | GET | Публичный / Токен | Master HLS манифест живого потока |
GET /stream/hls/:id/stream.m3u8 | GET | Публичный / Токен | Плейлист видеосегментов |
GET /stream/hls/:id/subs.m3u8 | GET | Публичный / Токен | Дорожка субтитров WebVTT с метаданными ИИ |
GET /stream/hls/:id/:segment | GET | Публичный / Токен | Сегмент видео MPEG-TS |
GET /api/cameras/:id/archive | GET | viewer, operator, admin | Список доступных интервалов fMP4 на диске |
GET /api/cameras/:id/export | GET | viewer, operator, admin | Прямое скачивание отрезка видео в MP4 |
GET /hls/:id/archive.m3u8 | GET | Публичный / Токен | HLS манифест файла архива (?file=...) |
GET /hls/:id/segment.ts | GET | Публичный / Токен | Сегмент архива в MPEG-TS |
4. Теги, Папки, Пользователи и Бэкап
| Эндпоинт | Метод | Роль | Описание |
|---|---|---|---|
GET /api/tags | GET | Авторизован | Список тегов |
POST /api/tags | POST | operator, admin | Создание тега ({id, name, color}) |
DELETE /api/tags/:id | DELETE | operator, admin | Удаление тега |
GET /api/folders | GET | Авторизован | Дерево папок |
POST /api/folders | POST | operator, admin | Создание папки |
DELETE /api/folders/:id | DELETE | operator, admin | Удаление папки |
GET /api/users | GET | admin | Список пользователей |
POST /api/users | POST | admin | Создание пользователя |
PUT /api/users/:username | PUT | admin | Обновление пароля или роли |
DELETE /api/users/:username | DELETE | admin | Удаление пользователя |
GET /api/system/backup/export | GET | admin | Экспорт базы данных в JSON |
POST /api/system/backup/import | POST | admin | Импорт и восстановление базы из JSON |
GET /models/:filename | GET | Публичный | Раздача весов ONNX AI-моделей |