MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Pagination

Base URL

https://api.digitalsamba.com

Authenticating requests

Authenticate requests to this API's endpoints by sending an Authorization header with the value "Bearer base64(teamId:teamDeveloperKey)".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Iframe integration

Room url has the following structure

To create {jwtToken} you need to generate a JWT token with HS256 algorithm, signed with {team.developer_key} as secret and a payload described below

Payload structure

td  string  

The UUID of the team.

rd  string  

The UUID of the room.

ud  string optional  

External user identifier.

u  string optional  

User name. If not provided the user will see a screen to input his name.

role  string optional  

Role id or name. If not provided the default role will be used.

avatar  string optional  

The url of the user's avatar image. Will be used as image for user's tile when his video is disabled.

iat  timestamp optional  

Token issued at timestamp

exp  timestamp optional  

Token expiration timestamp

nbf  timestamp optional  

Token not valid before timestamp

Rooms

Get all team rooms.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "data": [
        {
            "id": "d7395371-77c8-3623-af7f-51f83a74ce5c",
            "topic": "Sunt et quo.",
            "friendly_url": "D-41YHwkliiqZxjvsQ6RhJKQ6sBJYTvf",
            "privacy": "public",
            "max_participants": 100,
            "topbar_enabled": true,
            "toolbar_enabled": true,
            "toolbar_position": "bottom",
            "toolbar_color": "#000000",
            "primary_color": "#3771E0",
            "background_color": "#000000",
            "palette_mode": "light",
            "language": "en",
            "language_selection_enabled": true,
            "audio_on_join_enabled": true,
            "video_on_join_enabled": true,
            "screenshare_enabled": true,
            "participants_list_enabled": true,
            "logo_enabled": true,
            "virtual_backgrounds_enabled": true,
            "raise_hand_enabled": true,
            "chat_enabled": true,
            "pin_enabled": true,
            "full_screen_enabled": true,
            "minimize_own_tile_enabled": true,
            "end_session_enabled": true,
            "layout_mode_switch_enabled": true,
            "simple_notifications_enabled": true,
            "join_screen_enabled": true,
            "participant_names_in_recordings_enabled": true,
            "invite_participants_enabled": true,
            "whiteboard_enabled": true,
            "consent_message_enabled": true,
            "consent_message_type": "generic",
            "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
            "checkbox_message": "Don’t show this again.",
            "recordings_layout_mode": "tiled",
            "layout_mode_on_join": "tiled",
            "room_url": "https://dc6eab40304496eebcd7fd8515df7254.digitalsamba.com/D-41YHwkliiqZxjvsQ6RhJKQ6sBJYTvf",
            "external_id": "EXTID1499001355",
            "created_at": "2023-09-21T18:12:32Z",
            "updated_at": "2023-09-21T18:12:32Z",
            "captions_mode": "live_speech",
            "captions_language": "en-US"
        },
        {
            "id": "b3459cc0-c430-3533-90bd-4ac6bbc9e414",
            "topic": "Impedit nemo quo ex.",
            "friendly_url": "xq_08geBhlb0RcPAggd0SRe8Y_esqlPB",
            "privacy": "public",
            "max_participants": 100,
            "topbar_enabled": true,
            "toolbar_enabled": true,
            "toolbar_position": "bottom",
            "toolbar_color": "#000000",
            "primary_color": "#3771E0",
            "background_color": "#000000",
            "palette_mode": "light",
            "language": "en",
            "language_selection_enabled": true,
            "audio_on_join_enabled": true,
            "video_on_join_enabled": true,
            "screenshare_enabled": true,
            "participants_list_enabled": true,
            "logo_enabled": true,
            "virtual_backgrounds_enabled": true,
            "raise_hand_enabled": true,
            "chat_enabled": true,
            "pin_enabled": true,
            "full_screen_enabled": true,
            "minimize_own_tile_enabled": true,
            "end_session_enabled": true,
            "layout_mode_switch_enabled": true,
            "simple_notifications_enabled": true,
            "join_screen_enabled": true,
            "participant_names_in_recordings_enabled": true,
            "invite_participants_enabled": true,
            "whiteboard_enabled": true,
            "consent_message_enabled": true,
            "consent_message_type": "generic",
            "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
            "checkbox_message": "Don’t show this again.",
            "recordings_layout_mode": "tiled",
            "layout_mode_on_join": "tiled",
            "room_url": "https://d8df74309ab0487cdd391cf3fbf4f933.digitalsamba.com/xq_08geBhlb0RcPAggd0SRe8Y_esqlPB",
            "external_id": "EXTID1024829225",
            "created_at": "2023-09-21T18:12:33Z",
            "updated_at": "2023-09-21T18:12:33Z",
            "captions_mode": "live_speech",
            "captions_language": "en-US"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/rooms

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

after  string optional  

The UUID of the room or room friendly URL after which records will be returned.

Get the specified room.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "c41bfc81-faa5-3310-ae74-cca814277e78",
    "topic": "Quia enim facere.",
    "friendly_url": "l4c72EzG5KIeQUaP9oZEAXZwgksi9XCU",
    "privacy": "public",
    "max_participants": 100,
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": true,
    "toolbar_position": "bottom",
    "toolbar_color": "#000000",
    "primary_color": "#3771E0",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": true,
    "screenshare_enabled": true,
    "participants_list_enabled": true,
    "recordings_enabled": false,
    "logo_enabled": true,
    "custom_logo": null,
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "chat_enabled": true,
    "pin_enabled": true,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
    "checkbox_message": "Don’t show this again.",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "room_url": "https://a2c6d870f6214188b440745b39cf7b97.digitalsamba.com/l4c72EzG5KIeQUaP9oZEAXZwgksi9XCU",
    "external_id": "EXTID863102483",
    "html_title": null,
    "created_at": "2023-09-21T18:12:33Z",
    "updated_at": "2023-09-21T18:12:33Z",
    "captions_enabled": false,
    "captions_mode": "live_speech",
    "captions_in_recordings_enabled": false,
    "captions_language": "en-US"
}
 

Request      

GET api/v1/rooms/{room}

URL Parameters

room  string  

The UUID of the room or room friendly URL.

Create a new room.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.digitalsamba.com/api/v1/rooms',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'topic' => 'standup',
            'friendly_url' => 'my-standup',
            'privacy' => 'public',
            'external_id' => 'myExtID123',
            'default_role' => 'moderator',
            'roles' => [
                'moderator',
            ],
            'is_locked' => true,
            'topbar_enabled' => false,
            'toolbar_enabled' => false,
            'toolbar_position' => 'right',
            'toolbar_color' => '#FF0000',
            'primary_color' => '#008000',
            'background_color' => '#000000',
            'palette_mode' => 'light',
            'language' => 'en',
            'language_selection_enabled' => true,
            'audio_on_join_enabled' => false,
            'video_on_join_enabled' => false,
            'pin_enabled' => false,
            'full_screen_enabled' => true,
            'minimize_own_tile_enabled' => true,
            'minimize_own_tile_on_join_enabled' => false,
            'end_session_enabled' => false,
            'chat_enabled' => true,
            'e2ee_enabled' => false,
            'layout_mode_switch_enabled' => true,
            'simple_notifications_enabled' => true,
            'join_screen_enabled' => false,
            'screenshare_enabled' => true,
            'recordings_enabled' => false,
            'logo_enabled' => true,
            'custom_logo' => 'ratione',
            'recording_logo_enabled' => false,
            'virtual_backgrounds_enabled' => true,
            'raise_hand_enabled' => false,
            'participant_names_in_recordings_enabled' => true,
            'invite_participants_enabled' => true,
            'whiteboard_enabled' => false,
            'consent_message_enabled' => true,
            'consent_message_type' => 'generic',
            'consent_message' => 'ut',
            'checkbox_message' => 'facere',
            'recordings_layout_mode' => 'tiled',
            'layout_mode_on_join' => 'tiled',
            'max_participants' => 50,
            'html_title' => 'My room',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "topic": "standup",
    "friendly_url": "my-standup",
    "privacy": "public",
    "external_id": "myExtID123",
    "default_role": "moderator",
    "roles": [
        "moderator"
    ],
    "is_locked": true,
    "topbar_enabled": false,
    "toolbar_enabled": false,
    "toolbar_position": "right",
    "toolbar_color": "#FF0000",
    "primary_color": "#008000",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": false,
    "video_on_join_enabled": false,
    "pin_enabled": false,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": false,
    "chat_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": false,
    "screenshare_enabled": true,
    "recordings_enabled": false,
    "logo_enabled": true,
    "custom_logo": "ratione",
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": false,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": false,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "ut",
    "checkbox_message": "facere",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "max_participants": 50,
    "html_title": "My room"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api.digitalsamba.com/api/v1/rooms" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"topic\": \"standup\",
    \"friendly_url\": \"my-standup\",
    \"privacy\": \"public\",
    \"external_id\": \"myExtID123\",
    \"default_role\": \"moderator\",
    \"roles\": [
        \"moderator\"
    ],
    \"is_locked\": true,
    \"topbar_enabled\": false,
    \"toolbar_enabled\": false,
    \"toolbar_position\": \"right\",
    \"toolbar_color\": \"#FF0000\",
    \"primary_color\": \"#008000\",
    \"background_color\": \"#000000\",
    \"palette_mode\": \"light\",
    \"language\": \"en\",
    \"language_selection_enabled\": true,
    \"audio_on_join_enabled\": false,
    \"video_on_join_enabled\": false,
    \"pin_enabled\": false,
    \"full_screen_enabled\": true,
    \"minimize_own_tile_enabled\": true,
    \"minimize_own_tile_on_join_enabled\": false,
    \"end_session_enabled\": false,
    \"chat_enabled\": true,
    \"e2ee_enabled\": false,
    \"layout_mode_switch_enabled\": true,
    \"simple_notifications_enabled\": true,
    \"join_screen_enabled\": false,
    \"screenshare_enabled\": true,
    \"recordings_enabled\": false,
    \"logo_enabled\": true,
    \"custom_logo\": \"ratione\",
    \"recording_logo_enabled\": false,
    \"virtual_backgrounds_enabled\": true,
    \"raise_hand_enabled\": false,
    \"participant_names_in_recordings_enabled\": true,
    \"invite_participants_enabled\": true,
    \"whiteboard_enabled\": false,
    \"consent_message_enabled\": true,
    \"consent_message_type\": \"generic\",
    \"consent_message\": \"ut\",
    \"checkbox_message\": \"facere\",
    \"recordings_layout_mode\": \"tiled\",
    \"layout_mode_on_join\": \"tiled\",
    \"max_participants\": 50,
    \"html_title\": \"My room\"
}"

