Video calls
Use Video calls to create browser-based WebRTC rooms for remote guests, panels, webinars, and audio calls. Control participant permissions and issue secure join tokens.
Choose this whenRemote guests need a browser WebRTC room and secure participant join tokens.
Use another module whenUse RTMP or SRT Servers for encoder contribution; use another module for recording or NDI output.
/api/conferences/createBefore you start
Use x-access-token for room configuration and lifecycle methods. Keep these calls in your backend. The browser join flow uses the room lookup and participant token returned by the documented join helpers.
What you can do
create,update,getAll,getCount, andgetByIdmanage rooms.startandstopcontrol room availability.findLKRoomNameByIdresolves the active room name and supported room flags.createTokenissues a participant join token.updateGlobalConfigurationchanges instance-wide WebSocket and TURN connectivity.removedeletes a room.
Example workflow
- Create a room with media type, participant limit, webinar, chat, screen-share, and recording settings.
- Start the room before contributors arrive.
- Resolve the active room name with
findLKRoomNameById. - Issue a participant token close to join time.
- Join from the browser with the resolved room name and token.
Common use cases
- Bring a remote interview guest into a live production.
- Run a webinar with restricted audience behavior.
- Create a low-bandwidth audio briefing room for field teams.
Limits and troubleshooting
Do not expose room-control tokens in browser code. Issue participant tokens only to authorized users and near the intended join time. TURN, secure WebSocket, firewall, browser permissions, and participant capacity can all affect joining.
Next steps
Use the room or an individual participant as input to an NDI adapter, Recording, or another supported output workflow.
Provision a browser video room and participant token
Create and start the managed room, then issue a participant token for the public join flow without exposing the management API token.
- Create the roomSet the room identity, participant policy, media options, and initial state.
POST /api/conferences/create - Start the roomStart the managed room before sending join credentials to a participant.
POST /api/conferences/start - Issue a participant tokenCreate the browser join token from a trusted application service.
POST /api/conferences-public/createToken
Keep the management token on a trusted backend. Issue participant tokens with the minimum room identity and permissions required by the viewer or guest.
See the video conferencing productCreate a new managed video call room in Callaba Engine.
This method provisions the room object that the browser join flow depends on. The payload focuses on room policy rather than transport details: media mode, participant capacity, webinar restrictions, chat, screen sharing, recording behavior, and whether the room should be active right after creation.
Examples by preset are especially useful here because most real rooms fall into a few recognizable patterns: standard team rooms, webinar-style rooms, audio-only rooms, and recorded rooms for speaker-focused output.
Common use cases
- Create a stable browser room for speakers and guests.
- Prepare a webinar room before the event starts.
- Define a recorded room with the required composite layout.
Use this when a small or medium team should join with full audio and video, chat, and screen sharing enabled.
Use this when the room should support guest or view-only behavior and keep speaker privileges more controlled.
Use this when the meeting should behave more like an audio briefing or lightweight discussion space.
Use this when the room should later feed a composite output workflow and recording is part of the room policy.
Dashboard label: Room Name.
Human-readable room name. The dashboard validates this field and shows the same character guidance used elsewhere in the product: A-Z, a-z, 0-9, and -.
Dashboard label: Media type.
Supported room modes are MEDIA_TYPE_VIDEO_AUDIO, MEDIA_TYPE_VIDEO_ONLY, and MEDIA_TYPE_AUDIO_ONLY.
Dashboard label: Max participants.
Maximum number of participants allowed to join the meeting simultaneously.
Controls whether the room should support webinar-style guest behavior in addition to the speaker path.
Controls whether chat should remain available in the browser room experience.
Controls whether speakers should be allowed to share their screen inside the room.
Controls whether the room should be treated as record-enabled.
Composite recording mode for the room. Real product values include ROOM_COMPOSITE_GRID, ROOM_COMPOSITE_AND_CHAT, and ROOM_COMPOSITE_SPEAKER.
Dashboard label: Enabled.
Controls whether the room should be active right after provisioning.
Resource id returned when you create or list the video-call room.
Convenience alias for _id.
Stored room name and owning user id.
Media mode and participant limit stored on the room object.
Room-level participant experience flags returned with the room object.
Recording intent and composite mode stored for the room.
Room state and timestamps included in the response.
Successful responses include success: true.