Room

Note: The Legacy API (V1) will remain fully functional. However, we recommend you use our new API to leverage the new functionalities and features and stay up to date with future releases; you can continue to check the docs for the Legacy API (V1)s here.

Create Room using API

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

POSTCreate Room API
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 a room.

eu - European Union

in - India

us - United States


auto Fallback to region of the template (default value)
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

recording_info in room acts as an atomic property. Following describes the way recording_info depends on recording settings defined in a template.

  • If recording_info key is not provided in the api, the room will fill it with recording settings from template. And the response body will include recording_source_template: true. This means, whenever recording info is changed in template, they will also be reflected in room's recording settings.
  • If recording_info key is provided in the api, the room's recording settings will not depend on template at all.

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 ID for the AWS account hosting the s3 bucket for storing recordingsYes
secretstringsecret access key for the AWS account hosting the s3 bucket for storing recordingsYes

The access keys should have read(GetObject) and write(PutObject) permissions for the s3 bucket. For more details check - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html

Disable Room

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

POSTDisable Room API
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

Have a suggestion? Recommend changes ->

Run in postman

Was this helpful?

1234