Example response (200):


{
    "id": "ff7f546f-6b71-390f-94ae-63594ede04ab",
    "topic": "Occaecati fugiat.",
    "friendly_url": "WB-3Jh8If5Fpn_wLlsnecEzkRk7hDtqO",
    "privacy": "public",
    "max_participants": 100,
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": true,
    "toolbar_position": "bottom",
    "toolbar_color": "#000000",
    "primary_color": "#3771E0",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": true,
    "screenshare_enabled": true,
    "participants_list_enabled": true,
    "recordings_enabled": false,
    "logo_enabled": true,
    "custom_logo": null,
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "chat_enabled": true,
    "pin_enabled": true,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
    "checkbox_message": "Don’t show this again.",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "room_url": "https://3700530fdbd62ecc65d34b5e38031016.digitalsamba.com/WB-3Jh8If5Fpn_wLlsnecEzkRk7hDtqO",
    "external_id": "EXTID1749830480",
    "html_title": null,
    "created_at": "2023-09-21T18:12:33Z",
    "updated_at": "2023-09-21T18:12:33Z",
    "captions_enabled": false,
    "captions_mode": "live_speech",
    "captions_in_recordings_enabled": false,
    "captions_language": "en-US"
}
 

Request      

POST api/v1/rooms

Body Parameters

topic  string optional  

Must be at least 3 characters. Must not be greater than 100 characters.

friendly_url  string optional  

Must be unique. Must be at least 3 characters. Must not be greater than 32 characters.

privacy  string  

Must be in ['public', 'private'].

external_id  string optional  

Room external id.

default_role  string optional  

Required when there is more than one role. Role ID or name.

roles  string[]  

Must be an array of role IDs or names.

is_locked  boolean optional  

topbar_enabled  boolean optional  

toolbar_enabled  boolean optional  

toolbar_position  string optional  

Must be one of left, right or bottom.

toolbar_color  string optional  

Must be color hex code.

primary_color  string optional  

Must be color hex code.

background_color  string optional  

Must be color hex code.

palette_mode  string optional  

Must be one of light or dark.

language  string optional  

Must be one of de, en or es.

language_selection_enabled  boolean optional  

audio_on_join_enabled  boolean optional  

video_on_join_enabled  boolean optional  

pin_enabled  boolean optional  

full_screen_enabled  boolean optional  

minimize_own_tile_enabled  boolean optional  

minimize_own_tile_on_join_enabled  boolean optional  

end_session_enabled  boolean optional  

chat_enabled  boolean optional  

e2ee_enabled  boolean optional  

layout_mode_switch_enabled  boolean optional  

simple_notifications_enabled  boolean optional  

join_screen_enabled  boolean optional  

screenshare_enabled  boolean optional  

recordings_enabled  boolean optional  

logo_enabled  boolean optional  

custom_logo  string optional  

Image URL or base64 encoded file source.

recording_logo_enabled  boolean optional  

virtual_backgrounds_enabled  boolean optional  

raise_hand_enabled  boolean optional  

participant_names_in_recordings_enabled  boolean optional  

invite_participants_enabled  boolean optional  

whiteboard_enabled  boolean optional  

consent_message_enabled  boolean optional  

consent_message_type  string optional  

Must be in ['generic', 'custom'].

