MENU navbar-image

Introduction

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

Pagination

Authenticating requests

To authenticate requests, include 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": "67f171ec-f343-368e-8a9c-2f2996352028",
            "description": "Voluptas qui.",
            "topic": "Voluptas qui.",
            "friendly_url": "qrMgXuLWUDd0vfSPTe06X9e4Sco-YM1N",
            "privacy": "public",
            "max_participants": 100,
            "max_broadcasters": 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,
            "private_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,
            "qa_enabled": true,
            "consent_message_enabled": true,
            "recording_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://01dd68fa9c3a1ab96445b768fd3bd2b3.digitalsamba.com/qrMgXuLWUDd0vfSPTe06X9e4Sco-YM1N",
            "external_id": "EXTID285437587",
            "captions_language": "en",
            "created_at": "2024-02-22T18:41:25Z",
            "updated_at": "2024-02-22T18:41:25Z"
        },
        {
            "id": "1703941d-1108-30ff-9fe5-3d2d9bed5f87",
            "description": "Blanditiis omnis.",
            "topic": "Blanditiis omnis.",
            "friendly_url": "defumgRoAP-aiWUKbvGOwRuYCnr2RGxY",
            "privacy": "public",
            "max_participants": 100,
            "max_broadcasters": 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,
            "private_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,
            "qa_enabled": true,
            "consent_message_enabled": true,
            "recording_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://b9f49c12830cb16f42741a37307671c7.digitalsamba.com/defumgRoAP-aiWUKbvGOwRuYCnr2RGxY",
            "external_id": "EXTID1897587639",
            "captions_language": "en",
            "created_at": "2024-02-22T18:41:25Z",
            "updated_at": "2024-02-22T18:41:25Z"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/rooms

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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": "dcaa92e0-856c-3cb2-873a-10663087cbf1",
    "description": "Dolorum vero sint.",
    "topic": "Dolorum vero sint.",
    "friendly_url": "GN_OJS6UrFI_dec2vAqmEy-b4ZrNVHHT",
    "privacy": "public",
    "max_participants": 100,
    "max_broadcasters": 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,
    "private_chat_enabled": true,
    "private_group_chat_enabled": false,
    "private_group_chat_name": null,
    "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,
    "qa_enabled": true,
    "consent_message_enabled": true,
    "recording_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://b5c366c5c45e7d358797d04a8de02656.digitalsamba.com/GN_OJS6UrFI_dec2vAqmEy-b4ZrNVHHT",
    "external_id": "EXTID251413938",
    "breakout_rooms_enabled": false,
    "html_title": null,
    "captions_enabled": false,
    "captions_in_recordings_enabled": false,
    "captions_language": "en",
    "created_at": "2024-02-22T18:41:25Z",
    "updated_at": "2024-02-22T18:41:25Z"
}
 

Request      

GET api/v1/rooms/{room}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

room   string   

