Room

Introduction

Room is a virtual space which holds conferencing of the people. To allow users to join a 100ms video conferencing session inside your app, you first need to create a room.

Create Room

You can create room using either dashboard or API.

Create Room using Dashboard

You can create room on 100ms Dashboard. While creating a room you can specify it's name, template, region and/or enable SFU recording.

Room creation via dashboard is helpful in doing quick POC or creating smaller number of rooms.

Create a room

You can add or modify templates on 100ms Dashboard.

Room details on dashboard

Create Room using API

You can also create room using API. This provides a more scalable way of creating room.

POSTCreate Room API
https://prod-in2.100ms.live/api/v2/rooms

This endpoint is used to create Room.

curl https://prod-in2.100ms.live/api/v2/rooms -H 'Authorization: Bearer <management_token>' -X POST -H 'Content-Type: application/json' -d '{"name": "test-room", "description": "This is a test room", "recording_info": {"enabled": true, "upload_info": {"type": "s3", "location": "test-bucket", "prefix": "test-prefix", "options": {"region": "ap-south-1"}, "credentials": {"key": "aws-access-key", "secret": "aws-secret-key"}}}}'

Headers

NameValueRequired
Content-type
application/jsonYes
Authorization
Bearer <management token>Yes

Body Paramters

NameTypeDescriptionRequired
name
stringA unique identifier you can assign to 100ms rooms. This is case-insensitive. Accepted characters are a-z, A-Z, 0-9, and . - : _. If not provided, this is generated automatically.

Note:

(1) If create Room is called with an existing room name, then the corresponding room ID is returned

(2) Providing room name will be helpful if you want to disable the room later (disable room API requires room name)
No
description
stringA string to describe your room's usage. E.g. "9PM English Class Batch 2"No
template
stringTemplate of the room. You can get template name from room details section on dashboardNo
recording_info
objectObject of type recording_info. This object contains information for enabling recording/setting storage location for recordings.No
region
stringRegion in which you want to create room.

in - India

us - United States

eu - European Union

auto Automatic region selection (default, and in case this parameter is not provided)
No

recording_info

NameTypeDescriptionRequired
enabledbooleanEnable SFU recording. Disabled by defaultNo
upload_infoobjectObject of type upload_info. This object contains information on recordings storage location. If you want to store recording with 100ms, and not use your own s3, don't add this to the objectNo

To know more about recording please visit Recording

upload_info

NameTypeDescriptionRequired
typestringUpload Destination type. Currently, only s3 is supportedYes
locationstringName of the AWS s3 bucket in which you want to store all recordingsYes
prefixstringUpload prefix pathNo
optionsobjectAdditional configurations of type Options to be used for uploadingNo
credentialsobjectObject of type Credentials. This is used to share AWS credentials to access the s3 bucket specified.No

Options

NameTypeDescriptionRequired
regionstringRegion of the AWS account hosting the s3 bucket for storing recordings. If not provided it is assumed to be ap-south-1No

Credentials

NameTypeDescriptionRequired
keystringAccess Key for the AWS account hosting the s3 bucket for storing recordingsYes
secretstringSecret for the AWS account hosting the s3 bucket for storing recordingsYes

Disable Room

This API can be used to disable a room from further use

POSTDisable Room API
https://prod-in2.100ms.live/api/v2/rooms

This endpoint is used to disable a Room.

curl https://prod-in2.100ms.live/api/v2/rooms -H 'Authorization: Bearer <management_token>' -X POST -H 'Content-Type: application/json' -d '{"name": "test-room", "active": "false"}'

Headers

NameValueRequired
Content-type
application/jsonYes
Authorization
Bearer <management token>Yes

Body Paramters

NameTypeDescriptionRequired
name
stringRoom name as given during creation of the roomYes
active
boolFlag to indicate disabling of the room, should be set to falseYes