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
- Public rooms - https://{team.domain}.digitalsamba.com/{room.friendly_url}
- Private rooms - https://{team.domain}.digitalsamba.com/{room.friendly_url}?token={jwtToken}
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": "b27f97b1-edde-392f-ad48-82181d23a508",
"description": "Voluptas ullam.",
"topic": "Voluptas ullam.",
"friendly_url": "-2D5Ng339wUSJMSadS2tvgnYvv0UnYXp",
"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,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://57be4f8eb90d48c434cce928450fb2ba.digitalsamba.com/-2D5Ng339wUSJMSadS2tvgnYvv0UnYXp",
"external_id": "EXTID240874277",
"captions_mode": "live_speech",
"captions_language": "en",
"created_at": "2023-11-30T19:57:57Z",
"updated_at": "2023-11-30T19:57:57Z"
},
{
"id": "e7230328-f6a7-3b95-bce7-d35b1c83b9ee",
"description": "Cumque nihil fugiat.",
"topic": "Cumque nihil fugiat.",
"friendly_url": "MzpBW90EGZbiXFBnZeJ8zbLTFu5uKvsA",
"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,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://3f68a5c593e69d45aef3633aba24026b.digitalsamba.com/MzpBW90EGZbiXFBnZeJ8zbLTFu5uKvsA",
"external_id": "EXTID1170244803",
"captions_mode": "live_speech",
"captions_language": "en",
"created_at": "2023-11-30T19:57:57Z",
"updated_at": "2023-11-30T19:57:57Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/natus',
[
'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/natus"
);
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/natus" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "5bf2fa9d-45cb-38a4-8ac0-e34c189594dc",
"description": "Rerum quia.",
"topic": "Rerum quia.",
"friendly_url": "CE4VRwJtDYCaPBXbVsFFlxQUKRwF3IFV",
"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,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://9cb5fb36426e560f2597beb15c056007.digitalsamba.com/CE4VRwJtDYCaPBXbVsFFlxQUKRwF3IFV",
"external_id": "EXTID454499494",
"html_title": null,
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2023-11-30T19:57:57Z",
"updated_at": "2023-11-30T19:57:57Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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' => true,
'minimize_own_tile_enabled' => true,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'chat_enabled' => true,
'e2ee_enabled' => true,
'layout_mode_switch_enabled' => true,
'simple_notifications_enabled' => true,
'join_screen_enabled' => true,
'screenshare_enabled' => false,
'recordings_enabled' => false,
'logo_enabled' => false,
'custom_logo' => 'totam',
'recording_logo_enabled' => true,
'virtual_backgrounds_enabled' => false,
'raise_hand_enabled' => false,
'participant_names_in_recordings_enabled' => true,
'invite_participants_enabled' => true,
'whiteboard_enabled' => true,
'consent_message_enabled' => false,
'consent_message_type' => 'generic',
'consent_message' => 'atque',
'checkbox_message' => 'corporis',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 50,
'max_broadcasters' => 5,
'html_title' => 'My room',
'captions_enabled' => false,
'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": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"chat_enabled": true,
"e2ee_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"screenshare_enabled": false,
"recordings_enabled": false,
"logo_enabled": false,
"custom_logo": "totam",
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": false,
"raise_hand_enabled": false,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": false,
"consent_message_type": "generic",
"consent_message": "atque",
"checkbox_message": "corporis",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 50,
"max_broadcasters": 5,
"html_title": "My room",
"captions_enabled": false,
"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\": true,
\"minimize_own_tile_enabled\": true,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"chat_enabled\": true,
\"e2ee_enabled\": true,
\"layout_mode_switch_enabled\": true,
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": true,
\"screenshare_enabled\": false,
\"recordings_enabled\": false,
\"logo_enabled\": false,
\"custom_logo\": \"totam\",
\"recording_logo_enabled\": true,
\"virtual_backgrounds_enabled\": false,
\"raise_hand_enabled\": false,
\"participant_names_in_recordings_enabled\": true,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": true,
\"consent_message_enabled\": false,
\"consent_message_type\": \"generic\",
\"consent_message\": \"atque\",
\"checkbox_message\": \"corporis\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 50,
\"max_broadcasters\": 5,
\"html_title\": \"My room\",
\"captions_enabled\": false,
\"captions_language\": \"en\",
\"captions_in_recordings_enabled\": false
}"
Example response (200):
{
"id": "dd26c556-f9c0-35f1-b7df-f7e29ed68efa",
"description": "Fuga ut quam sit.",
"topic": "Fuga ut quam sit.",
"friendly_url": "tB63rXekrDTyPbkcdrBHSYs5SnupBJ6X",
"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,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://a8fc81a276eaa0c58bd79483334a788d.digitalsamba.com/tB63rXekrDTyPbkcdrBHSYs5SnupBJ6X",
"external_id": "EXTID2032608470",
"html_title": null,
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2023-11-30T19:57:58Z",
"updated_at": "2023-11-30T19:57:58Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/rooms/ipsum',
[
'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' => true,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'palette_mode' => 'light',
'language' => 'en',
'language_selection_enabled' => true,
'audio_on_join_enabled' => false,
'video_on_join_enabled' => true,
'pin_enabled' => true,
'full_screen_enabled' => false,
'minimize_own_tile_enabled' => false,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'chat_enabled' => true,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => false,
'simple_notifications_enabled' => false,
'join_screen_enabled' => false,
'screenshare_enabled' => true,
'recordings_enabled' => true,
'logo_enabled' => true,
'recording_logo_enabled' => false,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => false,
'participant_names_in_recordings_enabled' => false,
'invite_participants_enabled' => false,
'whiteboard_enabled' => false,
'consent_message_enabled' => true,
'consent_message_type' => 'generic',
'consent_message' => 'rerum',
'checkbox_message' => 'beatae',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 50,
'max_broadcasters' => 5,
'html_title' => 'My room',
'captions_enabled' => false,
'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/ipsum"
);
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": true,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": false,
"video_on_join_enabled": true,
"pin_enabled": true,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"chat_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": false,
"simple_notifications_enabled": false,
"join_screen_enabled": false,
"screenshare_enabled": true,
"recordings_enabled": true,
"logo_enabled": true,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": false,
"participant_names_in_recordings_enabled": false,
"invite_participants_enabled": false,
"whiteboard_enabled": false,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "rerum",
"checkbox_message": "beatae",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 50,
"max_broadcasters": 5,
"html_title": "My room",
"captions_enabled": false,
"captions_language": "en",
"captions_in_recordings_enabled": false
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/rooms/ipsum" \
--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\": true,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"palette_mode\": \"light\",
\"language\": \"en\",
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": false,
\"video_on_join_enabled\": true,
\"pin_enabled\": true,
\"full_screen_enabled\": false,
\"minimize_own_tile_enabled\": false,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"chat_enabled\": true,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": false,
\"simple_notifications_enabled\": false,
\"join_screen_enabled\": false,
\"screenshare_enabled\": true,
\"recordings_enabled\": true,
\"logo_enabled\": true,
\"recording_logo_enabled\": false,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": false,
\"participant_names_in_recordings_enabled\": false,
\"invite_participants_enabled\": false,
\"whiteboard_enabled\": false,
\"consent_message_enabled\": true,
\"consent_message_type\": \"generic\",
\"consent_message\": \"rerum\",
\"checkbox_message\": \"beatae\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 50,
\"max_broadcasters\": 5,
\"html_title\": \"My room\",
\"captions_enabled\": false,
\"captions_language\": \"en\",
\"captions_in_recordings_enabled\": false
}"
Example response (200):
{
"id": "e4e1faeb-59fa-3f9f-b6ec-84425be1039d",
"description": "Iure enim fugiat.",
"topic": "Iure enim fugiat.",
"friendly_url": "B-bN8yG3FephkqzazCu_Du0ZZ3OyMlB7",
"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,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://abe19550d453763dcd39616e5321aca1.digitalsamba.com/B-bN8yG3FephkqzazCu_Du0ZZ3OyMlB7",
"external_id": "EXTID1134436898",
"html_title": null,
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2023-11-30T19:57:58Z",
"updated_at": "2023-11-30T19:57:58Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/rooms/est',
[
'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/est"
);
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/est" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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/ratione/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/ratione/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/ratione/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
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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/odit/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/odit/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/odit/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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "2ee1edfd-5f7c-31fb-85cc-daf138814c4b",
"name": "Nesciunt est eaque.",
"room_id": "8ca0cf37-5009-3a90-948e-b698a6554527",
"friendly_url": "xzwu8rj9XSfPd5KVKC2n9T2Cwf3NFtgR",
"privacy": "public",
"participant_id": "44669d00-d1ac-42fd-b712-fb747c745260",
"participant_name": "Ryder Nikolaus I",
"created_at": "2023-11-30T19:57:58Z",
"updated_at": "2023-11-30T19:57:58Z"
},
{
"id": "ad5cd60c-c0c4-30d1-9ad3-e6963229a5b3",
"name": "Consequatur ratione.",
"room_id": "832fb6da-82da-3fa7-a047-d7b719e6fc29",
"friendly_url": "NtrvV5hphb2DfG45g1NpDvBYBZb5jPg6",
"privacy": "public",
"participant_id": "ec9d9259-424d-4be2-a09c-7e0ef2ce3520",
"participant_name": "Zion Dare",
"created_at": "2023-11-30T19:57:58Z",
"updated_at": "2023-11-30T19:57:58Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/ab',
[
'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/ab"
);
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/ab" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "86da9c9e-9a0f-3814-a623-c71424805bf5",
"name": "Iusto voluptatum ea.",
"duration": 0,
"status": null,
"room_id": "52dfd83f-ac57-3df7-8b17-7b5a1f25c0a2",
"friendly_url": "IDb3Tu5pelqCF3LJ02NuK5iMSQrip532",
"room_is_deleted": false,
"privacy": "public",
"session_id": null,
"participant_id": "0e6f1473-6950-4e4d-b36c-fe0b23125291",
"participant_name": "Maxime Nicolas",
"created_at": "2023-11-30T19:57:59Z",
"updated_at": "2023-11-30T19:57:59Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/dolore/download',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'valid_for_minutes' => 25,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/dolore/download"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"valid_for_minutes": 25
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/dolore/download" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"valid_for_minutes\": 25
}"
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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/recordings/ratione',
[
'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/ratione"
);
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/ratione" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "ba3a3823-1f92-4fec-9dbb-8ef0907d09de",
"endpoint": "http://bayer.com/enim-soluta-culpa-perspiciatis-numquam-aut-neque",
"authorization_header": "da0335fd571e5bc76131980e3522f87e",
"name": "My webhook 6",
"created_at": "2023-11-30T19:57:59Z",
"updated_at": "2023-11-30T19:57:59Z"
},
{
"id": "53965d40-1037-44b9-acdb-ac8283fa5f56",
"endpoint": "https://marquardt.net/non-maxime-molestiae-animi-et-ipsum.html",
"authorization_header": "9aaf6ef843aaf2fdda4ff572a2d2aa5c",
"name": "My webhook 0",
"created_at": "2023-11-30T19:57:59Z",
"updated_at": "2023-11-30T19:57:59Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/webhooks/illo',
[
'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/illo"
);
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/illo" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "8bc2ead0-f8eb-4334-b333-9bfcec6f702f",
"endpoint": "https://brakus.biz/saepe-magnam-consequatur-consequatur-eligendi.html",
"authorization_header": "e020dface4c35e15c1935338d678e9d0",
"name": "My webhook 3",
"events": [
"participant_sequi"
],
"created_at": "2023-11-30T19:57:59Z",
"updated_at": "2023-11-30T19:57:59Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "ef3ebf81-f14c-43c5-a663-be5e345875c5",
"endpoint": "http://fay.net/optio-quia-enim-aut-consequatur",
"authorization_header": "07b58d15a5bcddbda3ba4bd994a40c0a",
"name": "My webhook 2",
"events": [
"participant_sunt"
],
"created_at": "2023-11-30T19:57:59Z",
"updated_at": "2023-11-30T19:57:59Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/webhooks/est',
[
'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/est"
);
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/est" \
--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": "0d15608f-6df4-495e-b720-de6326ba5350",
"endpoint": "http://volkman.info/officia-et-voluptatem-neque-illo-possimus.html",
"authorization_header": "7774ec4c48f76b6885e3becc9628187e",
"name": "My webhook 4",
"events": [
"participant_quibusdam"
],
"created_at": "2023-11-30T19:58:00Z",
"updated_at": "2023-11-30T19:58:00Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/webhooks/eos',
[
'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/eos"
);
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/eos" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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"
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/roles/212da0f4-8918-4318-a101-116d9b9eb60d',
[
'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/212da0f4-8918-4318-a101-116d9b9eb60d"
);
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/212da0f4-8918-4318-a101-116d9b9eb60d" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/roles',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'participant',
'display_name' => 'Basic Participant',
'description' => 'Participant with basic permissions',
'permissions' => [
'ask_remote_unmute' => true,
'broadcast' => true,
'end_session' => true,
'general_chat' => true,
'manage_broadcast' => true,
'manage_roles' => [
'moderator',
'speaker',
'attendee',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "participant",
"display_name": "Basic Participant",
"description": "Participant with basic permissions",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"end_session": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/roles" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/roles/212da0f4-8918-4318-a101-116d9b9eb60d',
[
'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/212da0f4-8918-4318-a101-116d9b9eb60d"
);
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/212da0f4-8918-4318-a101-116d9b9eb60d" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/roles/212da0f4-8918-4318-a101-116d9b9eb60d',
[
'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/212da0f4-8918-4318-a101-116d9b9eb60d"
);
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/212da0f4-8918-4318-a101-116d9b9eb60d" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Permissions
Get available permissions for roles
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/permissions',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/permissions"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/permissions" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
[
"ask_remote_unmute",
"broadcast",
"start_session",
"end_session",
"see_participants_panel",
"general_chat",
"manage_broadcast",
"manage_edit_whiteboard",
"manage_roles",
"manage_screenshare",
"raise_hand",
"recording",
"remote_muting",
"invite_participant",
"remove_participant",
"control_room_entry",
"edit_whiteboard",
"screenshare"
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.