consent_message  string optional  

checkbox_message  string optional  

recordings_layout_mode  string optional  

Must be in ['auto', 'tiled'].

layout_mode_on_join  string optional  

Must be in ['auto', 'tiled'].

max_participants  integer optional  

Maximum allowed number of live participants. Must be at least 2. Must not be greater than 100.

html_title  string optional  

Must be at least 5 characters. Must not be greater than 255 characters.

Update room.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'topic' => 'standup',
            'friendly_url' => 'my-standup',
            'privacy' => 'public',
            'external_id' => 'myExtID123',
            'default_role' => 'moderator',
            'roles' => [
                'moderator',
            ],
            'is_locked' => false,
            'topbar_enabled' => true,
            'toolbar_enabled' => false,
            'toolbar_position' => 'right',
            'toolbar_color' => '#FF0000',
            'primary_color' => '#008000',
            'background_color' => '#000000',
            'palette_mode' => 'light',
            'language' => 'en',
            'language_selection_enabled' => true,
            'audio_on_join_enabled' => false,
            'video_on_join_enabled' => true,
            'pin_enabled' => false,
            'full_screen_enabled' => false,
            'minimize_own_tile_enabled' => true,
            'minimize_own_tile_on_join_enabled' => true,
            'end_session_enabled' => false,
            'chat_enabled' => false,
            'e2ee_enabled' => false,
            'layout_mode_switch_enabled' => false,
            'simple_notifications_enabled' => true,
            'join_screen_enabled' => true,
            'screenshare_enabled' => false,
            'recordings_enabled' => true,
            'logo_enabled' => false,
            'recording_logo_enabled' => false,
            'virtual_backgrounds_enabled' => true,
            'raise_hand_enabled' => true,
            'participant_names_in_recordings_enabled' => true,
            'invite_participants_enabled' => true,
            'whiteboard_enabled' => true,
            'consent_message_enabled' => true,
            'consent_message_type' => 'generic',
            'consent_message' => 'minima',
            'checkbox_message' => 'molestiae',
            'recordings_layout_mode' => 'tiled',
            'layout_mode_on_join' => 'tiled',
            'max_participants' => 50,
            'html_title' => 'My room',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "topic": "standup",
    "friendly_url": "my-standup",
    "privacy": "public",
    "external_id": "myExtID123",
    "default_role": "moderator",
    "roles": [
        "moderator"
    ],
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": false,
    "toolbar_position": "right",
    "toolbar_color": "#FF0000",
    "primary_color": "#008000",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": false,
    "video_on_join_enabled": true,
    "pin_enabled": false,
    "full_screen_enabled": false,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": true,
    "end_session_enabled": false,
    "chat_enabled": false,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": false,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "screenshare_enabled": false,
    "recordings_enabled": true,
    "logo_enabled": false,
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "minima",
    "checkbox_message": "molestiae",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "max_participants": 50,
    "html_title": "My room"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"topic\": \"standup\",
    \"friendly_url\": \"my-standup\",
    \"privacy\": \"public\",
    \"external_id\": \"myExtID123\",
    \"default_role\": \"moderator\",
    \"roles\": [
        \"moderator\"
    ],
    \"is_locked\": false,
    \"topbar_enabled\": true,
    \"toolbar_enabled\": false,
    \"toolbar_position\": \"right\",
    \"toolbar_color\": \"#FF0000\",
    \"primary_color\": \"#008000\",
    \"background_color\": \"#000000\",
    \"palette_mode\": \"light\",
    \"language\": \"en\",
    \"language_selection_enabled\": true,
    \"audio_on_join_enabled\": false,
    \"video_on_join_enabled\": true,
    \"pin_enabled\": false,
    \"full_screen_enabled\": false,
    \"minimize_own_tile_enabled\": true,
    \"minimize_own_tile_on_join_enabled\": true,
    \"end_session_enabled\": false,
    \"chat_enabled\": false,
    \"e2ee_enabled\": false,
    \"layout_mode_switch_enabled\": false,
    \"simple_notifications_enabled\": true,
    \"join_screen_enabled\": true,
    \"screenshare_enabled\": false,
    \"recordings_enabled\": true,
    \"logo_enabled\": false,
    \"recording_logo_enabled\": false,
    \"virtual_backgrounds_enabled\": true,
    \"raise_hand_enabled\": true,
    \"participant_names_in_recordings_enabled\": true,
    \"invite_participants_enabled\": true,
    \"whiteboard_enabled\": true,
    \"consent_message_enabled\": true,
    \"consent_message_type\": \"generic\",
    \"consent_message\": \"minima\",
    \"checkbox_message\": \"molestiae\",
    \"recordings_layout_mode\": \"tiled\",
    \"layout_mode_on_join\": \"tiled\",
    \"max_participants\": 50,
    \"html_title\": \"My room\"
}"

Example response (200):


{
    "id": "2d0bcf92-2164-324b-89cf-9e7d041da502",
    "topic": "Neque aliquid minus.",
    "friendly_url": "fJeYyBCW8Emfd56CdHjJakBTmETRrO1j",
    "privacy": "public",
    "max_participants": 100,
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": true,
    "toolbar_position": "bottom",
    "toolbar_color": "#000000",
    "primary_color": "#3771E0",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": true,
    "screenshare_enabled": true,
    "participants_list_enabled": true,
    "recordings_enabled": false,
    "logo_enabled": true,
    "custom_logo": null,
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "chat_enabled": true,
    "pin_enabled": true,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
    "checkbox_message": "Don’t show this again.",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "room_url": "https://e7b994e34e05bad417c21b49f1a9f569.digitalsamba.com/fJeYyBCW8Emfd56CdHjJakBTmETRrO1j",
    "external_id": "EXTID1097718110",
    "html_title": null,
    "created_at": "2023-09-21T18:12:33Z",
    "updated_at": "2023-09-21T18:12:33Z",
    "captions_enabled": false,
    "captions_mode": "live_speech",
    "captions_in_recordings_enabled": false,
    "captions_language": "en-US"
}
 

Request      

PATCH api/v1/rooms/{room}

URL Parameters

room  string  

The UUID of the room or room friendly URL.

Body Parameters

topic  string optional  

Must be at least 3 characters. Must not be greater than 100 characters.

friendly_url  string optional  

Must be unique. Must be at least 3 characters. Must not be greater than 32 characters.

privacy  string optional  

Must be in ['public', 'private'].

external_id  string optional  

Room external id.

default_role  string optional  

when there is more than one role. Role ID or name.

roles  string[] optional  

Must be an array of role IDs or names.

is_locked  boolean optional  

topbar_enabled  boolean optional  

toolbar_enabled  boolean optional  

toolbar_position  string optional  

Must be one of left, right or bottom.

toolbar_color  string optional  

Must be color hex code.

primary_color  string optional  

Must be color hex code.

background_color  string optional  

Must be color hex code.

palette_mode  string optional  

Must be one of light or dark.

language  string optional  

Must be one of de, en or es.

