Audio room endpoints
See who is in a channel's audio room, list the rooms that are open, and get a token to join one with a WebRTC client.
Updated
Paths are relative to https://api.fishcamp.space/api/v1 and all need the X-Workspace-Id header. See the
REST API overview for authentication and errors. How rooms work for people is in
Audio rooms.
Get the room
GET /channels/:channelId/callWho's in the channel's audio room right now.
{
"channelId": "0b6f3c55-2a51-4e0a-a3d6-6a3f1f2e9d10",
"mediaSessionId": "e4d3c2b1-a0f9-4e8d-b7c6-5a4b3c2d1e0f",
"startedAt": "2026-11-05T14:00:12.000Z",
"participants": [
{
"identity": "7a1c2e3f-4b5d-4e6f-8a9b-0c1d2e3f4a5b",
"profileId": "7a1c2e3f-4b5d-4e6f-8a9b-0c1d2e3f4a5b",
"name": "Maya Lopes",
"screenSharing": true,
"joinedAt": "2026-11-05T14:00:12.000Z"
}
]
}When nobody is in the room, mediaSessionId and startedAt are null and participants is empty.
New in November 2026 Guests who joined with a meeting link are listed
too: their identity starts with guest_, profileId is null and their name ends with "(guest)". People can take
them out of the room with POST /channels/:id/call/guests/:identity/remove.
List open rooms
GET /calls/activeEvery audio room with people in it, among the channels and direct messages you can see, in the same shape as above.
Get a join token
POST /channels/:channelId/call/tokenPeople. Returns what a WebRTC client needs to join the channel's room. The Fishcamp app calls it when someone
chooses Join audio. API keys get 403 forbidden, and guests join through
POST /meet/:code/join instead.
{
"url": "wss://…",
"token": "eyJhbGciOi…",
"roomName": "ch_0b6f3c55-2a51-4e0a-a3d6-6a3f1f2e9d10"
}- Fishcamp's media server is LiveKit: any LiveKit client SDK can connect with
urlandtoken. - The token is short-lived: use it to connect within 10 minutes.
- What the token allows follows the channel's switches: no camera when
cameraEnabledisfalse, no screen sharing whenscreenShareEnabledisfalse. - Voice turned off in the channel:
409 voice_disabled. Audio rooms not set up on the server:503 media_unavailable. - Limit: 20 per minute.
Message endpoints
Read a channel's messages page by page, send messages, edit and delete them through the REST API, and understand the message object and pills.
Meeting link endpointsNew
Create, replace and turn off a channel's meeting link, remove guests from the room, and the public routes a guest uses to join without an account.