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.