v77

latestOpenAPI 3.1.0MITraw.githubusercontent.com2026-08-012528701.8 MB
Rooms

Create room

Create a room.

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.

post/api/video/rooms

Request body

namestring required

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

display_namestring

Display name of the room. Maximum of 200 characters. Defaults to the value of name.

descriptionstring

Description of the room. Maximum of 3000 characters.

max_membersinteger

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_fromstring 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_untilstring 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_atstring 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_elapsedinteger

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_startboolean

Specifies whether to start recording a Room Session when one is started for this Room.

enable_room_previewsboolean

Whether a video with a preview of the content of the room is to be generated.

metaobject

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

sync_audio_videoboolean

Enable/disable jitter buffer audio-video sync.

Example request

{
  "name": "my_room",
  "display_name": "My Room's Name",
  "description": "This room will be used for full company all hands meetings",
  "max_members": 20,
  "join_from": "2022-01-01T00:00:00Z",
  "join_until": "2022-12-31T23:59:59Z",
  "remove_at": "2022-12-31T23:59:59Z",
  "remove_after_seconds_elapsed": 120,
  "meta": {},
  "sync_audio_video": true
}

Response

The request has succeeded.

idstring uuid required

Universal Unique Identifier.

namestring required

A named unique identifier for the room.

display_namestring nullable required

Display name of the room.

descriptionstring nullable required

Description of the room.

max_membersinteger required

The maximum number of members in the room at a time.

quality'720p' | '1080p' required

Video quality resolution.

fpsinteger required

Frames per second parameter of room video quality.

join_fromstring date-time nullable required

Room does not accept new participants before this time.

join_untilstring date-time nullable required

Room stops accepting new participants at this time.

remove_atstring date-time nullable required

Remove users from the room at this time.

remove_after_seconds_elapsedinteger 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_startboolean required

Specifies whether to start recording a Room Session when one is started for this Room.

tone_on_entry_and_exitboolean required

Whether a tone is played when participants enter or exit the room.

room_join_video_offboolean required

Whether the room's video is turned off when participants join.

user_join_video_offboolean required

Whether a user's video is turned off when they join the room.

enable_room_previewsboolean nullable required

Whether a video with a preview of the content of the room is to be generated.

sync_audio_videoboolean nullable required

Enable/disable jitter buffer audio-video sync.

metaobject nullable required

User-defined metadata for the room.

prioritize_handraiseboolean required

Whether hand raises are prioritized in the room layout.

created_atstring date-time required

Timestamp when the room was created.

updated_atstring date-time required

Timestamp when the room was last updated.

Example response

{
  "name": "my_room",
  "display_name": "My Room's Name",
  "description": "This room will be used for full company all hands meetings",
  "max_members": 20,
  "fps": 20,
  "join_from": "2022-01-01T00:00:00Z",
  "join_until": "2022-12-31T23:59:59Z",
  "remove_at": "2022-12-31T23:59:59Z",
  "remove_after_seconds_elapsed": 120,
  "tone_on_entry_and_exit": true,
  "sync_audio_video": true,
  "meta": {},
  "active_session": {
    "id": "c22d24f6-5a47-4597-9a23-c7d01e696b92",
    "room_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
    "name": "my_example_room",
    "display_name": "My Room's Name",
    "join_from": "2022-01-01T00:00:00Z",
    "join_until": "2022-12-31T23:59:59Z",
    "remove_at": "2022-12-31T23:59:59Z",
    "remove_after_seconds_elapsed": 120,
    "layout": "grid-responsive",
    "max_members": 20,
    "start_time": "2022-01-01T10:00:00Z",
    "end_time": "2022-01-01T11:00:00Z",
    "duration": 120,
    "record_on_start": true,
    "enable_room_previews": true,
    "preview_url": "https://example.signalwire.com/api/video/room_sessions/c22d24f6-5a47-4597-9a23-c7d01e696b92/preview",
    "audio_video_sync": true
  },
  "created_at": "2022-01-01T10:00:00Z",
  "updated_at": "2022-01-01T11:00:00Z"
}