Room Management – Edit Room
Update an existing room's configuration and settings. Requires a valid Bearer token.
Authentication
Include the token in the Authorization
header:
Authorization: Bearer <YOUR_AUTH_TOKEN>
Endpoint
PUThttps://api.samvyo.com/api/roomSetting
Required Headers
Content-Type: application/json
Authorization: Bearer <YOUR_AUTH_TOKEN>
Request Body
Full Update Example
{
"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": "updated-team-meeting",
"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_1>,<USER_ID_2>,<USER_ID_3>",
"roomPassword": "",
"roomType": "event",
"videoStatus": true,
"roomPermaLink": true
}
Minimal Update Example
{
"name": "updated-room-name",
"roomOwnerId": "<USER_ID_1>,<USER_ID_2>,<USER_ID_3>",
"room": "1234567890"
}
Field Reference
Required Fields
- roomOwnerId: User ID(s) of room owner(s) - can be comma-separated for multiple owners (string)
- room: Room ID to update (string/number)
Optional Fields (all fields from Create Room are available)
Basic Configuration
- name: Updated room name/identifier (string)
- roomType: Updated room type - "p2p", "conferencing", or "event" (string)
- roomPassword: Updated password for room access (string)
- isStatic: Whether room persists after meetings (boolean)
Participant Limits
- noOfModerators: Updated maximum number of moderators (number)
- noOfParticipants: Updated maximum number of participants (number)
- noOfViewers: Updated maximum number of viewers (number)
- noOfUpgradeRequests: Updated number of upgrade requests allowed (number)
Media Controls
- audioStatus: Updated audio status (boolean)
- videoStatus: Updated video status (boolean)
- enableScreenSharing: Updated screen sharing setting (boolean)
- enableChatOption: Updated chat functionality (boolean)
Recording & Advanced Features
- enableRecording: Updated recording setting (boolean)
- recordingFormat: Updated recording format - "hls" or "mp4" (string)
- recordModerator: Updated moderator recording setting (boolean)
- recordParticipant: Updated participant recording setting (boolean)
- recordingResolutions: Updated recording resolutions - ["480p", "1080p", "2160p"] (array)
- recordingStrategy: Updated recording strategy - "mergedA", "mergedAV", "AmergedAV" (string)
- mergedA: Merge audio only (without video)
- mergedAV: Merge both audio and video
- AmergedAV: Automatic start merged audio & video recording
- enableTranscription: Updated transcription setting (boolean)
- enableLiveStreaming: Updated live streaming setting (boolean)
- liveStreamUrl: Updated live stream URL (string)
- liveStreamKey: Updated live stream key (string)
- enableRTMPStreaming: Updated RTMP streaming setting (boolean)
Security & Privacy
- authenticationRequired: Updated authentication requirement (boolean)
- participantPrivacy: Updated participant privacy setting (boolean)
- roomPermaLink: Updated permanent room link setting (boolean)
Meeting Management
- enablePresenters: Updated presenter setting (boolean)
Example Requests
JavaScript (fetch) - Full Update
const res = await fetch('https://api.samvyo.com/api/roomSetting', {
method: 'PUT',
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: 'updated-team-meeting',
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_1>,<USER_ID_2>,<USER_ID_3>',
roomPassword: '',
roomType: 'event',
videoStatus: true,
roomPermaLink: true
})
});
const data = await res.json();
JavaScript (fetch) - Minimal Update
const res = await fetch('https://api.samvyo.com/api/roomSetting', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${authToken}`
},
body: JSON.stringify({
name: 'updated-room-name',
roomOwnerId: '<USER_ID_1>,<USER_ID_2>,<USER_ID_3>',
room: '1234567890'
})
});
const data = await res.json();
cURL - Full Update
curl -X PUT \
'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": "updated-team-meeting",
"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_1>,<USER_ID_2>,<USER_ID_3>",
"roomPassword": "",
"roomType": "event",
"videoStatus": true,
"roomPermaLink": true
}'
Success Response
{
"type": "put roomSetting by Id",
"success": true,
"roomSetting": {
"_id": "74",
"room": "1234567890",
"userId": "2",
"isStatic": true,
"siteSetting": "2",
"noOfModerators": 5,
"noOfParticipants": 20,
"noOfViewers": 0,
"authenticationRequired": true,
"name": "updated-team-meeting",
"roomType": "event",
"roomPassword": "",
"participantType": null,
"ipCam1": null,
"ipCamAdderess1": null,
"ipCamName2": null,
"ipAdderess2": null,
"camera": null,
"mic": null,
"videoStatus": "true",
"audioStatus": "true",
"speaker": null,
"roomStatus": "free",
"cameraMic": false,
"roomOwnerId": "<USER_ID_1>,<USER_ID_2>,<USER_ID_3>",
"createdAt": "2025-08-11T23:15:09.286Z",
"updatedAt": "2025-08-12T06:06:36.090Z",
"acceptIpCameras": false,
"isParticipantAllowedToAddIpCam": false,
"isViewerAllowedToAddIpCam": false,
"noOfIpCam": 0,
"ipCamNames": null,
"ipCamUrl": null,
"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
}
}
Notes
- roomOwnerId: Can include multiple user IDs separated by commas for shared ownership
- Partial Updates: You can update only specific fields - only provided fields will be modified
- room: Must be the existing room ID you want to update
- Multiple Owners: When updating roomOwnerId, you can assign multiple owners by separating user IDs with commas
- 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)