---
title: "WebSocket audio stream for a room"
method: GET
path: "/rooms/{id}/ws"
tags: ["Rooms"]
---

# WebSocket audio stream for a room

`GET /rooms/{id}/ws`

Upgrades to a WebSocket connection and joins the room as a bidirectional audio participant. The client sends and receives 16kHz 16-bit signed little-endian PCM audio (mono), base64-encoded in JSON text frames. Each audio frame is 640 bytes (20ms).

## Other responses

- `101` — WebSocket upgrade successful. Server sends a `connected` message followed by mixed-minus-self audio frames.
- `404` — Room not found

## Changes

- **2026-03-26** `d09c97c6ca8c` — 1 breaking
  - added the new path request parameter `id`
- **2026-03-26** `818619c99a1d` — 1 warning
  - deleted the `path` request parameter `id`

[Change history](https://skmtc.dev/voiceblender/apis/voiceblender-api/changes/rooms/:id/ws/get.md)

---

[API](https://skmtc.dev/voiceblender/apis/voiceblender-api.md) · [All operations](https://skmtc.dev/voiceblender/apis/voiceblender-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/voiceblender/voiceblender-api/revisions/89ff267f0958/schema)