language_selection_enabled  boolean optional  

audio_on_join_enabled  boolean optional  

video_on_join_enabled  boolean optional  

pin_enabled  boolean optional  

full_screen_enabled  boolean optional  

minimize_own_tile_enabled  boolean optional  

minimize_own_tile_on_join_enabled  boolean optional  

end_session_enabled  boolean optional  

chat_enabled  boolean optional  

e2ee_enabled  boolean optional  

layout_mode_switch_enabled  boolean optional  

simple_notifications_enabled  boolean optional  

join_screen_enabled  boolean optional  

screenshare_enabled  boolean optional  

recordings_enabled  boolean optional  

logo_enabled  boolean optional  

recording_logo_enabled  boolean optional  

virtual_backgrounds_enabled  boolean optional  

raise_hand_enabled  boolean optional  

participant_names_in_recordings_enabled  boolean optional  

invite_participants_enabled  boolean optional  

whiteboard_enabled  boolean optional  

consent_message_enabled  boolean optional  

consent_message_type  string optional  

Must be in ['generic', 'custom'].

consent_message  string optional  

checkbox_message  string optional  

recordings_layout_mode  string optional  

Must be in ['auto', 'tiled'].

layout_mode_on_join  string optional  

Must be in ['auto', 'tiled'].

max_participants  integer optional  

Maximum allowed number of live participants. Must be at least 2. Must not be greater than 100.

html_title  string optional  

Must be at least 5 characters. Must not be greater than 255 characters.

Delete room.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
curl --request DELETE \
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (204):

[Empty response]
 

Request      

DELETE api/v1/rooms/{room}

URL Parameters

room  string  

The UUID of the room or room friendly URL.

Live

Get rooms with live participants count.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms/live',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/live"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms/live?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "total_count": 3,
    "data": [
        {
            "id": "ecd0fa17-b1c6-3f35-99c3-ce6cd81afca8",
            "external_id": "EXTID824955915",
            "start_time": "2022-05-13T12:31:19.000000Z",
            "session_duration": 11408,
            "live_participants": 27
        },
        {
            "id": "554265e0-9fd7-3408-ace4-249e00b024f1",
            "external_id": "EXTID1504059250",
            "start_time": "2022-05-13T10:22:42.000000Z",
            "session_duration": 2726,
            "live_participants": 3
        },
        {
            "id": "abb8cc46-6b87-3aae-80b0-82e8943ed0d4",
            "external_id": "EXTID69285216",
            "start_time": "2022-05-13T11:13:29.000000Z",
            "session_duration": 1183,
            "live_participants": 55
        }
    ]
}
 

Request      

GET api/v1/rooms/live

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

after  string optional  

The UUID of the room or room friendly URL after which records will be returned.

Get rooms with live participants data.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms/live/participants',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/live/participants"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms/live/participants?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "total_count": 5,
    "data": [
        {
            "id": "b31155d3-19ad-3d4d-bde6-c5ec9172d9b7",
            "external_id": "EXTID1251839424",
            "start_time": "2022-05-16T12:51:54.000000Z",
            "session_duration": 2580,
            "live_participants": [
                {
                    "id": "4354aa20-9906-45ed-9b02-799525e1dbc3",
                    "external_id": "EXTID1916626560",
                    "name": "Gwendolyn Hayes",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "898964d2-9951-4734-8eea-77fa72fd137d",
                    "external_id": "EXTID657371078",
                    "name": "Mrs. Mya Schroeder PhD",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "73c8f78f-0b80-4a76-8fa3-1d11705a5fa3",
                    "external_id": "EXTID229839886",
                    "name": "Gregg Runte",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "2fdc809a-e981-46a2-bc67-84c15ca7efd5",
                    "external_id": "EXTID1261882350",
                    "name": "Angelina Treutel I",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "19650289-6171-4c45-a7a2-0e66fb5c29a0",
                    "external_id": "EXTID2009248764",
                    "name": "Verdie Jacobs",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                }
            ]
        },
        {
            "id": "b623bc65-4cd8-316e-905b-213af2ed362d",
            "external_id": "EXTID2082633660",
            "start_time": "2022-05-16T12:51:54.000000Z",
            "session_duration": 2580,
            "live_participants": [
                {
                    "id": "59852f2b-b25a-43c6-927c-7a3c2634deef",
                    "external_id": "EXTID1005303666",
                    "name": "Stacey McLaughlin",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "3765c44f-b629-4bb3-8304-805c71b01fe5",
                    "external_id": "EXTID310825640",
                    "name": "Stewart Roob",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "c596f874-bf88-4865-a77b-44f9e3285f5b",
                    "external_id": "EXTID1492362491",
                    "name": "Miss Samantha Mayert",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "4930aee0-f4ab-4203-9054-b3932e94b015",
                    "external_id": "EXTID462108878",
                    "name": "Earl Buckridge",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "3f6dca1f-92b0-4147-81ee-754754cb00d1",
                    "external_id": "EXTID1790509806",
                    "name": "Colin Dickens",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                }
            ]
        },
        {
            "id": "2473e7b1-406c-3e05-93cb-57c6a6ba6e60",
            "external_id": "EXTID209019793",
            "start_time": "2022-05-16T12:51:54.000000Z",
            "session_duration": 2580,
            "live_participants": [
                {
                    "id": "c6a73ece-77b3-47f6-b614-7b949cddd2fe",
                    "external_id": "EXTID617498776",
                    "name": "Prof. Forrest Ritchie V",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "e4d23870-ed35-4901-9cfd-47bddb6a035a",
                    "external_id": "EXTID1665145569",
                    "name": "Shany Torphy",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "e9c6a70d-6528-404e-88ea-4994578b56e1",
                    "external_id": "EXTID401347102",
                    "name": "Lera Zboncak DVM",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "0ef1fd7f-acda-4b0a-94f5-ee411d16cd86",
                    "external_id": "EXTID597760933",
                    "name": "Leon Daugherty I",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "c76a28e9-b0d4-4d08-aa24-c869289ccc39",
                    "external_id": "EXTID2020171092",
                    "name": "Oswald Hickle",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                }
            ]
        },
        {
            "id": "6328914f-19a0-397a-99dc-4cd49570cffc",
            "external_id": "EXTID1928952811",
            "start_time": "2022-05-16T12:51:34.000000Z",
            "session_duration": 2600,
            "live_participants": [
                {
                    "id": "03a82571-3327-439d-ba57-8515302f0ee6",
                    "external_id": "EXTID2098450034",
                    "name": "Mrs. Icie Funk",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "22fde4ce-6fea-4c1b-85e9-14ae60c7b452",
                    "external_id": "EXTID2077221187",
                    "name": "Sonia Kulas",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "5ea800db-8c88-4f99-a6d2-a292016bfa9b",
                    "external_id": "EXTID1543982160",
                    "name": "Lisette Gerhold",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "a360431a-1e2e-45c2-8b74-67ce84585532",
                    "external_id": "EXTID222171890",
                    "name": "Vita Mann",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "bafa6f48-1992-45aa-bd72-6d10b08bb576",
                    "external_id": "EXTID1015346028",
                    "name": "Darien Powlowski",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                }
            ]
        },
        {
            "id": "f9716453-8e9f-39a4-b2f2-c1d00228411e",
            "external_id": "EXTID632729761",
            "start_time": "2022-05-16T12:51:00.000000Z",
            "session_duration": 2634,
            "live_participants": [
                {
                    "id": "aed005c5-69db-40f7-9785-395c545fed64",
                    "external_id": "EXTID2128980420",
                    "name": "Devante Stamm DVM",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "b8f2422e-a524-4ced-8cb2-9219bcdd5ec7",
                    "external_id": "EXTID1153236013",
                    "name": "Magnolia D'Amore",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "e58b84d4-b370-4389-9710-8935ac9d71ef",
                    "external_id": "EXTID1466108903",
                    "name": "Dr. Chauncey Franecki",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "3a7c8ad3-8082-4d2e-86f9-ffbddaff6a7b",
                    "external_id": "EXTID778875197",
                    "name": "Deborah Vandervort III",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                },
                {
                    "id": "35a65ef1-06f1-4ee1-a8cf-6e032fac227a",
                    "external_id": "EXTID206934569",
                    "name": "Callie DuBuque",
                    "role": "participant",
                    "join_time": "2022-05-16T12:51:54.000000Z"
                }
            ]
        }
    ]
}
 

