Pillar 03 — Owner API & Integrations
Automate the entire operation.
Every dedicated shard ships with the Owner API: scoped scok_ bearer keys your org's developers use to build Discord bots, website status panels, attendance dashboards, and full op automation against /api/v1/....
ops-bot — live shard telemetry
$ curl -H "Authorization: Bearer scok_••••••••" https://shard.yourorg.net/api/v1/status
{ "operation": "open", "nets": 14, "connected": 87, "transmitting": ["Command Net"] }
$ curl -X POST .../api/v1/assignments/bulk -d '{"action":"assign","assignments":[...]}'
{ "applied": 42, "skipped": 0 }
$ curl -X POST .../api/v1/acars -d '{"text":"Rally at OM-1 in 5 minutes.","senderName":"Ops Bot"}'
{ "delivered": true, "clients": 87 }
Scoped keys, not master keys
Each integration gets its own key with only the scopes it needs. Keys are hashed at central, shown once, bound to one guild, and revocable at any time — from the shard control panel or the desktop client's Advanced API Integration tab.
Read
read:status operation, nets, occupancy
read:roster connected operators
read:assignments live assignment map
read:metrics talk-time + Prometheus
read:events SSE streams + webhooks
read:audit API audit trail
Write
write:assignments assign, bulk, temporary TTL
write:nets create, rename, remove
write:operation open / close the op
write:acars overlay broadcasts
write:presets save + apply op layouts
write:rules role-to-net auto assignment
Live events, two ways
Open a Server-Sent Events stream or register signed webhooks for user.joined, ptt.start, operation.opened, assignments.changed, and more. Every webhook delivery is HMAC-SHA256 signed so your endpoint can verify it came from your shard.
Operation presets
Save "Friday Convoy", "Fleet Night", or "Training Op" as a preset — nets, assignments, open state — and apply the whole layout with one API call before the first ship lifts off.
Metrics that brief well
Talk-time per user and net, occupancy sampling, uptime — as JSON or a Prometheus endpoint your Grafana already understands. Attendance dashboards and after-action reviews build themselves.
Website status, safely
A deterministic public status token powers read-only embeds and a prebuilt HTML widget for your org's website — so you never put a privileged key in browser JavaScript.
Role-to-net rules
Map Discord roles to nets once and let the shard auto-assign members as they join. Role-organized orgs get repeatable comms without an admin dragging chips every op.
Guardrails included
120 requests/minute per key, ACARS cooldowns, webhook failure quarantine, body-size limits, and a rolling audit log. The API is built to be handed to an org developer without fear.