API Reference
Rooms Management
Edit Room

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)