Create room

View as MarkdownOpen in Claude
Creates a reusable Video Room in the project for applications built with a SignalWire client SDK. Your server issues Room Tokens to participants and your application provides the client experience. For hosted guest and moderator access, use [Create video conference](/docs/apis/rest/video/video-conferences/create-video-conference). #### 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).

Authentication

AuthorizationBasic
SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ```

Request

This endpoint expects an object.
namestringRequiredformat: "^[A-Za-z0-9_\-]+$"<=100 characters

A named unique identifier for the room. Allowed characters: A-Za-z0-9_-. Maximum of 100 characters.

display_namestringOptional<=200 characters
Display name of the room. Maximum of 200 characters. Defaults to the value of name.
descriptionstringOptional<=3000 characters
Description of the room. Maximum of 3000 characters.
max_membersintegerOptional1-300Defaults to 20
The maximum number of members in the room at a time. Must be at least 1 to a maximum of 300.
qualityenumOptionalDefaults to 720p
The room's resolution.
join_fromdatetimeOptional

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_untildatetimeOptional

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_atdatetimeOptional

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_elapsedintegerOptional1-200000
Remove users after they are in the room for N seconds.
layoutenumOptionalDefaults to grid-responsive
The room's initial layout.
record_on_startbooleanOptionalDefaults to false
Specifies whether to start recording a Room Session when one is started for this Room.
enable_room_previewsbooleanOptionalDefaults to false
Whether a video with a preview of the content of the room is to be generated.
metaobjectOptional

User-defined metadata for the room. Must be a valid JSON object. Maximum of 2000 characters when serialized.

sync_audio_videobooleanOptional

Enable/disable jitter buffer audio-video sync.

Response

The request has succeeded.
idstringformat: "uuid"
A unique identifier for the room.
namestring
A named unique identifier for the room.
display_namestring or null
Display name of the room.
descriptionstring or null
Description of the room.
max_membersinteger
The maximum number of members in the room at a time.
qualityenum
The room's resolution.
fpsinteger
Frames per second parameter of room video quality.
join_fromdatetime or null
Room does not accept new participants before this time.
join_untildatetime or null
Room stops accepting new participants at this time.
remove_atdatetime or null
Remove users from the room at this time.
remove_after_seconds_elapsedinteger or null
Remove users after they are in the room for N seconds.
layoutenum
The room's initial layout.
record_on_startboolean
Specifies whether to start recording a Room Session when one is started for this Room.
tone_on_entry_and_exitboolean
Whether a tone is played when participants enter or exit the room.
room_join_video_offboolean
Whether the room's video is turned off when participants join.
user_join_video_offboolean
Whether a user's video is turned off when they join the room.
enable_room_previewsboolean or null
Whether a video with a preview of the content of the room is to be generated.
sync_audio_videoboolean or null

Enable/disable jitter buffer audio-video sync.

metaobject or null

User-defined metadata for the room.

prioritize_handraiseboolean
Whether hand raises are prioritized in the room layout.
created_atdatetime
Timestamp when the room was created.
updated_atdatetime
Timestamp when the room was last updated.
active_sessionobjectOptional
Active session information for the room.

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error
500
Internal Server Error