Request      

GET api/v1/rooms/live/participants

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

after  string optional  

The UUID of the room or room friendly URL after which records will be returned.

Get single room with live participants count.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "c2d64b46-cc89-3830-890b-f81ccb2f882c",
    "external_id": "EXTID1688929106",
    "start_time": "2022-05-16T12:12:54.000000Z",
    "session_duration": 1408,
    "live_participants": 17
}
 

Request      

GET api/v1/rooms/{room}/live

URL Parameters

room  string  

The UUID of the room or room friendly URL.

Get single room with live participants' data.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "4e68be68-f505-3827-81f7-72fa76f42de9",
    "external_id": "EXTID852602699",
    "start_time": "2022-05-16T12:48:18.000000Z",
    "session_duration": 1408,
    "live_participants": [
        {
            "id": "928f1a06-921b-446f-9d23-b78e96523563",
            "external_id": "EXTID2113427821",
            "name": "Unique Reynolds",
            "role": "participant",
            "join_time": "2022-05-16T12:48:18.000000Z"
        },
        {
            "id": "d9f72e6f-61e7-4722-919f-d850f315d49c",
            "external_id": "EXTID524240932",
            "name": "Susie Luettgen",
            "role": "participant",
            "join_time": "2022-05-16T12:50:22.000000Z"
        },
        {
            "id": "598f9761-4fa3-4b47-bde7-0cc05228ff36",
            "external_id": "EXTID766750985",
            "name": "Prof. Juliet Kunde I",
            "role": "participant",
            "join_time": "2022-05-16T12:19:31.000000Z"
        }
    ]
}
 

Request      

GET api/v1/rooms/{room}/live/participants

URL Parameters

room  string  

The UUID of the room or room friendly URL.

Recordings

Get all team recordings.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/recordings',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/recordings"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/recordings?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "data": [
        {
            "id": "0432b9ac-468c-33ae-9f6a-e1b6b8c3804b",
            "name": "Rerum sint non.",
            "duration": 1,
            "room_id": "3099fdd6-86f7-3874-923a-8b857470f74a",
            "friendly_url": "oFI8qx4md-Os553d_2ajZBAxBpyf9Zmy",
            "privacy": "public",
            "participant_id": "c1f12fe1-dbcf-4965-bf84-937582029006",
            "participant_name": "Irma Simonis",
            "created_at": "2023-09-21T18:12:33Z",
            "updated_at": "2023-09-21T18:12:33Z"
        },
        {
            "id": "6b5d267c-2b6c-3fc3-9e23-1799d26805a5",
            "name": "Neque et nam aut.",
            "room_id": "373edb0a-a337-3781-8e8b-2e38710b60fe",
            "friendly_url": "kz2Ta-IRD1jEAQjtIFQ4y1Io4-xa6wiw",
            "privacy": "public",
            "participant_id": "0728240a-a004-41c1-9589-08e53a13bce9",
            "participant_name": "Liam Olson",
            "created_at": "2023-09-21T18:12:34Z",
            "updated_at": "2023-09-21T18:12:34Z"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/recordings

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

after  string optional  

The UUID of the recording after which records will be returned.

Get the specified recording.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "8c91c7f2-1afd-3f2a-a64a-0cc369be025d",
    "name": "Commodi dolore eos.",
    "duration": 0,
    "status": null,
    "room_id": "190d2e6f-4766-308b-8d5b-5d85627bf482",
    "friendly_url": "lak4T2ApRI7_MUWiG0EQrYJYqWDt0i8m",
    "room_is_deleted": false,
    "privacy": "public",
    "session_id": null,
    "participant_id": "93e470b7-1ee4-4a40-827c-0bdf6787a7a0",
    "participant_name": "Muriel Corwin",
    "created_at": "2023-09-21T18:12:34Z",
    "updated_at": "2023-09-21T18:12:34Z"
}
 

Request      

GET api/v1/recordings/{recording}

URL Parameters

recording  string  

The UUID of the recording.

Download the specified recording.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "link": "https://storage.server.net/8c59a25f-7ffa-43cb-a5b8-5814b3923906.mp4?h=rtiHKNPuXilF6NOWpiXbCw&expires=1668238783",
    "valid_until": "2022-11-12T07:39:43Z"
}
 

Request      

GET api/v1/recordings/{recording}/download

URL Parameters

recording  string  

The UUID of the recording.

Delete recording.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
curl --request DELETE \
    "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (204):

[Empty response]
 

Request      

DELETE api/v1/recordings/{recording}

URL Parameters

recording  string  

The UUID of the recording.

Webhooks

Get webhooks for the team.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/webhooks',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/webhooks"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/webhooks?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "data": [
        {
            "id": "17df7b38-147b-4ecd-88ef-7cce1b35b79a",
            "endpoint": "http://howe.info/",
            "authorization_header": "3778fd31a6c7937cd6098be81853a7ec",
            "name": "My webhook 6",
            "created_at": "2023-09-21T18:12:34Z",
            "updated_at": "2023-09-21T18:12:34Z"
        },
        {
            "id": "551dfcd7-8b95-41e1-a719-04fc36fb3b4e",
            "endpoint": "https://halvorson.com/est-architecto-numquam-aliquid-tempora-atque.html",
            "authorization_header": "27228cf2d327521b9b24e5acd13d967a",
            "name": "My webhook 1",
            "created_at": "2023-09-21T18:12:35Z",
            "updated_at": "2023-09-21T18:12:35Z"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/webhooks

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

after  string optional  

The UUID of the webhook after which records will be returned.

Get the specified webhook.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "b4beb27e-f47d-443f-a7b7-5ea5e6ccd7d2",
    "endpoint": "http://www.nitzsche.com/quisquam-aut-sed-sed-cumque-vel-beatae",
    "authorization_header": "d8328a1c9ca2f17534fea100ee7bbedd",
    "name": "My webhook 0",
    "events": [
        "participant_fugiat"
    ],
    "created_at": "2023-09-21T18:12:35Z",
    "updated_at": "2023-09-21T18:12:35Z"
}
 

