Welcome to the new Daily Docs. Please let us know what you think.

POST
/rooms/:room

A POST request to /rooms/:name modifies a room object's privacy or configuration properties.

Returns a room object if the operation is successful.

In the case of an error, returns an HTTP error with information about the error in the response body.

Heads up!

See room configuration for a discussion of the room object and a table of all room configuration options.

Example: change a room's privacy

Example: change a room's max_participants property

Example: change a room's max_participants property back to default


Path params

name
string

Defaults to a randomly generated string A room name can include only the uppercase and lowercase ascii letters, numbers, dash and underscore. In other words, this regexp detects an invalid room name: /[^A-Za-z0-9_-]/.

Together, the domain name and the room name cannot exceed 41 characters. You'll get an error if you try to create a room with a name that's too long.

Body params

privacy
string
Determines who can access the room.
Options: "public","private"
Default: "public"

properties

nbf
integer

"Not before". This is a unix timestamp (seconds since the epoch.) Users cannot join a meeting in this room before this time.

Default: <not set>
exp
integer

"Expires". This is a unix timestamp (seconds since the epoch.) Users cannot join a meeting in this room after this time.

More resources:

Default: <not set>
max_participants
integer

How many people are allowed in a room at the same time.

⚠️ Contact us if you need to set the limit above 200.

Default: 200
autojoin
boolean

Skip the initial meeting join page and go straight into the call.

❗️ autojoin will soon be deprecated, and is only supported when using the old prebuilt interface. To future proof your calls, use Daily Prebuilt and set enable_prejoin_ui to false for the same effect.

Default: true
enable_new_call_ui
boolean

Sets whether the room uses Daily Prebuilt or the previous video chat interface.

default: false for existing customers; true for new signups

⚠️ This property will eventually be deprecated, once Daily Prebuilt is the only available interface experience.

Default: false
enable_prejoin_ui
boolean

Determines whether participants enter a waiting room with a camera, mic, and browser check before joining a call.

⚠️ You must be using Daily Prebuilt to use enable_prejoin_ui. You must also have signaling_impl set to "ws".

Default: NULL
enable_network_ui
boolean

Determines whether the network button, and the network panel it reveals on click, appears in this room.

⚠️ You must be using Daily Prebuilt to use enable_network_ui.

Default: false
enable_knocking
boolean

Turns on a lobby experience for private rooms. A participant without a corresponding meeting token can request to be admitted to the meeting with a "knock", and wait for the meeting owner to admit them.

Requires the signaling_impl room or domain property set to "ws".

Default: false
enable_screenshare
boolean
Default: true
enable_chat
boolean
Default: false
start_video_off
boolean

When a participant first joins a meeting in a room, keep their camera off.

Default: false
start_audio_off
boolean

When a participant first joins a meeting in a room, keep their microphone muted.

Default: false
owner_only_broadcast
boolean

Only the meeting owners are allowed to turn on camera, unmute mic, and share screen

See setting up calls.

Default: false
enable_recording
string

Jump to recording docs.

For more on rtp-tracks, see our blog post about server-side recording.

Note: If you’re planning to use output-byte-stream, you must monitor recording-data events.

Options: "cloud","local","rtp-tracks","output-byte-stream","<not set>"
Default: <not set>
eject_at_room_exp
boolean

If there's a meeting going on at room exp time, end the meeting by kicking everyone out. This behavior can be overridden by setting eject properties of a meeting token.

Default: false
eject_after_elapsed
integer

Eject a meeting participant this many seconds after the participant joins the meeting. You can use this is a default length limit to prevent long meetings. This can be overridden by setting eject properties of a meeting token.

lang
string

The default language of the Daily prebuilt video call UI, for this room.

Setting the language at the room level will override any domain-level language settings you have.

Read more about changing prebuilt UI language settings.

* Norwegian is only available in the new Daily Prebuilt

Options: "en","de","fi","fr","nl","pt","pl","sv","es","tr","it","ka","jp","no*","user"
Default: "en"
meeting_join_hook
string

Sets a URL that will receive a webhook when a user joins a room. Default is NULL. Character limit for webhook URL is 255.

More resources:

Default: NULL
signaling_imp
string

Sets the signaling type.

Options: "ws"
Default: "ws"