API reference
Intel endpoints
Map notes, tracked players, shop watch, and timeline reads.
The intel surface is everything the dashboard's right-hand-side tabs read and write.
Map notes
GET /intel/:serverId/map-notes
POST /intel/:serverId/map-notes body: { x, y, category, label?, ttlSec? }
DELETE /intel/:serverId/map-notes/:id
Categories: raid, friendly, enemy, farm, stash, sulfur, warning, sam, death (auto-created by the detector, not user-created).
Tracked players
GET /intel/:serverId/tracking
POST /intel/:serverId/tracking body: { battlemetricsName, tag?, note? }
PATCH /intel/:serverId/tracking/:id body: { tag?, note?, steamId? }
DELETE /intel/:serverId/tracking/:id
GET /intel/:serverId/aliases?name=...
The /aliases endpoint hits BattleMetrics (paid; cached); the rest are DB-only.
Shop watch
GET /intel/:serverId/shops
POST /intel/:serverId/shops body: { vendorId, itemId, expectedPrice?, currencyId? }
DELETE /intel/:serverId/shops/:id
GET /intel/:serverId/shops/scan (returns the latest suspicious-shop scan results)
Timeline
GET /intel/:serverId/timeline?since=<iso>&types=cargo,heli,death,raid&limit=200
Returns a unified, chronological feed of every event type. Used by the dashboard's right-hand activity drawer.
Devices
GET /paired-servers/:id/devices
PATCH /paired-servers/:id/devices/:deviceId body: { customCommand?, onMessage?, offMessage?, label? }
POST /paired-servers/:id/devices/:deviceId/toggle (smart switches)
GET /paired-servers/:id/devices/:deviceId/camera-frame
Camera-frame is a one-shot pull — we don't stream camera frames continuously to keep relay traffic light.