The UUID of the room or room friendly URL. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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' => [
            'description' => 'standup',
            'friendly_url' => 'my-standup',
            'privacy' => 'public',
            'external_id' => 'myExtID123',
            'default_role' => 'moderator',
            'roles' => [
                'moderator',
            ],
            'webhooks' => [
                'c83c7b87-b9b8-444d-a749-7076fe58fdb8',
            ],
            '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' => false,
            'pin_enabled' => true,
            'full_screen_enabled' => false,
            'minimize_own_tile_enabled' => true,
            'minimize_own_tile_on_join_enabled' => false,
            'end_session_enabled' => false,
            'chat_enabled' => false,
            'private_chat_enabled' => true,
            'private_group_chat_enabled' => true,
            'private_group_chat_name' => 'Presenters',
            'private_group_chat_roles' => [
                'moderator',
            ],
            'e2ee_enabled' => false,
            'layout_mode_switch_enabled' => false,
            'simple_notifications_enabled' => true,
            'join_screen_enabled' => true,
            'screenshare_enabled' => true,
            'recordings_enabled' => true,
            'logo_enabled' => true,
            'custom_logo' => 'quod',
            'recording_logo_enabled' => false,
            'virtual_backgrounds_enabled' => true,
            'raise_hand_enabled' => true,
            'participant_names_in_recordings_enabled' => false,
            'invite_participants_enabled' => true,
            'whiteboard_enabled' => true,
            'qa_enabled' => false,
            'consent_message_enabled' => false,
            'recording_consent_message_enabled' => true,
            'consent_message_type' => 'generic',
            'consent_message' => 'sed',
            'checkbox_message' => 'molestiae',
            'recordings_layout_mode' => 'tiled',
            'layout_mode_on_join' => 'tiled',
            'max_participants' => 50,
            'max_broadcasters' => 5,
            'html_title' => 'My room',
            'captions_enabled' => true,
            'captions_language' => 'en',
            'captions_in_recordings_enabled' => false,
        ],
    ]
);
$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 = {
    "description": "standup",
    "friendly_url": "my-standup",
    "privacy": "public",
    "external_id": "myExtID123",
    "default_role": "moderator",
    "roles": [
        "moderator"
    ],
    "webhooks": [
        "c83c7b87-b9b8-444d-a749-7076fe58fdb8"
    ],
    "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": false,
    "pin_enabled": true,
    "full_screen_enabled": false,
    "minimize_own_tile_enabled": true,
    "minimize_own_tile_on_join_enabled": false,
    "end_session_enabled": false,
    "chat_enabled": false,
    "private_chat_enabled": true,
    "private_group_chat_enabled": true,
    "private_group_chat_name": "Presenters",
    "private_group_chat_roles": [
        "moderator"
    ],
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": false,
    "simple_notifications_enabled": true,
    "join_screen_enabled": true,
    "screenshare_enabled": true,
    "recordings_enabled": true,
    "logo_enabled": true,
    "custom_logo": "quod",
    "recording_logo_enabled": false,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "participant_names_in_recordings_enabled": false,
    "invite_participants_enabled": true,
    "whiteboard_enabled": true,
    "qa_enabled": false,
    "consent_message_enabled": false,
    "recording_consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "sed",
    "checkbox_message": "molestiae",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "max_participants": 50,
    "max_broadcasters": 5,
    "html_title": "My room",
    "captions_enabled": true,
    "captions_language": "en",
    "captions_in_recordings_enabled": false
};

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 "{
    \"description\": \"standup\",
    \"friendly_url\": \"my-standup\",
    \"privacy\": \"public\",
    \"external_id\": \"myExtID123\",
    \"default_role\": \"moderator\",
    \"roles\": [
        \"moderator\"
    ],
    \"webhooks\": [
        \"c83c7b87-b9b8-444d-a749-7076fe58fdb8\"
    ],
    \"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\": false,
    \"pin_enabled\": true,
    \"full_screen_enabled\": false,
    \"minimize_own_tile_enabled\": true,
    \"minimize_own_tile_on_join_enabled\": false,
    \"end_session_enabled\": false,
    \"chat_enabled\": false,
    \"private_chat_enabled\": true,
    \"private_group_chat_enabled\": true,
    \"private_group_chat_name\": \"Presenters\",
    \"private_group_chat_roles\": [
        \"moderator\"
    ],
    \"e2ee_enabled\": false,
    \"layout_mode_switch_enabled\": false,
    \"simple_notifications_enabled\": true,
    \"join_screen_enabled\": true,
    \"screenshare_enabled\": true,
    \"recordings_enabled\": true,
    \"logo_enabled\": true,
    \"custom_logo\": \"quod\",
    \"recording_logo_enabled\": false,
    \"virtual_backgrounds_enabled\": true,
    \"raise_hand_enabled\": true,
    \"participant_names_in_recordings_enabled\": false,
    \"invite_participants_enabled\": true,
    \"whiteboard_enabled\": true,
    \"qa_enabled\": false,
    \"consent_message_enabled\": false,
    \"recording_consent_message_enabled\": true,
    \"consent_message_type\": \"generic\",
    \"consent_message\": \"sed\",
    \"checkbox_message\": \"molestiae\",
    \"recordings_layout_mode\": \"tiled\",
    \"layout_mode_on_join\": \"tiled\",
    \"max_participants\": 50,
    \"max_broadcasters\": 5,
    \"html_title\": \"My room\",
    \"captions_enabled\": true,
    \"captions_language\": \"en\",
    \"captions_in_recordings_enabled\": false
}"

