---
title: "Update room"
method: PUT
path: "/api/video/rooms/{id}"
tags: ["Rooms"]
---

# Update room

`PUT /api/video/rooms/{id}`

Changes how an existing Video Room runs for subsequent joins while preserving the same project resource and unique name. Use client SDK controls for actions on participants in an active session.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Video_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `id` string, uuid, required — Universal Unique Identifier.

## Request body

- VideoUpdateRoomRequest — Request body for updating a room.
  - `display_name` string — Display name of the room. Maximum of 200 characters. Defaults to the value of name.
  - `description` string — Description of the room. Maximum of 3000 characters.
  - `max_members` integer — The maximum number of members in the room at a time. Must be at least 1 to a maximum of 300.
  - `quality` '720p' | '1080p' — Video quality resolution.
  - `join_from` string, date-time — Room does not accept new participants before this time. Expects RFC 3339 datetime: `2022-01-01T23:59:60Z`. Date only: `2022-01-01` will be converted to `2022-01-01T00:00:00Z`.
  - `join_until` string, date-time — Room stops accepting new participants at this time, but keeps running until all participants leave. Expects RFC 3339 datetime: `2022-01-01T23:59:60Z`. Date only: `2022-01-01` will be converted to `2022-01-01T00:00:00Z`.
  - `remove_at` string, date-time — Remove users from the room at this time. Expects RFC 3339 datetime: `2022-01-01T23:59:60Z`. Date only: `2022-01-01` will be converted to `2022-01-01T00:00:00Z`.
  - `remove_after_seconds_elapsed` integer — Remove users after they are in the room for N seconds.
  - `layout` 'grid-responsive' | 'grid-responsive-mobile' | 'highlight-1-responsive' | '1x1' | '2x1' | '2x2' | '5up' | '3x3' | '4x4' | '5x5' | '6x6' | '8x8' | '10x10' — The room's layout.
  - `record_on_start` boolean — Specifies whether to start recording a Room Session when one is started for this Room.
  - `enable_room_previews` boolean — Whether a video with a preview of the content of the room is to be generated.
  - `meta` object — User-defined metadata for the room. Must be a valid JSON object. Maximum of 2000 characters when serialized.
  - `sync_audio_video` boolean — Enable/disable jitter buffer audio-video sync.

## Response `200`

The request has succeeded.

- VideoRoomResponse — Room response object.
  - `id` string, uuid, required — Universal Unique Identifier.
  - `name` string, required — A named unique identifier for the room.
  - `display_name` string, nullable, required — Display name of the room.
  - `description` string, nullable, required — Description of the room.
  - `max_members` integer, required — The maximum number of members in the room at a time.
  - `quality` '720p' | '1080p', required — Video quality resolution.
  - `fps` integer, required — Frames per second parameter of room video quality.
  - `join_from` string, date-time, nullable, required — Room does not accept new participants before this time.
  - `join_until` string, date-time, nullable, required — Room stops accepting new participants at this time.
  - `remove_at` string, date-time, nullable, required — Remove users from the room at this time.
  - `remove_after_seconds_elapsed` integer, nullable, required — Remove users after they are in the room for N seconds.
  - `layout` 'grid-responsive' | 'grid-responsive-mobile' | 'highlight-1-responsive' | '1x1' | '2x1' | '2x2' | '5up' | '3x3' | '4x4' | '5x5' | '6x6' | '8x8' | '10x10', required — The room's layout.
  - `record_on_start` boolean, required — Specifies whether to start recording a Room Session when one is started for this Room.
  - `tone_on_entry_and_exit` boolean, required — Whether a tone is played when participants enter or exit the room.
  - `room_join_video_off` boolean, required — Whether the room's video is turned off when participants join.
  - `user_join_video_off` boolean, required — Whether a user's video is turned off when they join the room.
  - `enable_room_previews` boolean, nullable, required — Whether a video with a preview of the content of the room is to be generated.
  - `sync_audio_video` boolean, nullable, required — Enable/disable jitter buffer audio-video sync.
  - `meta` object, nullable, required — User-defined metadata for the room.
  - `prioritize_handraise` boolean, required — Whether hand raises are prioritized in the room layout.
  - `active_session` VideoActiveSession — Active session information for a room.
    - `id` string — Unique ID of the session.
    - `room_id` string — Unique ID of the Room if the Session was created from a Room and was not an auto-created Session.
    - `name` string — The named identifier of room session.
    - `display_name` string — Display name of room, no character limitations. Maximum of 200 characters. Defaults to the value of name.
    - `join_from` string, date-time — Room Session does not accept new Members before this time.
    - `join_until` string, date-time — Room Session stops accepting new Members at this time.
    - `remove_at` string, date-time — Remove Members from the Room Session at this time.
    - `remove_after_seconds_elapsed` integer — Remove Members after they are in the Room Session for N seconds.
    - `layout` string — The Room Session's initial layout. See documentation for a full list of supported layouts.
    - `max_members` integer — The maximum number of members allowed in the room at a time.
    - `fps` 20 | 30 — Video frames per second.
    - `quality` '720p' | '1080p' — Video quality resolution.
    - `start_time` string, date-time — Start time of the session.
    - `end_time` string, date-time — End time of the session.
    - `duration` integer — How long, in seconds, the Room Session lasted.
    - `status` 'in-progress' | 'completed' — Status of a room session.
    - `record_on_start` boolean — Whether a recording was automatically started when this Room Session began.
    - `enable_room_previews` boolean — Whether a video with a preview of the content of the room is to be generated.
    - `preview_url` string — If room previews are enabled and the room session is in progress, this is the URL of the preview video.
    - `audio_video_sync` boolean — Enable/disable jitter buffer audio-video sync.
  - `created_at` string, date-time, required — Timestamp when the room was created.
  - `updated_at` string, date-time, required — Timestamp when the room was last updated.

## Other responses

- `400` — The request is invalid.
- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `422` — The request contains invalid parameters. See errors for details.
- `500` — An internal server error occurred.

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/revisions/792d5b8e2970/schema)
