Skip to main content
PATCH
/
rooms
/
:id
/
settings
Update Room Settings
curl --request PATCH \
  --url https://api.example.com/rooms/:id/settings \
  --header 'Content-Type: application/json' \
  --data '
{
  "allowScreenShare": true,
  "allowChat": true,
  "allowParticipantVideo": true,
  "allowParticipantAudio": true,
  "waitingRoom": true,
  "isLocked": true
}
'
{
  "400": {},
  "401": {},
  "403": {},
  "404": {},
  "id": "<string>",
  "code": "<string>",
  "name": "<string>",
  "hostId": "<string>",
  "isActive": true,
  "isLocked": true,
  "startedAt": "<string>",
  "endedAt": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "host": {
    "id": "<string>",
    "displayName": "<string>",
    "avatarUrl": "<string>"
  },
  "settings": {
    "id": "<string>",
    "roomId": "<string>",
    "allowChat": true,
    "allowScreenShare": true,
    "allowGuestAccess": true,
    "waitingRoom": true,
    "muteParticipantsOnJoin": true,
    "maxParticipants": 123
  }
}
Update room settings. Only the room host can update settings. Authentication is required.

Authentication

This endpoint requires JWT authentication. The authenticated user must be the room host.

Parameters

id
string
required
The unique room ID

Request Body

All fields are optional. Only include fields you want to update.
allowScreenShare
boolean
Enable or disable screen sharing for participants
allowChat
boolean
Enable or disable chat functionality in the room
allowParticipantVideo
boolean
Enable or disable video for participants
allowParticipantAudio
boolean
Enable or disable audio for participants
waitingRoom
boolean
Enable or disable waiting room feature
isLocked
boolean
Lock or unlock the room. When locked, no new participants can join

Response

Returns the updated room object with all settings.
id
string
required
Unique identifier for the room
code
string
required
The room’s unique code
name
string
required
Name of the room
hostId
string
required
ID of the room host
isActive
boolean
required
Whether the room is currently active
isLocked
boolean
required
Whether the room is locked
startedAt
string
required
ISO 8601 timestamp when the room was started
endedAt
string
ISO 8601 timestamp when the room ended (null if still active)
createdAt
string
required
ISO 8601 timestamp when the room was created
updatedAt
string
required
ISO 8601 timestamp when the room was last updated
host
object
required
Information about the room host
id
string
required
Host user ID
displayName
string
required
Host display name
avatarUrl
string
URL to host’s avatar image
settings
object
required
Updated room settings
id
string
required
Settings ID
roomId
string
required
Associated room ID
allowChat
boolean
required
Whether chat is enabled
allowScreenShare
boolean
required
Whether screen sharing is allowed
allowGuestAccess
boolean
required
Whether guests can join without authentication
waitingRoom
boolean
required
Whether waiting room is enabled
muteParticipantsOnJoin
boolean
required
Whether participants are muted when they join
maxParticipants
integer
required
Maximum number of participants allowed

Example Request

curl -X PATCH https://api.neuronmeet.com/rooms/clx1a2b3c4d5e6f7g8h9i0j/settings \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "allowChat": false,
    "isLocked": true,
    "waitingRoom": false
  }'

Example Response

{
  "id": "clx1a2b3c4d5e6f7g8h9i0j",
  "code": "abc-def-ghi",
  "name": "Team Standup",
  "hostId": "clx0a1b2c3d4e5f6g7h8i9j",
  "isActive": true,
  "isLocked": true,
  "startedAt": "2026-03-03T10:30:00.000Z",
  "endedAt": null,
  "createdAt": "2026-03-03T10:30:00.000Z",
  "updatedAt": "2026-03-03T10:45:00.000Z",
  "host": {
    "id": "clx0a1b2c3d4e5f6g7h8i9j",
    "displayName": "John Doe",
    "avatarUrl": "https://example.com/avatar.jpg"
  },
  "settings": {
    "id": "clx2a3b4c5d6e7f8g9h0i1j",
    "roomId": "clx1a2b3c4d5e6f7g8h9i0j",
    "allowChat": false,
    "allowScreenShare": true,
    "allowGuestAccess": true,
    "waitingRoom": false,
    "muteParticipantsOnJoin": false,
    "maxParticipants": 10
  }
}

End Room

To end a room permanently, use the DELETE endpoint.

Endpoint

DELETE /rooms/:id

Authentication

Requires JWT authentication. Only the room host can end the room.

Example Request

curl -X DELETE https://api.neuronmeet.com/rooms/clx1a2b3c4d5e6f7g8h9i0j \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "id": "clx1a2b3c4d5e6f7g8h9i0j",
  "code": "abc-def-ghi",
  "name": "Team Standup",
  "hostId": "clx0a1b2c3d4e5f6g7h8i9j",
  "isActive": false,
  "isLocked": false,
  "startedAt": "2026-03-03T10:30:00.000Z",
  "endedAt": "2026-03-03T11:00:00.000Z",
  "createdAt": "2026-03-03T10:30:00.000Z",
  "updatedAt": "2026-03-03T11:00:00.000Z"
}

Error Codes

400
error
Bad Request - Validation errors in request body
{
  "statusCode": 400,
  "message": ["allowChat must be a boolean"],
  "error": "Bad Request"
}
401
error
Unauthorized - Missing or invalid JWT token
403
error
Forbidden - User is not the room host
{
  "statusCode": 403,
  "message": "Only the host can update room settings"
}
404
error
Not Found - Room with the specified ID does not exist
{
  "statusCode": 404,
  "message": "Room not found"
}

Build docs developers (and LLMs) love