Example response (200):


{
    "id": "e23b3ae8-baf3-3907-ad30-0e75a658bcbf",
    "description": "Itaque accusamus.",
    "topic": "Itaque accusamus.",
    "friendly_url": "dFmhVUmpeyxMIqZ1aKD8tpPBrUp0UzeJ",
    "privacy": "public",
    "max_participants": 100,
    "max_broadcasters": 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,
    "private_chat_enabled": true,
    "private_group_chat_enabled": false,
    "private_group_chat_name": null,
    "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,
    "qa_enabled": true,
    "consent_message_enabled": true,
    "recording_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://406d67d9e17efe693ac27511d0ca2d25.digitalsamba.com/dFmhVUmpeyxMIqZ1aKD8tpPBrUp0UzeJ",
    "external_id": "EXTID1010941812",
    "breakout_rooms_enabled": false,
    "html_title": null,
    "captions_enabled": false,
    "captions_in_recordings_enabled": false,
    "captions_language": "en",
    "created_at": "2024-02-22T18:41:25Z",
    "updated_at": "2024-02-22T18:41:25Z"
}
 

Request      

POST api/v1/rooms

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

description   string  optional  

Must be at least 3 characters. Must not be greater than 500 characters. Example: standup

friendly_url   string  optional  

Must be unique. Must be at least 3 characters. Must not be greater than 32 characters. Example: my-standup

privacy   string   

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

external_id   string  optional  

Room external id. Example: myExtID123

default_role   string  optional  

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

roles   string[]   

Must be an array of role IDs or names.

webhooks   string[]  optional  

Must be an array of webhooks IDs. Limit the webhooks to the specified ones when this parameter is used, and when it's not provided, all webhooks are allowed.

is_locked   boolean  optional  

Example: false

topbar_enabled   boolean  optional  

Example: true

toolbar_enabled   boolean  optional  

Example: false

toolbar_position   string  optional  

Must be one of left, right or bottom. Example: right

toolbar_color   string  optional  

Must be color hex code. Example: #FF0000

primary_color   string  optional  

Must be color hex code. Example: #008000

background_color   string  optional  

Must be color hex code. Example: #000000

palette_mode   string  optional  

Must be one of light or dark. Example: light

language   string  optional  

Must be one of de, en or es. Example: en

language_selection_enabled   boolean  optional  

Example: true

audio_on_join_enabled   boolean  optional  

Example: false

video_on_join_enabled   boolean  optional  

Example: false

pin_enabled   boolean  optional  

Example: true

full_screen_enabled   boolean  optional  

Example: false

minimize_own_tile_enabled   boolean  optional  

Example: true

minimize_own_tile_on_join_enabled   boolean  optional  

Example: false

end_session_enabled   boolean  optional  

Example: false

chat_enabled   boolean  optional  

Example: false

private_chat_enabled   boolean  optional  

Example: true

private_group_chat_enabled   boolean  optional  

Example: true

private_group_chat_name   string  optional  

Must be at least 3 characters. Example: Presenters

private_group_chat_roles   string[]   

Must be an array of role IDs or names.

e2ee_enabled   boolean  optional  

Example: false

layout_mode_switch_enabled   boolean  optional  

Example: false

simple_notifications_enabled   boolean  optional  

Example: true

join_screen_enabled   boolean  optional  

