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/call

Who'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/active

Every 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/token

People. 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 url and token.
  • The token is short-lived: use it to connect within 10 minutes.
  • What the token allows follows the channel's switches: no camera when cameraEnabled is false, no screen sharing when screenShareEnabled is false.
  • Voice turned off in the channel: 409 voice_disabled. Audio rooms not set up on the server: 503 media_unavailable.
  • Limit: 20 per minute.

On this page