Room Management – Create Room
Create a new video conferencing room with comprehensive configuration options. Requires a valid Bearer token.
Authentication
Include the token in the Authorization
header:
Authorization: Bearer <YOUR_AUTH_TOKEN>
Endpoint
POSThttps://api.samvyo.com/api/roomSetting
Required Headers
Content-Type: application/json
Authorization: Bearer <YOUR_AUTH_TOKEN>
Request Body
{
"audioStatus": true,
"authenticationRequired": true,
"enableChatOption": true,
"enableLiveStreaming": false,
"enablePresenters": true,
"enableRTMPStreaming": false,
"enableRecording": true,
"enableScreenSharing": true,
"enableTranscription": false,
"isStatic": true,
"liveStreamKey": null,
"liveStreamUrl": null,
"name": "team-meeting-room",
"noOfModerators": 5,
"noOfParticipants": 20,
"noOfUpgradeRequests": 3,
"noOfViewers": 0,
"participantPrivacy": false,
"recordModerator": true,
"recordParticipant": false,
"recordingFormat": "hls",
"recordingResolutions": ["480p", "1080p", "2160p"],
"recordingStrategy": "mergedAV",
"room": 1234567890,
"roomOwnerId": "<USER_ID>",
"roomPassword": "",
"roomType": "event",
"videoStatus": true,
"roomPermaLink": true
}
Field Reference
Required Fields
- name: Room name/identifier (string)
- roomOwnerId: User ID of the room owner (string)
Optional Fields
Basic Configuration
- room: Room ID (number, auto-generated if not provided)
- roomType: Type of room - "p2p", "conferencing", or "event" (string, default: "conferencing")
- roomPassword: Password for room access (string, optional)
- isStatic: Whether room persists after meetings (boolean, default: false)
Participant Limits
- noOfModerators: Maximum number of moderators (number, default: 1)
- noOfParticipants: Maximum number of participants (number, default: 1)
- noOfViewers: Maximum number of viewers (number, default: 0)
- noOfUpgradeRequests: Number of upgrade requests allowed (number, default: 3)
Media Controls
- audioStatus: Enable audio in room (boolean, default: true)
- videoStatus: Enable video in room (boolean, default: true)
- enableScreenSharing: Allow screen sharing (boolean, default: true)
- enableChatOption: Enable chat functionality (boolean, default: true)
Recording & Advanced Features
- enableRecording: Enable meeting recording (boolean, default: false)
- recordingFormat: Recording format - "hls" or "mp4" (string, default: "hls")
- recordModerator: Record moderator audio/video (boolean, default: false)
- recordParticipant: Record participant audio/video (boolean, default: false)
- recordingResolutions: Array of recording resolutions - ["480p", "1080p", "2160p"] (array, optional)
- recordingStrategy: Recording strategy - "mergedA", "mergedAV", "AmergedAV" (string, optional)
- mergedA: Merge audio only (without video)
- mergedAV: Merge both audio and video
- AmergedAV: Automatic start merged audio & video recording
- enableTranscription: Enable meeting transcription (boolean, default: false)
- enableLiveStreaming: Enable live streaming (boolean, default: false)
- liveStreamUrl: Live stream URL (string, optional)
- liveStreamKey: Live stream key (string, optional)
- enableRTMPStreaming: Enable RTMP streaming (boolean, default: false)
Security & Privacy
- authenticationRequired: Require authentication to join (boolean, default: false)
- participantPrivacy: Enable participant privacy (boolean, default: false)
- roomPermaLink: Create permanent room link (boolean, default: false)
Meeting Management
- enablePresenters: Allow multiple presenters (boolean, default: true)
Example Requests
JavaScript (fetch)
const res = await fetch('https://api.samvyo.com/api/roomSetting', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${authToken}`
},
body: JSON.stringify({
audioStatus: true,
authenticationRequired: true,
enableChatOption: true,
enableLiveStreaming: false,
enablePresenters: true,
enableRTMPStreaming: false,
enableRecording: true,
enableScreenSharing: true,
enableTranscription: false,
isStatic: true,
liveStreamKey: null,
liveStreamUrl: null,
name: 'team-meeting-room',
noOfModerators: 5,
noOfParticipants: 20,
noOfUpgradeRequests: 3,
noOfViewers: 0,
participantPrivacy: false,
recordModerator: true,
recordParticipant: false,
recordingFormat: 'hls',
recordingResolutions: ['480p', '1080p', '2160p'],
recordingStrategy: 'mergedAV',
room: 1234567890,
roomOwnerId: '<USER_ID>',
roomPassword: '',
roomType: 'event',
videoStatus: true,
roomPermaLink: true
})
});
const data = await res.json();
cURL
curl -X POST \
'https://api.samvyo.com/api/roomSetting' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_AUTH_TOKEN>' \
-d '{
"audioStatus": true,
"authenticationRequired": true,
"enableChatOption": true,
"enableLiveStreaming": false,
"enablePresenters": true,
"enableRTMPStreaming": false,
"enableRecording": true,
"enableScreenSharing": true,
"enableTranscription": false,
"isStatic": true,
"liveStreamKey": null,
"liveStreamUrl": null,
"name": "team-meeting-room",
"noOfModerators": 5,
"noOfParticipants": 20,
"noOfUpgradeRequests": 3,
"noOfViewers": 0,
"participantPrivacy": false,
"recordModerator": true,
"recordParticipant": false,
"recordingFormat": "hls",
"recordingResolutions": ["480p", "1080p", "2160p"],
"recordingStrategy": "mergedAV",
"room": 1234567890,
"roomOwnerId": "<USER_ID>",
"roomPassword": "",
"roomType": "event",
"videoStatus": true,
"roomPermaLink": true
}'
Success Response
{
"type": "post roomSetting",
"success": true,
"roomSetting": {
"room": "9639479849",
"isStatic": true,
"noOfModerators": 5,
"noOfParticipants": 20,
"noOfViewers": 0,
"authenticationRequired": true,
"name": "team-meeting-room",
"roomType": "event",
"roomPassword": "",
"participantType": null,
"videoStatus": "true",
"audioStatus": "true",
"roomStatus": "free",
"roomOwnerId": "<USER_ID>",
"createdAt": "2025-08-11T23:15:09.286Z",
"updatedAt": "2025-08-11T23:15:09.286Z",
"acceptIpCameras": false,
"totalCallTime": "0",
"enableChatOption": true,
"enableScreenSharing": true,
"enableLiveStreaming": false,
"enableRecording": true,
"enableTranscription": false,
"recordModerator": true,
"recordParticipant": false,
"participantPrivacy": false,
"recordingStrategy": "mergedAV",
"participantVideoPrivacy": false,
"roomAgenda": null,
"scheduledDateTime": null,
"enablePresenters": true,
"noOfUpgradeRequests": 3,
"enableRTMPStreaming": false,
"liveStreamUrl": null,
"liveStreamKey": null,
"recordingFormat": "hls",
"recordingResolutions": ["480p", "1080p", "2160p"],
"roomPermalink": true
}
}
Failure Response
Room creation limit reached
{
"success": false,
"message": "Room creation limit reached, please upgrade your plan"
}
Notes
- roomPermaLink: When set to
true
, creates a permanent room link that persists across meetings - roomOwnerId: Must be a valid user ID from your organization
- room: If not provided, a unique room ID will be auto-generated
- roomType: Choose "p2p" for one-on-one meetings, "conferencing" for group meetings, or "event" for large-scale events
- recordingStrategy:
- "mergedA": Merge audio only (without video)
- "mergedAV": Merge both audio and video
- "AmergedAV": Automatic start merged audio & video recording
- recordingResolutions: Available resolutions include "480p", "1080p", "2160p" (4K)
- recordingFormat: Choose "hls" for adaptive streaming or "mp4" for direct download