Example: true

screenshare_enabled   boolean  optional  

Example: true

recordings_enabled   boolean  optional  

Example: true

logo_enabled   boolean  optional  

Example: true

custom_logo   string  optional  

Image URL or base64 encoded file source. Example: quod

recording_logo_enabled   boolean  optional  

Example: false

virtual_backgrounds_enabled   boolean  optional  

Example: true

raise_hand_enabled   boolean  optional  

Example: true

participant_names_in_recordings_enabled   boolean  optional  

Example: false

invite_participants_enabled   boolean  optional  

Example: true

whiteboard_enabled   boolean  optional  

Example: true

qa_enabled   boolean  optional  

Example: false

consent_message_enabled   boolean  optional  

Example: false

recording_consent_message_enabled   boolean  optional  

Example: true

consent_message_type   string  optional  

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

consent_message   string  optional  

Example: sed

checkbox_message   string  optional  

Example: molestiae

recordings_layout_mode   string  optional  

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

layout_mode_on_join   string  optional  

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

max_participants   integer  optional  

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

max_broadcasters   integer  optional  

Maximum allowed number of broadcasters. Must be at least 1. Must not be greater than max_participants. Example: 5

html_title   string  optional  

Must be at least 5 characters. Must not be greater than 255 characters. Example: My room

captions_enabled   boolean  optional  

Example: true

captions_language   string  optional  

Must be en or de. Example: en

captions_in_recordings_enabled   boolean  optional  

