voice-control
voice-control

Confirm Call Publisher

Re-check ownership AFTER the asking tab has joined the room.

Publish permission is baked into a token when it is minted, and revoking it is a one-shot action against a participant who has to already be in the room — UpdateParticipant on someone absent is a 404, which we deliberately read as "not publishing, nothing to do".

Those two facts leave a window. A tab mints a publish-capable token, and before it finishes connecting the operator answers in another tab: the claim displaces it in the registry and revokes a participant who does not exist yet. A moment later it joins with the token it already holds, publishes, and nothing ever contradicts it — LiveKit fires no permission change because nothing changed after it joined. The registry says one owner and the room has two: the operator hears themselves, and the tab that lost draws full call chrome for a call it does not own (reported repeatedly 2026-08-03; the bridge logged both browser identities subscribing to one call).

So the joined tab asks once, at the only moment its presence is certain, and a tab that is not the holder is revoked here — which is what the overlays' participantPermissionsChanged handler already reacts to. The answer is the registry's, so it holds across browser profiles and devices, unlike the BroadcastChannel election.

post/api/voice/calls/{call_id}/publisher-check

Request

  • Base URL: https://api.dialogbrain.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.dialogbrain.com/api/voice/calls/{call_id}/publisher-check
  • Auth: none declared

Path parameters

call_idstring required

Request body

tab_idstring nullable

Response

Successful Response

ownsboolean required
holder_tab_idstring nullable

Changes

No recorded changes to this operation across all 6 revisions of this API.