Request      

GET api/v1/webhooks/{webhook}

URL Parameters

webhook  string  

The UUID of the webhook.

Create a new webhook.

requires authentication

This endpoint allows you to create a new webhook

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.digitalsamba.com/api/v1/webhooks',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'endpoint' => 'https://example.com/webhook-for-join',
            'name' => 'Join Webhook',
            'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
            'events' => [
                'participant_joined',
                'participant_left',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/webhooks"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "endpoint": "https:\/\/example.com\/webhook-for-join",
    "name": "Join Webhook",
    "authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
    "events": [
        "participant_joined",
        "participant_left"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api.digitalsamba.com/api/v1/webhooks" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
    \"name\": \"Join Webhook\",
    \"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
    \"events\": [
        \"participant_joined\",
        \"participant_left\"
    ]
}"

Example response (200):


{
    "id": "9930001c-2b1c-4f42-bd4a-4ace55b09100",
    "endpoint": "http://wiegand.net/reprehenderit-consequuntur-facere-mollitia-debitis-ipsa-eum-et-iste.html",
    "authorization_header": "88c2cdf580f9d50ce714045c94129b32",
    "name": "My webhook 8",
    "events": [
        "participant_ut"
    ],
    "created_at": "2023-09-21T18:12:35Z",
    "updated_at": "2023-09-21T18:12:35Z"
}
 

Request      

POST api/v1/webhooks

Body Parameters

endpoint  string  

Must be a valid URL. Must be at least 3 characters. Must not be greater than 100 characters.

name  string optional  

Must be at least 3 characters. Must not be greater than 100 characters.

authorization_header  string optional  

A bearer token that will be sent as “Authorization” header.

events  string[]  

Event names for which the webhook will be triggered.

Update the specified webhook.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'endpoint' => 'https://example.com/webhook-for-join',
            'name' => 'Join Webhook',
            'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
            'events' => [
                'participant_joined',
                'participant_left',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "endpoint": "https:\/\/example.com\/webhook-for-join",
    "name": "Join Webhook",
    "authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
    "events": [
        "participant_joined",
        "participant_left"
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
    "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
    \"name\": \"Join Webhook\",
    \"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
    \"events\": [
        \"participant_joined\",
        \"participant_left\"
    ]
}"

Example response (200):


{
    "id": "66224b33-d377-406b-95ce-47a29e19d491",
    "endpoint": "http://blick.com/eum-id-optio-distinctio-velit-distinctio-praesentium-ut",
    "authorization_header": "ac0d1d3eea76f4ce5b022432a09dae34",
    "name": "My webhook 2",
    "events": [
        "participant_odio"
    ],
    "created_at": "2023-09-21T18:12:35Z",
    "updated_at": "2023-09-21T18:12:35Z"
}
 

Request      

PATCH api/v1/webhooks/{webhook}

URL Parameters

webhook  string  

The UUID of the webhook.

Body Parameters

endpoint  string optional  

Must be a valid URL. Must be at least 3 characters. Must not be greater than 100 characters.

name  string optional  

Must be at least 3 characters. Must not be greater than 100 characters.

authorization_header  string optional  

A bearer token that will be sent as “Authorization” header.

events  string[] optional  

Event names for which the webhook will be triggered.

Delete the specified webhook.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
curl --request DELETE \
    "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (204):

[Empty response]
 

Request      

DELETE api/v1/webhooks/{webhook}

URL Parameters

webhook  string  

The UUID of the webhook.

Events

Get available events used for triggering webhooks

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/events',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/events"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/events" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


[
    "participant_joined",
    "participant_left"
]
 

Request      

GET api/v1/events

Default room settings

Get default room settings.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "6560d978-88a3-4082-b628-89858af381fa",
    "owner_id": "14ccd5fa-070d-4083-9999-7bdbef430991",
    "domain": "7d0f5290ef760695b5ee0662045ad510",
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": true,
    "toolbar_position": "bottom",
    "toolbar_color": "#000000",
    "primary_color": "#3771E0",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": true,
    "screenshare_enabled": true,
    "participants_list_enabled": true,
    "chat_enabled": true,
    "pin_enabled": true,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "logo_enabled": true,
    "custom_logo": null,
    "recordings_enabled": true,
    "recording_logo_enabled": true,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
    "checkbox_message": "Don’t show this again.",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "default_role": {
        "id": "e928dc04-7911-4fc1-812a-004c1ade73f0",
        "name": "moderator",
        "display_name": "Moderators"
    },
    "custom_cname": null,
    "can_caption": true,
    "max_participants": 50,
    "max_sessions": 1,
    "html_title": null,
    "subscription_start": "2023-09-21 18:12:32",
    "subscription_end": "2023-10-21 18:12:32",
    "captions_enabled": false,
    "captions_mode": "live_speech",
    "captions_in_recordings_enabled": false,
    "captions_language": "en-US"
}
 

Request      

GET api/v1

