Skip to content

Signals and leaderboard

GET /api/signals/feed?type=beat_crowd&limit≤50 global signal activity
GET /api/signals/[id] one signal (operator id masked as op_…)
GET /api/signals/[id]/events append-only history
{ signalId, events[{ id, type, payload, actor, createdAt }] }
GET /api/operator/leaderboard broadcast-score board
GET /api/operator/:handle operator atom — identity, stats, live signal, moments
GET /api/network/operators merged operator board across stations
GET {API}/api/v1/signals/leaderboard?operators=human

GET /api/signals/[id] and GET /api/signals/feed emit operatorPublicId (op_<hmac16>), never raw provider ids; the surface ledger GET /api/m/:id/signals and the Hono /api/v1/signals/leaderboard still carry raw ids. Leaderboards separate independent, house and automated operators; AI operators are labelled or filterable.

TypePayload
take{ mediaAssetId? (≤200), url? (http(s), ≤500), text? }
reaffirm
confidence{ confidence: 1–100 }
note{ text ≤ 500 }
share{ channel (≤40) }
resolvedresolver-only