Complete REST API Reference & Endpoints Matrix
RUSEON Core provides a high-throughput REST API for camera control, stream routing, archive playback, user RBAC, and telemetry.
1. Authentication & System Health
| Endpoint | Method | Role Required | Description |
|---|---|---|---|
POST /api/login | POST | Public | Authenticate user credentials and receive JWT access token |
GET /api/stats | GET | viewer, operator, admin | Real-time memory, active cameras, and global FPS statistics |
GET /api/logs/stream | GET | operator, admin | Real-time Server-Sent Events (SSE) log stream |
GET /livez | GET | Public | Liveness probe (HTTP 200 OK) |
GET /readyz | GET | Public | Readiness probe (BadgerDB & engine operational) |
GET /metrics | GET | Public / Scraper | Prometheus scraping endpoint |
2. Camera Management Endpoints
| Endpoint | Method | Role Required | Description |
|---|---|---|---|
GET /api/cameras | GET | viewer, operator, admin | List all configured camera streams and runtime stats |
POST /api/cameras | POST | operator, admin, service | Register a new RTSP camera stream |
PUT /api/cameras/:id | PUT | operator, admin, service | Update camera settings & restart ingest pipeline |
DELETE /api/cameras/:id | DELETE | operator, admin, service | Stop and delete camera record |
GET /api/cameras/:id/stream-token | GET | viewer, operator, admin | Generate 60-second short-lived stream token |
3. Real-Time Streaming & Archive Playback
| Endpoint | Method | Role Required | Description |
|---|---|---|---|
POST /stream/webrtc/whep/:id | POST | Public / Token | WebRTC WHEP SDP offer/answer exchange |
GET /stream/ws/:id | GET | Public / Token | WebCodecs low-latency binary WebSocket stream |
GET /stream/hls/:id/index.m3u8 | GET | Public / Token | Master HLS live manifest |
GET /stream/hls/:id/stream.m3u8 | GET | Public / Token | Video media playlist |
GET /stream/hls/:id/subs.m3u8 | GET | Public / Token | WebVTT subtitle track with AI metadata |
GET /stream/hls/:id/:segment | GET | Public / Token | Live MPEG-TS media chunk |
GET /api/cameras/:id/archive | GET | viewer, operator, admin | List recorded fMP4 timeline intervals |
GET /api/cameras/:id/export | GET | viewer, operator, admin | Stream seamless MP4 clip export |
GET /hls/:id/archive.m3u8 | GET | Public / Token | On-demand archive HLS playlist (?file=...) |
GET /hls/:id/segment.ts | GET | Public / Token | On-demand archive video segment |
4. Tags, Folders, Users & Backups
| Endpoint | Method | Role Required | Description |
|---|---|---|---|
GET /api/tags | GET | Authenticated | List system tags |
POST /api/tags | POST | operator, admin | Create system tag ({id, name, color}) |
DELETE /api/tags/:id | DELETE | operator, admin | Delete tag by ID |
GET /api/folders | GET | Authenticated | List folder hierarchy |
POST /api/folders | POST | operator, admin | Create folder ({id, name, parent_id}) |
DELETE /api/folders/:id | DELETE | operator, admin | Delete folder by ID |
GET /api/users | GET | admin | List all users and assigned roles |
POST /api/users | POST | admin | Create new user account |
PUT /api/users/:username | PUT | admin | Update user password or role |
DELETE /api/users/:username | DELETE | admin | Delete user account |
GET /api/system/backup/export | GET | admin | Export complete database JSON backup |
POST /api/system/backup/import | POST | admin | Import and restore database JSON snapshot |
GET /models/:filename | GET | Public | Download ONNX AI weights with disk caching |