Example: false

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' => [
            'description' => 'standup',
            'friendly_url' => 'my-standup',
            'privacy' => 'public',
            'external_id' => 'myExtID123',
            'default_role' => 'moderator',
            'roles' => [
                'moderator',
            ],
            'webhooks' => [
                'c83c7b87-b9b8-444d-a749-7076fe58fdb8',
            ],
            'is_locked' => true,
            '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' => false,
            'audio_on_join_enabled' => true,
            'video_on_join_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,
            'chat_enabled' => true,
            'private_chat_enabled' => false,
            'private_group_chat_enabled' => true,
            'private_group_chat_name' => 'Presenters',
            'private_group_chat_roles' => [
                'moderator',
            ],
            'e2ee_enabled' => false,
            'layout_mode_switch_enabled' => false,
            'simple_notifications_enabled' => true,
            'join_screen_enabled' => false,
            'screenshare_enabled' => true,
            'recordings_enabled' => true,
            'logo_enabled' => false,
            'recording_logo_enabled' => true,
            'virtual_backgrounds_enabled' => true,
            'raise_hand_enabled' => true,
            'participant_names_in_recordings_enabled' => false,
            'invite_participants_enabled' => false,
            'whiteboard_enabled' => true,
            'qa_enabled' => true,
            'consent_message_enabled' => true,
            'recording_consent_message_enabled' => true,
            'consent_message_type' => 'generic',
            'consent_message' => 'ullam',
            'checkbox_message' => 'illo',
            'recordings_layout_mode' => 'tiled',
            'layout_mode_on_join' => 'tiled',
            'max_participants' => 50,
            'max_broadcasters' => 5,
            'html_title' => 'My room',
            'captions_enabled' => true,
            'captions_language' => 'en',
            'captions_in_recordings_enabled' => true,
        ],
    ]
);
$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 = {
    "description": "standup",
    "friendly_url": "my-standup",
    "privacy": "public",
    "external_id": "myExtID123",
    "default_role": "moderator",
    "roles": [
        "moderator"
    ],
    "webhooks": [
        "c83c7b87-b9b8-444d-a749-7076fe58fdb8"
    ],
    "is_locked": true,
    "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": false,
    "audio_on_join_enabled": true,
    "video_on_join_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,
    "chat_enabled": true,
    "private_chat_enabled": false,
    "private_group_chat_enabled": true,
    "private_group_chat_name": "Presenters",
    "private_group_chat_roles": [
        "moderator"
    ],
    "e2ee_enabled": false,
    "layout_mode_switch_enabled": false,
    "simple_notifications_enabled": true,
    "join_screen_enabled": false,
    "screenshare_enabled": true,
    "recordings_enabled": true,
    "logo_enabled": false,
    "recording_logo_enabled": true,
    "virtual_backgrounds_enabled": true,
    "raise_hand_enabled": true,
    "participant_names_in_recordings_enabled": false,
    "invite_participants_enabled": false,
    "whiteboard_enabled": true,
    "qa_enabled": true,
    "consent_message_enabled": true,
    "recording_consent_message_enabled": true,
    "consent_message_type": "generic",
    "consent_message": "ullam",
    "checkbox_message": "illo",
    "recordings_layout_mode": "tiled",
    "layout_mode_on_join": "tiled",
    "max_participants": 50,
    "max_broadcasters": 5,
    "html_title": "My room",
    "captions_enabled": true,
    "captions_language": "en",
    "captions_in_recordings_enabled": true
};

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 "{
    \"description\": \"standup\",
    \"friendly_url\": \"my-standup\",
    \"privacy\": \"public\",
    \"external_id\": \"myExtID123\",
    \"default_role\": \"moderator\",
    \"roles\": [
        \"moderator\"
    ],
    \"webhooks\": [
        \"c83c7b87-b9b8-444d-a749-7076fe58fdb8\"
    ],
    \"is_locked\": true,
    \"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\": false,
    \"audio_on_join_enabled\": true,
    \"video_on_join_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,
    \"chat_enabled\": true,
    \"private_chat_enabled\": false,
    \"private_group_chat_enabled\": true,
    \"private_group_chat_name\": \"Presenters\",
    \"private_group_chat_roles\": [
        \"moderator\"
    ],
    \"e2ee_enabled\": false,
    \"layout_mode_switch_enabled\": false,
    \"simple_notifications_enabled\": true,
    \"join_screen_enabled\": false,
    \"screenshare_enabled\": true,
    \"recordings_enabled\": true,
    \"logo_enabled\": false,
    \"recording_logo_enabled\": true,
    \"virtual_backgrounds_enabled\": true,
    \"raise_hand_enabled\": true,
    \"participant_names_in_recordings_enabled\": false,
    \"invite_participants_enabled\": false,
    \"whiteboard_enabled\": true,
    \"qa_enabled\": true,
    \"consent_message_enabled\": true,
    \"recording_consent_message_enabled\": true,
    \"consent_message_type\": \"generic\",
    \"consent_message\": \"ullam\",
    \"checkbox_message\": \"illo\",
    \"recordings_layout_mode\": \"tiled\",
    \"layout_mode_on_join\": \"tiled\",
    \"max_participants\": 50,
    \"max_broadcasters\": 5,
    \"html_title\": \"My room\",
    \"captions_enabled\": true,
    \"captions_language\": \"en\",
    \"captions_in_recordings_enabled\": true
}"

Example response (200):


{
    "id": "c7870e04-12e5-3818-b660-14f805ac498f",
    "description": "Optio illum dolor.",
    "topic": "Optio illum dolor.",
    "friendly_url": "ztFH6IEQ4zXeVeUKFWIcqbzpA4mWlesh",
    "privacy": "public",
    "max_participants": 100,
    "max_broadcasters": 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,
    "private_chat_enabled": true,
    "private_group_chat_enabled": false,
    "private_group_chat_name": null,
    "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,
    "qa_enabled": true,
    "consent_message_enabled": true,
    "recording_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://46dfc1841319ac137e9baa2d187676a0.digitalsamba.com/ztFH6IEQ4zXeVeUKFWIcqbzpA4mWlesh",
    "external_id": "EXTID930237622",
    "breakout_rooms_enabled": false,
    "html_title": null,
    "captions_enabled": false,
    "captions_in_recordings_enabled": false,
    "captions_language": "en",
    "created_at": "2024-02-22T18:41:25Z",
    "updated_at": "2024-02-22T18:41:25Z"
}
 