Update default room settings.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://api.digitalsamba.com/api/v1',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'domain' => 'eligendi',
            'default_role' => 'moderator',
            'roles' => [
                'moderator',
            ],
            'is_locked' => false,
            'topbar_enabled' => true,
            'toolbar_enabled' => false,
            'toolbar_position' => 'right',
            'toolbar_color' => '#FF0000',
            'primary_color' => '#008000',
            'background_color' => '#000000',
            'language' => 'en',
            'join_screen_enabled' => true,
            'language_selection_enabled' => true,
            'audio_on_join_enabled' => true,
            'video_on_join_enabled' => false,
            'pin_enabled' => true,
            'chat_enabled' => true,
            'full_screen_enabled' => false,
            'minimize_own_tile_enabled' => false,
            'minimize_own_tile_on_join_enabled' => true,
            'end_session_enabled' => false,
            'e2ee_enabled' => false,
            'layout_mode_switch_enabled' => false,
            'simple_notifications_enabled' => false,
            'screenshare_enabled' => false,
            'recordings_enabled' => true,
            'recording_logo_enabled' => false,
            'logo_enabled' => false,
            'custom_logo' => 'cupiditate',
            'virtual_backgrounds_enabled' => true,
            'raise_hand_enabled' => false,
            'participant_names_in_recordings_enabled' => true,
            'invite_participants_enabled' => true,
            'whiteboard_enabled' => true,
            'consent_message_enabled' => false,
            'consent_message_type' => 'generic',
            'consent_message' => 'fuga',
            'checkbox_message' => 'architecto',
            'recordings_layout_mode' => 'tiled',
            'layout_mode_on_join' => 'tiled',
            'html_title' => 'My room',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "eligendi",
    "default_role": "moderator",
    "roles": [
        "moderator"
    ],
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": false,
    "toolbar_position": "right",
    "toolbar_color": "#FF0000",
    "primary_color": "#008000",
    "background_color": "#000000",
    "language": "en",
    "join_screen_enabled": true,
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": false,
    "pin_enabled": true,
    "chat_enabled": true,
    "full_screen_enabled": false,
    "minimize_own_tile_enabled": false,
    "minimize_own_tile_on_join_enabled": true,
    "end_session_enabled": false,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": false,
    "simple_notifications_enabled": false,
    "screenshare_enabled": false,
    "recordings_enabled": true,
    "recording_logo_enabled": false,
    "logo_enabled": false,
    "custom_logo": "cupiditate",
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": false,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": false,
    "consent_message_type": "generic",
    "consent_message": "fuga",
    "checkbox_message": "architecto",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "html_title": "My room"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
    "https://api.digitalsamba.com/api/v1" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"eligendi\",
    \"default_role\": \"moderator\",
    \"roles\": [
        \"moderator\"
    ],
    \"is_locked\": false,
    \"topbar_enabled\": true,
    \"toolbar_enabled\": false,
    \"toolbar_position\": \"right\",
    \"toolbar_color\": \"#FF0000\",
    \"primary_color\": \"#008000\",
    \"background_color\": \"#000000\",
    \"language\": \"en\",
    \"join_screen_enabled\": true,
    \"language_selection_enabled\": true,
    \"audio_on_join_enabled\": true,
    \"video_on_join_enabled\": false,
    \"pin_enabled\": true,
    \"chat_enabled\": true,
    \"full_screen_enabled\": false,
    \"minimize_own_tile_enabled\": false,
    \"minimize_own_tile_on_join_enabled\": true,
    \"end_session_enabled\": false,
    \"e2ee_enabled\": false,
    \"layout_mode_switch_enabled\": false,
    \"simple_notifications_enabled\": false,
    \"screenshare_enabled\": false,
    \"recordings_enabled\": true,
    \"recording_logo_enabled\": false,
    \"logo_enabled\": false,
    \"custom_logo\": \"cupiditate\",
    \"virtual_backgrounds_enabled\": true,
    \"raise_hand_enabled\": false,
    \"participant_names_in_recordings_enabled\": true,
    \"invite_participants_enabled\": true,
    \"whiteboard_enabled\": true,
    \"consent_message_enabled\": false,
    \"consent_message_type\": \"generic\",
    \"consent_message\": \"fuga\",
    \"checkbox_message\": \"architecto\",
    \"recordings_layout_mode\": \"tiled\",
    \"layout_mode_on_join\": \"tiled\",
    \"html_title\": \"My room\"
}"

Example response (200):


{
    "id": "5df676b9-522e-4eae-a368-331db0c6afa1",
    "owner_id": "42cfdacf-ef17-42f7-b90a-e706a169471f",
    "domain": "abf52dcedb768db483727ef18a20732e",
    "is_locked": false,
    "topbar_enabled": true,
    "toolbar_enabled": true,
    "toolbar_position": "bottom",
    "toolbar_color": "#000000",
    "primary_color": "#3771E0",
    "background_color": "#000000",
    "palette_mode": "light",
    "language": "en",
    "language_selection_enabled": true,
    "audio_on_join_enabled": true,
    "video_on_join_enabled": true,
    "screenshare_enabled": true,
    "participants_list_enabled": true,
    "chat_enabled": true,
    "pin_enabled": true,
    "full_screen_enabled": true,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": true,
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": true,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "logo_enabled": true,
    "custom_logo": null,
    "recordings_enabled": true,
    "recording_logo_enabled": true,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "participant_names_in_recordings_enabled": true,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
    "checkbox_message": "Don’t show this again.",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "default_role": {
        "id": "52ff3c29-2194-460e-9183-6be2a91acf14",
        "name": "moderator",
        "display_name": "Moderators"
    },
    "custom_cname": null,
    "can_caption": true,
    "max_participants": 50,
    "max_sessions": 1,
    "html_title": null,
    "subscription_start": "2023-09-21 18:12:32",
    "subscription_end": "2023-10-21 18:12:32",
    "captions_enabled": false,
    "captions_mode": "live_speech",
    "captions_in_recordings_enabled": false,
    "captions_language": "en-US"
}
 

Request      

PATCH api/v1

Body Parameters

domain  string optional  

Must contain only letters, numbers, dashes and underscores. Must not be one of docs, api, dev-api, staging-api, you, or dashboard Must be at least 3 characters. Must not be greater than 32 characters.

default_role  string optional  

Required when there is more than one role. Role ID or name.

roles  string[]  

Must be an array of role IDs or names.

is_locked  boolean optional  

topbar_enabled  boolean optional  

toolbar_enabled  boolean optional  

toolbar_position  string optional  

Must be one of left, right or bottom.

toolbar_color  string optional  

Must be color hex code.

primary_color  string optional  

Must be color hex code.

background_color  string optional  

Must be color hex code.

language  string optional  

Must be one of de, en or es.

join_screen_enabled  boolean optional  

language_selection_enabled  boolean optional  

audio_on_join_enabled  boolean optional  

video_on_join_enabled  boolean optional  

pin_enabled  boolean optional  

chat_enabled  boolean optional  

full_screen_enabled  boolean optional  

minimize_own_tile_enabled  boolean optional  

minimize_own_tile_on_join_enabled  boolean optional  

end_session_enabled  boolean optional  

e2ee_enabled  boolean optional  

layout_mode_switch_enabled  boolean optional  

simple_notifications_enabled  boolean optional  

screenshare_enabled  boolean optional  

recordings_enabled  boolean optional  

recording_logo_enabled  boolean optional  

logo_enabled  boolean optional  

custom_logo  string optional  

Image URL or base64 encoded file source.

virtual_backgrounds_enabled  boolean optional  

raise_hand_enabled  boolean optional  

participant_names_in_recordings_enabled  boolean optional  

invite_participants_enabled  boolean optional  

whiteboard_enabled  boolean optional  

consent_message_enabled  boolean optional  

consent_message_type  string optional  

Must be in ['generic', 'custom'].

consent_message  string optional  

checkbox_message  string optional  

recordings_layout_mode  string optional  

Must be in ['auto', 'tiled'].

layout_mode_on_join  string optional  

Must be in ['auto', 'tiled'].

html_title  string optional  

Must be at least 5 characters. Must not be greater than 255 characters.

Roles

Get available roles for the team.

requires authentication

Paginated

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/roles',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'limit'=> '20',
            'order'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/roles"
);

