---
title: "Rejoin User Call"
method: POST
path: "/api/voice/rejoin/{call_id}"
tags: ["voice-control", "voice-control"]
---

# Rejoin User Call

`POST /api/voice/rejoin/{call_id}`

## 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/rejoin/{call_id}`
- Auth: none declared

Re-mint a publish-capable browser JWT for an existing user_call.

Used after a page refresh: the previous CallContactOverlay died with
the page, so the LiveKit Room is gone, but voice_sessions is still
`active`. Re-mint the same browser identity (`browser:{user_id}:{call_id}`)
with publish/subscribe so the operator can both hear AND speak again.

Guards:
  - call must live in caller's workspace
  - call must be `status='active'`
  - call must be `mode='user_call'` (group/AI rejoin is a different
    path — bot owns those rooms)
  - caller's user_id must match voice_sessions.user_id (only the
    original caller can rejoin; another workspace member would
    hijack the mic publish)

LiveKit kicks duplicate-identity participants, so a stale browser
that somehow survived the refresh would be evicted by the new join.

## Path parameters

- `call_id` string, required

## Request body

- RejoinRequest: Optional body for /rejoin and /coexist. `tab_id` is a per-tab UUID generated client-side (sessionStorage) and appended to the LK browser identity so multiple tabs/browsers logged in as the same user don't DUPLICATE_IDENTITY-kick each other in the LK room. Omit to fall back to the legacy `browser:{user}:{call}` shape (single-tab semantics — second tab WILL kick the first).
  - `tab_id` string, nullable

## Response `200`

Successful Response

- ListenInResponse
  - `url` string, required
  - `token` string, required
  - `room` string, required
  - `can_publish` boolean
  - `mic_owner_tab_id` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway.md) · [All operations](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/revisions/d84e7dc9977d?raw)