Request      

PATCH api/v1/rooms/{room}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

room   string   

The UUID of the room or room friendly URL. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

Body Parameters

description   string  optional  

Must be at least 3 characters. Must not be greater than 500 characters. Example: standup

friendly_url   string  optional  

Must be unique. Must be at least 3 characters. Must not be greater than 32 characters. Example: my-standup

privacy   string  optional  

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

external_id   string  optional  

Room external id. Example: myExtID123

default_role   string  optional  

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

roles   string[]  optional  

Must be an array of role IDs or names.

webhooks   string[]  optional  

Must be an array of webhooks IDs. Limit the webhooks to the specified ones when this parameter is used, and when it's not provided, all webhooks are allowed.

is_locked   boolean  optional  

Example: true

topbar_enabled   boolean  optional  

Example: true

toolbar_enabled   boolean  optional  

Example: false

toolbar_position   string  optional  

Must be one of left, right or bottom. Example: right

toolbar_color   string  optional  

Must be color hex code. Example: #FF0000

primary_color   string  optional  

Must be color hex code. Example: #008000

background_color   string  optional  

Must be color hex code. Example: #000000

palette_mode   string  optional  

Must be one of light or dark. Example: light

language   string  optional  

Must be one of de, en or es. Example: en

language_selection_enabled   boolean  optional  

Example: false

audio_on_join_enabled   boolean  optional  

Example: true

video_on_join_enabled   boolean  optional  

Example: true

pin_enabled   boolean  optional  

Example: true

full_screen_enabled   boolean  optional  

Example: true

minimize_own_tile_enabled   boolean  optional  

Example: true

minimize_own_tile_on_join_enabled   boolean  optional  

Example: false

end_session_enabled   boolean  optional  

Example: true

chat_enabled   boolean  optional  

Example: true

private_chat_enabled   boolean  optional  

Example: false

private_group_chat_enabled   boolean  optional  

Example: true

private_group_chat_name   string  optional  

Must be at least 3 characters. Example: Presenters

private_group_chat_roles   string[]   

Must be an array of role IDs or names.

e2ee_enabled   boolean  optional  

Example: false

layout_mode_switch_enabled   boolean  optional  

Example: false

simple_notifications_enabled   boolean  optional  

Example: true

join_screen_enabled   boolean  optional  

Example: false

screenshare_enabled   boolean  optional  

Example: true

recordings_enabled   boolean  optional  

Example: true

logo_enabled   boolean  optional  

Example: false

recording_logo_enabled   boolean  optional  

Example: true

virtual_backgrounds_enabled   boolean  optional  

Example: true

raise_hand_enabled   boolean  optional  

Example: true

participant_names_in_recordings_enabled   boolean  optional  

Example: false

invite_participants_enabled   boolean  optional  

Example: false

whiteboard_enabled   boolean  optional  

Example: true

qa_enabled   boolean  optional  

Example: true

consent_message_enabled   boolean  optional  

Example: true

recording_consent_message_enabled   boolean  optional  

Example: true

consent_message_type   string  optional  

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

consent_message   string  optional  

Example: ullam

checkbox_message   string  optional  

Example: illo

recordings_layout_mode   string  optional  

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

layout_mode_on_join   string  optional  

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

max_participants   integer  optional  

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

max_broadcasters   integer  optional  

Maximum allowed number of broadcasters. Must be at least 1. Must not be greater than max_participants. Example: 5

html_title   string  optional  

Must be at least 5 characters. Must not be greater than 255 characters. Example: My room

captions_enabled   boolean  optional  

Example: true

captions_language   string  optional  

Must be en or de. Example: en

captions_in_recordings_enabled   boolean  optional  

Example: true

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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

room   string   

The UUID of the room or room friendly URL. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

room   string   

The UUID of the room or room friendly URL. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

room   string   

The UUID of the room or room friendly URL. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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": "811d959e-a57a-3081-8d24-2a535bac54a6",
            "name": "Neque omnis et ea.",
            "room_id": "b4d8bd59-08f4-3058-b9af-490158e556b1",
            "external_room_id": "EXTID1208968200",
            "friendly_url": "OMil7SiDIMsjVBgQiQWN7bwBBWkkQbV2",
            "privacy": "public",
            "participant_id": "0ca3b2d4-0e65-48b9-b9cd-87bd902d6676",
            "participant_name": "Favian Rice IV",
            "participant_external_id": "EXTID1460018039",
            "created_at": "2024-02-22T18:41:26Z",
            "updated_at": "2024-02-22T18:41:26Z"
        },
        {
            "id": "6c7921db-b58d-336f-a5fa-60e118f67936",
            "name": "Quasi illum aut.",
            "room_id": "d7e8ff1e-d2f2-34e9-b677-ff2a48afa014",
            "external_room_id": "EXTID1553515792",
            "friendly_url": "D9QczxZ0IlHAnm-U6Xca-Gg6CcCVXTYc",
            "privacy": "public",
            "participant_id": "49240417-3467-427f-a10a-fd2197989edb",
            "participant_name": "Ezekiel Macejkovic",
            "participant_external_id": "EXTID1207335347",
            "created_at": "2024-02-22T18:41:26Z",
            "updated_at": "2024-02-22T18:41:26Z"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/recordings

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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": "3ad9a27e-b363-3cf2-8def-5a31652f91eb",
    "name": "Omnis aliquam ex.",
    "duration": 0,
    "status": null,
    "room_id": "3c2c2dec-0054-3603-ab11-5dabf9d38e46",
    "external_room_id": "EXTID1929924644",
    "friendly_url": "s9k1-zwVYWvn1c8JiqqrJJ-cNzKrNQQ7",
    "room_is_deleted": false,
    "privacy": "public",
    "session_id": null,
    "participant_id": "3b3d5105-c9fc-4c5b-be38-eb62ca091e6f",
    "participant_name": "Okey Buckridge",
    "participant_external_id": "EXTID717225318",
    "created_at": "2024-02-22T18:41:27Z",
    "updated_at": "2024-02-22T18:41:27Z"
}
 

Request      

GET api/v1/recordings/{recording}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

recording   string   

The UUID of the recording. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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',
        ],
        'query' => [
            'valid_for_minutes' => '60',
        ],
    ]
);
$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 params = {
    "valid_for_minutes": "60",
};
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download?valid_for_minutes=60" \
    --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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

recording   string   

The UUID of the recording. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

Query Parameters

valid_for_minutes   integer  optional  

Link expiration time in minutes. Example: 60

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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

recording   string   

The UUID of the recording. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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": "b3c5c533-b58d-4b7c-927e-a4a6a83182f3",
            "endpoint": "http://www.eichmann.com/temporibus-qui-eius-qui-quidem-error-voluptatem.html",
            "authorization_header": "4ca77efd95ec295e08e797e993f18306",
            "name": "My webhook 0",
            "created_at": "2024-02-22T18:41:27Z",
            "updated_at": "2024-02-22T18:41:27Z"
        },
        {
            "id": "be6a6617-0825-4883-a599-868a20d80212",
            "endpoint": "http://www.schowalter.com/non-eum-eveniet-minus-veritatis-est",
            "authorization_header": "9715c69bce264ec2f263b84e9f765916",
            "name": "My webhook 7",
            "created_at": "2024-02-22T18:41:27Z",
            "updated_at": "2024-02-22T18:41:27Z"
        }
    ],
    "total_count": "2"
}
 

Request      

GET api/v1/webhooks

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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": "a5791fe7-dc9e-4c7a-b561-1d03b4dec4c2",
    "endpoint": "http://hickle.com/veniam-aut-cumque-sit-sed-voluptas",
    "authorization_header": "b63f5c6c22aee4b981198db172f76a4b",
    "name": "My webhook 0",
    "events": [
        "participant_quis"
    ],
    "created_at": "2024-02-22T18:41:27Z",
    "updated_at": "2024-02-22T18:41:27Z"
}
 

Request      

GET api/v1/webhooks/{webhook}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

webhook   string   

The UUID of the webhook. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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": "f9ffbc57-17e6-472b-bca0-040dce995f9d",
    "endpoint": "http://www.turner.com/",
    "authorization_header": "05bbb087c9b8c26bf8a30fcbf9e49e31",
    "name": "My webhook 6",
    "events": [
        "participant_eos"
    ],
    "created_at": "2024-02-22T18:41:27Z",
    "updated_at": "2024-02-22T18:41:27Z"
}
 

Request      

POST api/v1/webhooks

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

endpoint   string   

Must be a valid URL. Must be at least 3 characters. Must not be greater than 100 characters. Example: https://example.com/webhook-for-join

name   string  optional  

Must be at least 3 characters. Must not be greater than 100 characters. Example: Join Webhook

authorization_header   string  optional  

A bearer token that will be sent as β€œAuthorization” header. Example: 2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F

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": "1f7e7d04-4d09-4110-bbed-703f27c99ec4",
    "endpoint": "http://www.christiansen.info/",
    "authorization_header": "b46b0187cb6455ad2b5f33b616b7b875",
    "name": "My webhook 6",
    "events": [
        "participant_magni"
    ],
    "created_at": "2024-02-22T18:41:27Z",
    "updated_at": "2024-02-22T18:41:27Z"
}
 

Request      

PATCH api/v1/webhooks/{webhook}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

webhook   string   

The UUID of the webhook. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

Body Parameters

endpoint   string  optional  

Must be a valid URL. Must be at least 3 characters. Must not be greater than 100 characters. Example: https://example.com/webhook-for-join

name   string  optional  

Must be at least 3 characters. Must not be greater than 100 characters. Example: Join Webhook

authorization_header   string  optional  

A bearer token that will be sent as β€œAuthorization” header. Example: 2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F

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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

webhook   string   

The UUID of the webhook. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

limit   integer  optional  

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

order   string  optional  

Order of returned records. Default is desc. Example: asc

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": {
        "answer_qa": true,
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_edit_whiteboard": true,
        "manage_breakout": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "moderate_qa": true,
        "private_chat": true,
        "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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role   string   

The UUID of the role or role name. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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": {
        "answer_qa": true,
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_edit_whiteboard": true,
        "manage_breakout": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "moderate_qa": true,
        "private_chat": true,
        "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

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

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

display_name   string   

Must be at least 3 characters. Must not be greater than 100 characters. Example: Basic Participant

description   string  optional  

Example: Participant with basic permissions

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": {
        "answer_qa": true,
        "ask_remote_unmute": true,
        "broadcast": true,
        "start_session": false,
        "end_session": true,
        "see_participants_panel": true,
        "general_chat": true,
        "manage_broadcast": true,
        "manage_edit_whiteboard": true,
        "manage_breakout": true,
        "manage_roles": [
            "moderator",
            "speaker",
            "attendee"
        ],
        "manage_screenshare": false,
        "moderate_qa": true,
        "private_chat": true,
        "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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role   string   

The UUID of the role or role name. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

Body Parameters

name   string  optional  

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

display_name   string  optional  

Must be at least 3 characters. Must not be greater than 100 characters. Example: Basic Participant

description   string  optional  

Example: Participant with basic permissions

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}

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role   string   

The UUID of the role or role name. Example: a853d608-e6cf-48eb-a3c9-7d089bbc09b0

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):


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

Request      

GET api/v1/permissions

Headers

Authorization      

Example: Bearer base64(teamId:teamDeveloperKey)

Content-Type      

Example: application/json

Accept      

Example: application/json