const params = {
    "limit": "20",
    "order": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/roles?limit=20&order=asc" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "total_count": 3,
    "data": [
        {
            "id": "8cae6c49-c40a-4965-a32b-6cf20de36755",
            "name": "attendee",
            "display_name": "Attendees",
            "description": "The Digital Samba Embedded Attendee preset is conceived as the role with the lowest rank. An Attendee preset may essentially see and hear the Speaker and Moderator presets' audio, video and screenshare streams.",
            "default": false,
            "created_at": "2023-01-31T12:45:51Z",
            "updated_at": "2023-03-27T13:46:22Z"
        },
        {
            "id": "76bb6199-2900-4b8d-b1bf-351dec4a8db4",
            "name": "moderator",
            "display_name": "Moderators",
            "description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
            "default": true,
            "created_at": "2023-01-31T12:45:51Z",
            "updated_at": "2023-03-27T13:46:22Z"
        },
        {
            "id": "e5bad6b9-48bd-46a0-9482-af78a834c28c",
            "name": "speaker",
            "display_name": "Speakers",
            "description": "The Digital Samba Embedded Speaker preset is conceived to have all broadcast, screensharing and presentation permissions, but none of the Moderator’s management rights, such as as granting or removing permissions, removing participants, starting / ending a session or recording it.",
            "default": false,
            "created_at": "2023-01-31T12:45:51Z",
            "updated_at": "2023-03-27T13:46:22Z"
        }
    ]
}
 

Request      

GET api/v1/roles

Query Parameters

limit  integer optional  

Limit the number of returned records. Used for pagination. Maximum and default is 100

order  string optional  

Order of returned records. Default is desc.

Get the specified role.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


{
    "id": "5ce6fda5-d42b-4110-8796-177e571a7407",
    "name": "moderator",
    "display_name": "Moderators",
    "description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
    "default": true,
    "created_at": "2023-01-31T12:45:53Z",
    "updated_at": "2023-02-15T03:22:24Z",
    "permissions": {
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "raise_hand": false,
        "recording": false,
        "remote_muting": false,
        "invite_participant": true,
        "control_room_entry": true,
        "remove_participant": false,
        "edit_whiteboard": true,
        "screenshare": false
    }
}
 

Request      

GET api/v1/roles/{role}

URL Parameters

role  string  

The UUID of the role or role name.

Create a new role.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.digitalsamba.com/api/v1/roles',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'participant',
            'display_name' => 'Basic Participant',
            'description' => 'Participant with basic permissions',
            'permissions' => [
                'ask_remote_unmute' => true,
                'broadcast' => true,
                'end_session' => true,
                'general_chat' => true,
                'manage_broadcast' => true,
                'manage_roles' => [
                    'moderator',
                    'speaker',
                    'attendee',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/roles"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "participant",
    "display_name": "Basic Participant",
    "description": "Participant with basic permissions",
    "permissions": {
        "ask_remote_unmute": true,
        "broadcast": true,
        "end_session": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ]
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api.digitalsamba.com/api/v1/roles" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"participant\",
    \"display_name\": \"Basic Participant\",
    \"description\": \"Participant with basic permissions\",
    \"permissions\": {
        \"ask_remote_unmute\": true,
        \"broadcast\": true,
        \"end_session\": true,
        \"general_chat\": true,
        \"manage_broadcast\": true,
        \"manage_roles\": [
            \"moderator\",
            \"speaker\",
            \"attendee\"
        ]
    }
}"

Example response (200):


{
    "id": "5ce6fda5-d42b-4110-8796-177e571a7407",
    "name": "moderator",
    "display_name": "Moderators",
    "description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
    "default": true,
    "created_at": "2023-01-31T12:45:53Z",
    "updated_at": "2023-02-15T03:22:24Z",
    "permissions": {
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "raise_hand": false,
        "recording": false,
        "remote_muting": false,
        "invite_participant": true,
        "control_room_entry": true,
        "remove_participant": false,
        "edit_whiteboard": true,
        "screenshare": false
    }
}
 

Request      

POST api/v1/roles

Body Parameters

name  string  

Must contain only letters, numbers, dashes and underscores. Must not be greater than 30 characters. Must be unique.

display_name  string  

Must be at least 3 characters. Must not be greater than 100 characters.

description  string optional  

permissions  object  

Must be an array of permissions.

Update the specified role.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'participant',
            'display_name' => 'Basic Participant',
            'description' => 'Participant with basic permissions',
            'permissions' => [
                'ask_remote_unmute' => true,
                'broadcast' => true,
                'end_session' => true,
                'general_chat' => true,
                'manage_broadcast' => true,
                'manage_roles' => [
                    'moderator',
                    'speaker',
                    'attendee',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "participant",
    "display_name": "Basic Participant",
    "description": "Participant with basic permissions",
    "permissions": {
        "ask_remote_unmute": true,
        "broadcast": true,
        "end_session": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ]
    }
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
    "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"participant\",
    \"display_name\": \"Basic Participant\",
    \"description\": \"Participant with basic permissions\",
    \"permissions\": {
        \"ask_remote_unmute\": true,
        \"broadcast\": true,
        \"end_session\": true,
        \"general_chat\": true,
        \"manage_broadcast\": true,
        \"manage_roles\": [
            \"moderator\",
            \"speaker\",
            \"attendee\"
        ]
    }
}"

Example response (200):


{
    "id": "5ce6fda5-d42b-4110-8796-177e571a7407",
    "name": "moderator",
    "display_name": "Moderators",
    "description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
    "default": true,
    "created_at": "2023-01-31T12:45:53Z",
    "updated_at": "2023-02-15T03:22:24Z",
    "permissions": {
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "raise_hand": false,
        "recording": false,
        "remote_muting": false,
        "invite_participant": true,
        "control_room_entry": true,
        "remove_participant": false,
        "edit_whiteboard": true,
        "screenshare": false
    }
}
 

Request      

PATCH api/v1/roles/{role}

URL Parameters

role  string  

The UUID of the role or role name.

Body Parameters

name  string optional  

Must contain only letters, numbers, dashes and underscores. Must not be greater than 30 characters. Must be unique.

display_name  string optional  

Must be at least 3 characters. Must not be greater than 100 characters.

description  string optional  

permissions  object  

Must be an array of permissions.

Delete the specified role.

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
curl --request DELETE \
    "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (204):

[Empty response]
 

Request      

DELETE api/v1/roles/{role}

URL Parameters

role  string  

The UUID of the role or role name.

Permissions

Get available permissions for roles

requires authentication

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.digitalsamba.com/api/v1/permissions',
    [
        'headers' => [
            'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.digitalsamba.com/api/v1/permissions"
);

const headers = {
    "Authorization": "Bearer base64(teamId:teamDeveloperKey)",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.digitalsamba.com/api/v1/permissions" \
    --header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):


[
    "ask_remote_unmute",
    "broadcast",
    "start_session",
    "end_session",
    "see_participants_panel",
    "general_chat",
    "manage_broadcast",
    "manage_roles",
    "manage_screenshare",
    "raise_hand",
    "recording",
    "remote_muting",
    "invite_participant",
    "remove_participant",
    "control_room_entry",
    "edit_whiteboard",
    "screenshare"
]
 

Request      

GET api/v1/permissions