Introduction
This documentation aims to provide all the information you need to work with our API.
Pagination
Base URL
https://api.digitalsamba.com
Authenticating requests
Authenticate requests to this API's endpoints by sending an Authorization
header with the value "Bearer base64(teamId:teamDeveloperKey)"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
Iframe integration
Room url has the following structure
- 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": "d7395371-77c8-3623-af7f-51f83a74ce5c",
"topic": "Sunt et quo.",
"friendly_url": "D-41YHwkliiqZxjvsQ6RhJKQ6sBJYTvf",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://dc6eab40304496eebcd7fd8515df7254.digitalsamba.com/D-41YHwkliiqZxjvsQ6RhJKQ6sBJYTvf",
"external_id": "EXTID1499001355",
"created_at": "2023-09-21T18:12:32Z",
"updated_at": "2023-09-21T18:12:32Z",
"captions_mode": "live_speech",
"captions_language": "en-US"
},
{
"id": "b3459cc0-c430-3533-90bd-4ac6bbc9e414",
"topic": "Impedit nemo quo ex.",
"friendly_url": "xq_08geBhlb0RcPAggd0SRe8Y_esqlPB",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://d8df74309ab0487cdd391cf3fbf4f933.digitalsamba.com/xq_08geBhlb0RcPAggd0SRe8Y_esqlPB",
"external_id": "EXTID1024829225",
"created_at": "2023-09-21T18:12:33Z",
"updated_at": "2023-09-21T18:12:33Z",
"captions_mode": "live_speech",
"captions_language": "en-US"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "c41bfc81-faa5-3310-ae74-cca814277e78",
"topic": "Quia enim facere.",
"friendly_url": "l4c72EzG5KIeQUaP9oZEAXZwgksi9XCU",
"privacy": "public",
"max_participants": 100,
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"recordings_enabled": false,
"logo_enabled": true,
"custom_logo": null,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://a2c6d870f6214188b440745b39cf7b97.digitalsamba.com/l4c72EzG5KIeQUaP9oZEAXZwgksi9XCU",
"external_id": "EXTID863102483",
"html_title": null,
"created_at": "2023-09-21T18:12:33Z",
"updated_at": "2023-09-21T18:12:33Z",
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en-US"
}
Received response:
Request failed with error:
Create a new room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/rooms',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'topic' => 'standup',
'friendly_url' => 'my-standup',
'privacy' => 'public',
'external_id' => 'myExtID123',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'is_locked' => true,
'topbar_enabled' => false,
'toolbar_enabled' => false,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'palette_mode' => 'light',
'language' => 'en',
'language_selection_enabled' => true,
'audio_on_join_enabled' => false,
'video_on_join_enabled' => false,
'pin_enabled' => false,
'full_screen_enabled' => true,
'minimize_own_tile_enabled' => true,
'minimize_own_tile_on_join_enabled' => false,
'end_session_enabled' => false,
'chat_enabled' => true,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => true,
'simple_notifications_enabled' => true,
'join_screen_enabled' => false,
'screenshare_enabled' => true,
'recordings_enabled' => false,
'logo_enabled' => true,
'custom_logo' => 'ratione',
'recording_logo_enabled' => false,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => false,
'participant_names_in_recordings_enabled' => true,
'invite_participants_enabled' => true,
'whiteboard_enabled' => false,
'consent_message_enabled' => true,
'consent_message_type' => 'generic',
'consent_message' => 'ut',
'checkbox_message' => 'facere',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 50,
'html_title' => 'My room',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"topic": "standup",
"friendly_url": "my-standup",
"privacy": "public",
"external_id": "myExtID123",
"default_role": "moderator",
"roles": [
"moderator"
],
"is_locked": true,
"topbar_enabled": false,
"toolbar_enabled": false,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": false,
"video_on_join_enabled": false,
"pin_enabled": false,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"chat_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": false,
"screenshare_enabled": true,
"recordings_enabled": false,
"logo_enabled": true,
"custom_logo": "ratione",
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": false,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": false,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "ut",
"checkbox_message": "facere",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 50,
"html_title": "My room"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/rooms" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"topic\": \"standup\",
\"friendly_url\": \"my-standup\",
\"privacy\": \"public\",
\"external_id\": \"myExtID123\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"is_locked\": true,
\"topbar_enabled\": false,
\"toolbar_enabled\": false,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"palette_mode\": \"light\",
\"language\": \"en\",
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": false,
\"video_on_join_enabled\": false,
\"pin_enabled\": false,
\"full_screen_enabled\": true,
\"minimize_own_tile_enabled\": true,
\"minimize_own_tile_on_join_enabled\": false,
\"end_session_enabled\": false,
\"chat_enabled\": true,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": true,
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": false,
\"screenshare_enabled\": true,
\"recordings_enabled\": false,
\"logo_enabled\": true,
\"custom_logo\": \"ratione\",
\"recording_logo_enabled\": false,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": false,
\"participant_names_in_recordings_enabled\": true,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": false,
\"consent_message_enabled\": true,
\"consent_message_type\": \"generic\",
\"consent_message\": \"ut\",
\"checkbox_message\": \"facere\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 50,
\"html_title\": \"My room\"
}"
Example response (200):
{
"id": "ff7f546f-6b71-390f-94ae-63594ede04ab",
"topic": "Occaecati fugiat.",
"friendly_url": "WB-3Jh8If5Fpn_wLlsnecEzkRk7hDtqO",
"privacy": "public",
"max_participants": 100,
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"recordings_enabled": false,
"logo_enabled": true,
"custom_logo": null,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://3700530fdbd62ecc65d34b5e38031016.digitalsamba.com/WB-3Jh8If5Fpn_wLlsnecEzkRk7hDtqO",
"external_id": "EXTID1749830480",
"html_title": null,
"created_at": "2023-09-21T18:12:33Z",
"updated_at": "2023-09-21T18:12:33Z",
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en-US"
}
Received response:
Request failed with error:
Update room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'topic' => 'standup',
'friendly_url' => 'my-standup',
'privacy' => 'public',
'external_id' => 'myExtID123',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'is_locked' => false,
'topbar_enabled' => true,
'toolbar_enabled' => false,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'palette_mode' => 'light',
'language' => 'en',
'language_selection_enabled' => true,
'audio_on_join_enabled' => false,
'video_on_join_enabled' => true,
'pin_enabled' => false,
'full_screen_enabled' => false,
'minimize_own_tile_enabled' => true,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'chat_enabled' => false,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => false,
'simple_notifications_enabled' => true,
'join_screen_enabled' => true,
'screenshare_enabled' => false,
'recordings_enabled' => true,
'logo_enabled' => false,
'recording_logo_enabled' => false,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => true,
'participant_names_in_recordings_enabled' => true,
'invite_participants_enabled' => true,
'whiteboard_enabled' => true,
'consent_message_enabled' => true,
'consent_message_type' => 'generic',
'consent_message' => 'minima',
'checkbox_message' => 'molestiae',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 50,
'html_title' => 'My room',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"topic": "standup",
"friendly_url": "my-standup",
"privacy": "public",
"external_id": "myExtID123",
"default_role": "moderator",
"roles": [
"moderator"
],
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": false,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": false,
"video_on_join_enabled": true,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"chat_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": false,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"screenshare_enabled": false,
"recordings_enabled": true,
"logo_enabled": false,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "minima",
"checkbox_message": "molestiae",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 50,
"html_title": "My room"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"topic\": \"standup\",
\"friendly_url\": \"my-standup\",
\"privacy\": \"public\",
\"external_id\": \"myExtID123\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"is_locked\": false,
\"topbar_enabled\": true,
\"toolbar_enabled\": false,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"palette_mode\": \"light\",
\"language\": \"en\",
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": false,
\"video_on_join_enabled\": true,
\"pin_enabled\": false,
\"full_screen_enabled\": false,
\"minimize_own_tile_enabled\": true,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"chat_enabled\": false,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": false,
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": true,
\"screenshare_enabled\": false,
\"recordings_enabled\": true,
\"logo_enabled\": false,
\"recording_logo_enabled\": false,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": true,
\"participant_names_in_recordings_enabled\": true,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": true,
\"consent_message_enabled\": true,
\"consent_message_type\": \"generic\",
\"consent_message\": \"minima\",
\"checkbox_message\": \"molestiae\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 50,
\"html_title\": \"My room\"
}"
Example response (200):
{
"id": "2d0bcf92-2164-324b-89cf-9e7d041da502",
"topic": "Neque aliquid minus.",
"friendly_url": "fJeYyBCW8Emfd56CdHjJakBTmETRrO1j",
"privacy": "public",
"max_participants": 100,
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"recordings_enabled": false,
"logo_enabled": true,
"custom_logo": null,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://e7b994e34e05bad417c21b49f1a9f569.digitalsamba.com/fJeYyBCW8Emfd56CdHjJakBTmETRrO1j",
"external_id": "EXTID1097718110",
"html_title": null,
"created_at": "2023-09-21T18:12:33Z",
"updated_at": "2023-09-21T18:12:33Z",
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en-US"
}
Received response:
Request failed with error:
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]
Received response:
Request failed with error:
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:
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:
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
}
Received response:
Request failed with error:
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"
}
]
}
Received response:
Request failed with error:
Recordings
Get all team recordings.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings"
);
const params = {
"limit": "20",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings?limit=20&order=asc" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "0432b9ac-468c-33ae-9f6a-e1b6b8c3804b",
"name": "Rerum sint non.",
"duration": 1,
"room_id": "3099fdd6-86f7-3874-923a-8b857470f74a",
"friendly_url": "oFI8qx4md-Os553d_2ajZBAxBpyf9Zmy",
"privacy": "public",
"participant_id": "c1f12fe1-dbcf-4965-bf84-937582029006",
"participant_name": "Irma Simonis",
"created_at": "2023-09-21T18:12:33Z",
"updated_at": "2023-09-21T18:12:33Z"
},
{
"id": "6b5d267c-2b6c-3fc3-9e23-1799d26805a5",
"name": "Neque et nam aut.",
"room_id": "373edb0a-a337-3781-8e8b-2e38710b60fe",
"friendly_url": "kz2Ta-IRD1jEAQjtIFQ4y1Io4-xa6wiw",
"privacy": "public",
"participant_id": "0728240a-a004-41c1-9589-08e53a13bce9",
"participant_name": "Liam Olson",
"created_at": "2023-09-21T18:12:34Z",
"updated_at": "2023-09-21T18:12:34Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "8c91c7f2-1afd-3f2a-a64a-0cc369be025d",
"name": "Commodi dolore eos.",
"duration": 0,
"status": null,
"room_id": "190d2e6f-4766-308b-8d5b-5d85627bf482",
"friendly_url": "lak4T2ApRI7_MUWiG0EQrYJYqWDt0i8m",
"room_is_deleted": false,
"privacy": "public",
"session_id": null,
"participant_id": "93e470b7-1ee4-4a40-827c-0bdf6787a7a0",
"participant_name": "Muriel Corwin",
"created_at": "2023-09-21T18:12:34Z",
"updated_at": "2023-09-21T18:12:34Z"
}
Received response:
Request failed with error:
Download the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"link": "https://storage.server.net/8c59a25f-7ffa-43cb-a5b8-5814b3923906.mp4?h=rtiHKNPuXilF6NOWpiXbCw&expires=1668238783",
"valid_until": "2022-11-12T07:39:43Z"
}
Received response:
Request failed with error:
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]
Received response:
Request failed with error:
Webhooks
Get webhooks for the team.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/webhooks',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks"
);
const params = {
"limit": "20",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/webhooks?limit=20&order=asc" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "17df7b38-147b-4ecd-88ef-7cce1b35b79a",
"endpoint": "http://howe.info/",
"authorization_header": "3778fd31a6c7937cd6098be81853a7ec",
"name": "My webhook 6",
"created_at": "2023-09-21T18:12:34Z",
"updated_at": "2023-09-21T18:12:34Z"
},
{
"id": "551dfcd7-8b95-41e1-a719-04fc36fb3b4e",
"endpoint": "https://halvorson.com/est-architecto-numquam-aliquid-tempora-atque.html",
"authorization_header": "27228cf2d327521b9b24e5acd13d967a",
"name": "My webhook 1",
"created_at": "2023-09-21T18:12:35Z",
"updated_at": "2023-09-21T18:12:35Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "b4beb27e-f47d-443f-a7b7-5ea5e6ccd7d2",
"endpoint": "http://www.nitzsche.com/quisquam-aut-sed-sed-cumque-vel-beatae",
"authorization_header": "d8328a1c9ca2f17534fea100ee7bbedd",
"name": "My webhook 0",
"events": [
"participant_fugiat"
],
"created_at": "2023-09-21T18:12:35Z",
"updated_at": "2023-09-21T18:12:35Z"
}
Received response:
Request failed with error:
Create a new webhook.
requires authentication
This endpoint allows you to create a new webhook
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/webhooks',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'endpoint' => 'https://example.com/webhook-for-join',
'name' => 'Join Webhook',
'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
'events' => [
'participant_joined',
'participant_left',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"endpoint": "https:\/\/example.com\/webhook-for-join",
"name": "Join Webhook",
"authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
"events": [
"participant_joined",
"participant_left"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/webhooks" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
\"name\": \"Join Webhook\",
\"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
\"events\": [
\"participant_joined\",
\"participant_left\"
]
}"
Example response (200):
{
"id": "9930001c-2b1c-4f42-bd4a-4ace55b09100",
"endpoint": "http://wiegand.net/reprehenderit-consequuntur-facere-mollitia-debitis-ipsa-eum-et-iste.html",
"authorization_header": "88c2cdf580f9d50ce714045c94129b32",
"name": "My webhook 8",
"events": [
"participant_ut"
],
"created_at": "2023-09-21T18:12:35Z",
"updated_at": "2023-09-21T18:12:35Z"
}
Received response:
Request failed with error:
Update the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'endpoint' => 'https://example.com/webhook-for-join',
'name' => 'Join Webhook',
'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
'events' => [
'participant_joined',
'participant_left',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"endpoint": "https:\/\/example.com\/webhook-for-join",
"name": "Join Webhook",
"authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
"events": [
"participant_joined",
"participant_left"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
\"name\": \"Join Webhook\",
\"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
\"events\": [
\"participant_joined\",
\"participant_left\"
]
}"
Example response (200):
{
"id": "66224b33-d377-406b-95ce-47a29e19d491",
"endpoint": "http://blick.com/eum-id-optio-distinctio-velit-distinctio-praesentium-ut",
"authorization_header": "ac0d1d3eea76f4ce5b022432a09dae34",
"name": "My webhook 2",
"events": [
"participant_odio"
],
"created_at": "2023-09-21T18:12:35Z",
"updated_at": "2023-09-21T18:12:35Z"
}
Received response:
Request failed with error:
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]
Received response:
Request failed with error:
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:
Default room settings
Get default room settings.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "6560d978-88a3-4082-b628-89858af381fa",
"owner_id": "14ccd5fa-070d-4083-9999-7bdbef430991",
"domain": "7d0f5290ef760695b5ee0662045ad510",
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"custom_logo": null,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"default_role": {
"id": "e928dc04-7911-4fc1-812a-004c1ade73f0",
"name": "moderator",
"display_name": "Moderators"
},
"custom_cname": null,
"can_caption": true,
"max_participants": 50,
"max_sessions": 1,
"html_title": null,
"subscription_start": "2023-09-21 18:12:32",
"subscription_end": "2023-10-21 18:12:32",
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en-US"
}
Received response:
Request failed with error:
Update default room settings.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain' => 'eligendi',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'is_locked' => false,
'topbar_enabled' => true,
'toolbar_enabled' => false,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'language' => 'en',
'join_screen_enabled' => true,
'language_selection_enabled' => true,
'audio_on_join_enabled' => true,
'video_on_join_enabled' => false,
'pin_enabled' => true,
'chat_enabled' => true,
'full_screen_enabled' => false,
'minimize_own_tile_enabled' => false,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => false,
'simple_notifications_enabled' => false,
'screenshare_enabled' => false,
'recordings_enabled' => true,
'recording_logo_enabled' => false,
'logo_enabled' => false,
'custom_logo' => 'cupiditate',
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => false,
'participant_names_in_recordings_enabled' => true,
'invite_participants_enabled' => true,
'whiteboard_enabled' => true,
'consent_message_enabled' => false,
'consent_message_type' => 'generic',
'consent_message' => 'fuga',
'checkbox_message' => 'architecto',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'html_title' => 'My room',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "eligendi",
"default_role": "moderator",
"roles": [
"moderator"
],
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": false,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"language": "en",
"join_screen_enabled": true,
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": false,
"pin_enabled": true,
"chat_enabled": true,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": false,
"simple_notifications_enabled": false,
"screenshare_enabled": false,
"recordings_enabled": true,
"recording_logo_enabled": false,
"logo_enabled": false,
"custom_logo": "cupiditate",
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": false,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": false,
"consent_message_type": "generic",
"consent_message": "fuga",
"checkbox_message": "architecto",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"html_title": "My room"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"eligendi\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"is_locked\": false,
\"topbar_enabled\": true,
\"toolbar_enabled\": false,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"language\": \"en\",
\"join_screen_enabled\": true,
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": true,
\"video_on_join_enabled\": false,
\"pin_enabled\": true,
\"chat_enabled\": true,
\"full_screen_enabled\": false,
\"minimize_own_tile_enabled\": false,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": false,
\"simple_notifications_enabled\": false,
\"screenshare_enabled\": false,
\"recordings_enabled\": true,
\"recording_logo_enabled\": false,
\"logo_enabled\": false,
\"custom_logo\": \"cupiditate\",
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": false,
\"participant_names_in_recordings_enabled\": true,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": true,
\"consent_message_enabled\": false,
\"consent_message_type\": \"generic\",
\"consent_message\": \"fuga\",
\"checkbox_message\": \"architecto\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"html_title\": \"My room\"
}"
Example response (200):
{
"id": "5df676b9-522e-4eae-a368-331db0c6afa1",
"owner_id": "42cfdacf-ef17-42f7-b90a-e706a169471f",
"domain": "abf52dcedb768db483727ef18a20732e",
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"custom_logo": null,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"default_role": {
"id": "52ff3c29-2194-460e-9183-6be2a91acf14",
"name": "moderator",
"display_name": "Moderators"
},
"custom_cname": null,
"can_caption": true,
"max_participants": 50,
"max_sessions": 1,
"html_title": null,
"subscription_start": "2023-09-21 18:12:32",
"subscription_end": "2023-10-21 18:12:32",
"captions_enabled": false,
"captions_mode": "live_speech",
"captions_in_recordings_enabled": false,
"captions_language": "en-US"
}
Received response:
Request failed with error:
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:
Get the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
Create a new role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/roles',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'participant',
'display_name' => 'Basic Participant',
'description' => 'Participant with basic permissions',
'permissions' => [
'ask_remote_unmute' => true,
'broadcast' => true,
'end_session' => true,
'general_chat' => true,
'manage_broadcast' => true,
'manage_roles' => [
'moderator',
'speaker',
'attendee',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "participant",
"display_name": "Basic Participant",
"description": "Participant with basic permissions",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"end_session": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/roles" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
Update the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'participant',
'display_name' => 'Basic Participant',
'description' => 'Participant with basic permissions',
'permissions' => [
'ask_remote_unmute' => true,
'broadcast' => true,
'end_session' => true,
'general_chat' => true,
'manage_broadcast' => true,
'manage_roles' => [
'moderator',
'speaker',
'attendee',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "participant",
"display_name": "Basic Participant",
"description": "Participant with basic permissions",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"end_session": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
]
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"remove_participant": false,
"edit_whiteboard": true,
"screenshare": false
}
}
Received response:
Request failed with error:
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]
Received response:
Request failed with error:
Permissions
Get available permissions for roles
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/permissions',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/permissions"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/permissions" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
[
"ask_remote_unmute",
"broadcast",
"start_session",
"end_session",
"see_participants_panel",
"general_chat",
"manage_broadcast",
"manage_roles",
"manage_screenshare",
"raise_hand",
"recording",
"remote_muting",
"invite_participant",
"remove_participant",
"control_room_entry",
"edit_whiteboard",
"screenshare"
]
Received response:
Request failed with error: