API reference
Overlay endpoints
Entitlement check and POI feed the overlay reads on startup and on server-switch.
The overlay calls two API endpoints (in addition to the standard pairing flow). Both require the device bearer token from the helper-style pairing flow.
GET /api/overlay/entitlement
Checks whether the current device can stream the overlay.
→ {
eligible: true,
reason?: 'owner_active' | 'guest_of_active_owner',
tier?: 'OPERATOR' | 'OVERLORD',
serverIds: ['ck...', 'ck...'] // servers the overlay may attach to
}
Rules:
- Owners — need active
OPERATORorOVERLORDsubscription. - Guests — inherit entitlement from the server owner. If the owner has an eligible sub, every dashboard-guest on that owner gets overlay access for that server.
- Anyone else gets
{ eligible: false, reason: 'premium_required' }.
The overlay calls this on launch and on every server switch.
GET /api/overlay/poi/:serverId
Returns monument + train-tunnel POIs for a paired server.
→ {
monuments: [
{ name: 'Large Oil Rig', kind: 'oil_rig', x: 1234, y: 5678 },
{ name: 'Outpost', kind: 'safe_zone', x: ..., y: ... },
...
],
trainTunnels: [
{ name: 'Entrance', x: ..., y: ... },
...
]
}
The data is cached per-server (Rust+ map is wipe-stable) and the cache is invalidated on every wipe boundary.
Tauri pairing
The overlay uses the same /pairing/device/code + /pairing/device/activate endpoints as the Credentials Helper. Steam OpenID happens in the default browser, the overlay polls for completion.