Forget where to wake this device
Call on sign-out, or when notification permission is withdrawn. A token left behind that can no longer ring is not harmless: every wake attempt against it is silent waste. Revoking a device clears its token too.
Authorization
deviceAuth A per-device secret issued by POST /v1/devices/enroll, presented as
Authorization: Device <secret>.
A distinct scheme rather than another bearer flavour: the bearer namespace already carries workspace API keys and session JWTs, and a device secret authorises far less than either — it can mint a WebRTC token for its own identity and report presence, and nothing else.
In: header
Response Body
curl -X DELETE "https://example.com/v1/devices/push-token"Record where to wake this device PUT
Presence answers which endpoints are alive. This answers what presence cannot: how to reach one that is not running. A killed app stops heartbeating and correctly leaves the extension fan-out — there is no socket to receive a call — so reaching it needs an out-of-band push, and a push needs an address. Send a PushKit VoIP token on iOS or an FCM registration token on Android. **Call this on every launch**: these tokens rotate silently on reinstall, restore and app-data clear, and a client that registers once will stop ringing with nothing to indicate why. The token is stored as given, not hashed — it is an address handed to Apple or Google verbatim, not a secret we verify. It is never returned by any endpoint.
Report this device as reachable POST
Call every 30 seconds while the app is able to take calls. A device that stops beating leaves the extension's fan-out within about a minute; the line's other devices are unaffected.