🔌 API Reference

HTTP API for integration with external systems.

Base URL: http://localhost:8787

📺 Core

GET / Dashboard UI

Main page with camera cards.

Response

HTML page
GET /stream/<cid> MJPEG stream

Real-time MJPEG stream from camera.

Parameters

ParameterTypeDescription
cidstringCamera ID

Response

Content-Type: multipart/x-mixed-replace; boundary=frame
GET /api/stats Diagnostics

Real-time status of all cameras.

Response

{ "camera_001": { "yolo_count": 1, "recording": true, "written_frames": 120 } }

📼 Archive

GET /api/archives/<cid>/<date> Segments for day

Parameters

ParameterTypeDescription
cidstringCamera ID
datestringDate YYYY-MM-DD

Response

[ { "date": "2026-03-20", "time": "08-00-00", "duration_s": 12.5, "classes": ["person"] } ]
GET /video/<cid>/<date>/<file> Video file

Direct link to archive video file.

Response

Content-Type: video/mp4

⚙️ Management

POST /api/add_camera Add camera

Request Body

{ "cid": "camera_001", "source": "rtsp://192.168.1.100:554/stream", "model": "detection_model.pt", "detect": "person::0.45" }

Response

{"status": "ok"}
GET /api/delete/<cid> Delete camera

Stops and removes camera from configuration.

Response

{"status": "ok"}
GET /api/get_config/<cid> Camera config

Returns saved camera configuration.

POST /api/record/<cid> Recording control

Request Body

{"mode": "force_on"}

Modes: force_on (always), force_off (disabled), auto (on detection)