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 {DEVELOPER_KEY}"
.
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
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 {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "feec2987-a6b2-416e-af61-336154f9b9b7",
"owner_id": "14dba9b9-2ff5-4c1b-b11d-b63338eb5855",
"domain": "e3a7c799108adad7d1b1fdaabff2b2ee",
"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,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": null,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"custom_logo": null,
"application_logo": null,
"favicon": null,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"default_role": {
"id": "4ec3121d-6be3-4280-9349-1b58b5c8f347",
"name": "moderator",
"display_name": "Moderators"
},
"custom_cname": null,
"captions_enabled": false,
"captions_in_recordings_enabled": false,
"captions_language": "en",
"max_participants": 50,
"max_sessions": 1,
"html_title": null,
"subscription_start": "2024-04-18 19:13:43",
"subscription_end": "2024-05-18 19:13:43"
}
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 default room settings.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain' => 'est',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'is_locked' => true,
'topbar_enabled' => true,
'toolbar_enabled' => true,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'language' => 'en',
'join_screen_enabled' => false,
'language_selection_enabled' => true,
'audio_on_join_enabled' => true,
'video_on_join_enabled' => true,
'pin_enabled' => true,
'chat_enabled' => false,
'private_chat_enabled' => true,
'private_group_chat_enabled' => false,
'private_group_chat_name' => 'Presenters',
'private_group_chat_roles' => [
'moderator',
],
'full_screen_enabled' => false,
'minimize_own_tile_enabled' => true,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => true,
'simple_notifications_enabled' => false,
'screenshare_enabled' => true,
'recordings_enabled' => false,
'recording_logo_enabled' => false,
'logo_enabled' => false,
'custom_logo' => 'quas',
'virtual_backgrounds_enabled' => false,
'raise_hand_enabled' => false,
'participant_names_in_recordings_enabled' => false,
'hide_tiles_in_recordings_enabled' => true,
'invite_participants_enabled' => false,
'whiteboard_enabled' => true,
'qa_enabled' => false,
'files_panel_enabled' => true,
'consent_message_enabled' => false,
'recording_consent_message_enabled' => false,
'consent_message_type' => 'generic',
'consent_message' => 'et',
'checkbox_message' => 'hic',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'html_title' => 'My room',
'captions_enabled' => true,
'captions_language' => 'en',
'captions_in_recordings_enabled' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "est",
"default_role": "moderator",
"roles": [
"moderator"
],
"is_locked": true,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"language": "en",
"join_screen_enabled": false,
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"pin_enabled": true,
"chat_enabled": false,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": "Presenters",
"private_group_chat_roles": [
"moderator"
],
"full_screen_enabled": false,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": false,
"screenshare_enabled": true,
"recordings_enabled": false,
"recording_logo_enabled": false,
"logo_enabled": false,
"custom_logo": "quas",
"virtual_backgrounds_enabled": false,
"raise_hand_enabled": false,
"participant_names_in_recordings_enabled": false,
"hide_tiles_in_recordings_enabled": true,
"invite_participants_enabled": false,
"whiteboard_enabled": true,
"qa_enabled": false,
"files_panel_enabled": true,
"consent_message_enabled": false,
"recording_consent_message_enabled": false,
"consent_message_type": "generic",
"consent_message": "et",
"checkbox_message": "hic",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"html_title": "My room",
"captions_enabled": true,
"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" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"est\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"is_locked\": true,
\"topbar_enabled\": true,
\"toolbar_enabled\": true,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"language\": \"en\",
\"join_screen_enabled\": false,
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": true,
\"video_on_join_enabled\": true,
\"pin_enabled\": true,
\"chat_enabled\": false,
\"private_chat_enabled\": true,
\"private_group_chat_enabled\": false,
\"private_group_chat_name\": \"Presenters\",
\"private_group_chat_roles\": [
\"moderator\"
],
\"full_screen_enabled\": false,
\"minimize_own_tile_enabled\": true,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": true,
\"simple_notifications_enabled\": false,
\"screenshare_enabled\": true,
\"recordings_enabled\": false,
\"recording_logo_enabled\": false,
\"logo_enabled\": false,
\"custom_logo\": \"quas\",
\"virtual_backgrounds_enabled\": false,
\"raise_hand_enabled\": false,
\"participant_names_in_recordings_enabled\": false,
\"hide_tiles_in_recordings_enabled\": true,
\"invite_participants_enabled\": false,
\"whiteboard_enabled\": true,
\"qa_enabled\": false,
\"files_panel_enabled\": true,
\"consent_message_enabled\": false,
\"recording_consent_message_enabled\": false,
\"consent_message_type\": \"generic\",
\"consent_message\": \"et\",
\"checkbox_message\": \"hic\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"html_title\": \"My room\",
\"captions_enabled\": true,
\"captions_language\": \"en\",
\"captions_in_recordings_enabled\": false
}"
Example response (200):
{
"id": "64d4a7f5-749f-408f-983d-b2ca642a8879",
"owner_id": "587496d1-4e04-49ff-95a2-ec708607fc92",
"domain": "20689075d6d9b9ddc8bf2e77c10df925",
"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,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": null,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"custom_logo": null,
"application_logo": null,
"favicon": null,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"default_role": {
"id": "72e25ddf-08cc-440c-82cb-29c69710fd6e",
"name": "moderator",
"display_name": "Moderators"
},
"custom_cname": null,
"captions_enabled": false,
"captions_in_recordings_enabled": false,
"captions_language": "en",
"max_participants": 50,
"max_sessions": 1,
"html_title": null,
"subscription_start": "2024-04-18 19:13:43",
"subscription_end": "2024-05-18 19:13:43"
}
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.
Rooms
Get chat messages.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/chat',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'session_id' => '16719c1b-cc82-4dfe-9f6f-40d9093fa695',
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
]
);
$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/chat"
);
const params = {
"session_id": "16719c1b-cc82-4dfe-9f6f-40d9093fa695",
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/chat?session_id=16719c1b-cc82-4dfe-9f6f-40d9093fa695&limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"total_count": 3,
"data": [
{
"id": "3d8a123d-1a65-4b8b-a1d7-cde0578bf928",
"message": "Morning. How are you?",
"participant_id": "5e54e7e0-2639-4307-aafa-9eb957e20c2d",
"external_participant_id": "#123",
"participant_name": "John Smith",
"created_at": "2024-02-13T16:45:05.000000Z"
},
{
"id": "98255fe2-8e3f-4195-9771-8144c484d191",
"message": "I am fine, thanks! What about you?",
"participant_id": "685dacb3-5943-4661-a37d-d218586b8b6d",
"external_participant_id": "#456",
"participant_name": "Jane Doe",
"created_at": "2024-02-13T16:45:10.000000Z"
},
{
"id": "3d8a123d-1a65-4b8b-a1d7-cde0578bf928",
"breakout_id": "79e54583-3aad-4023-a2fa-968125e6c816",
"message": "In breakout #2",
"participant_id": "5e54e7e0-2639-4307-aafa-9eb957e20c2d",
"external_participant_id": "ABCDEF123",
"participant_name": "John Smith",
"created_at": "2024-02-13T16:45:20.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.
Export chat messages.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/chat/export',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'session_id' => '16719c1b-cc82-4dfe-9f6f-40d9093fa695',
'format' => 'txt',
],
]
);
$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/chat/export"
);
const params = {
"session_id": "16719c1b-cc82-4dfe-9f6f-40d9093fa695",
"format": "txt",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/chat/export?session_id=16719c1b-cc82-4dfe-9f6f-40d9093fa695&format=txt" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Not Found",
"error": "not-found"
}
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 questions and answers.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/questions',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'session_id' => '16719c1b-cc82-4dfe-9f6f-40d9093fa695',
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
]
);
$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/questions"
);
const params = {
"session_id": "16719c1b-cc82-4dfe-9f6f-40d9093fa695",
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/questions?session_id=16719c1b-cc82-4dfe-9f6f-40d9093fa695&limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"total_count": 1,
"data": [
{
"id": "3d8a123d-1a65-4b8b-a1d7-cde0578bf928",
"question": "How tall is the Statue of Liberty?",
"participant_id": "5e54e7e0-2639-4307-aafa-9eb957e20c2d",
"external_participant_id": "#123",
"participant_name": "John Smith",
"created_at": "2024-02-13T16:45:05.000000Z",
"answers": [
{
"id": "856e86e5-5d97-4a48-978a-6b8afe65f749",
"answer": "It is 46 metres high.",
"participant_id": "685dacb3-5943-4661-a37d-d218586b8b6d",
"external_participant_id": "#456",
"participant_name": "John Doe",
"created_at": "2024-02-13T16:45:30.000000Z"
},
{
"id": "29817328-b632-4741-8ba2-09d393bd2fb0",
"answer": "Yep, about 46 metres high.",
"participant_id": "d0f509a4-7aee-496a-a331-d44c0df6bdd7",
"external_participant_id": "#789",
"participant_name": "Jane Doe",
"created_at": "2024-02-13T16:45:35.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.
Export questions and answers.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/questions/export',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'session_id' => '16719c1b-cc82-4dfe-9f6f-40d9093fa695',
'format' => 'txt',
],
]
);
$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/questions/export"
);
const params = {
"session_id": "16719c1b-cc82-4dfe-9f6f-40d9093fa695",
"format": "txt",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/questions/export?session_id=16719c1b-cc82-4dfe-9f6f-40d9093fa695&format=txt" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Not Found",
"error": "not-found"
}
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 room transcripts.
requires authentication
Closed Captioning.
Paginated
Export room transcripts.
requires authentication
Closed Captioning.
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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'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",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "2a3b0a92-fee5-30ae-baff-987be0444193",
"description": "Aut laborum velit.",
"topic": "Aut laborum velit.",
"friendly_url": "R_a-jy5b6lDphF9EtLBNaSYAnxTJWAHy",
"privacy": "public",
"max_participants": 100,
"max_broadcasters": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"private_chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://30d493b0b64e6f77388912fe2b0f7c5b.digitalsamba.com/R_a-jy5b6lDphF9EtLBNaSYAnxTJWAHy",
"external_id": "EXTID52346590",
"captions_language": "en",
"created_at": "2024-04-18T19:13:44Z",
"updated_at": "2024-04-18T19:13:44Z"
},
{
"id": "43519506-6a96-384d-9d81-8858af2f073c",
"description": "Quam molestiae quia.",
"topic": "Quam molestiae quia.",
"friendly_url": "g6TLGaT6Rnb6ZpuEcqJxkN6IjvOWUJoi",
"privacy": "public",
"max_participants": 100,
"max_broadcasters": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": true,
"logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"private_chat_enabled": true,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"end_session_enabled": true,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://b2bd1ff82518a9b3b55e0709d5e927b7.digitalsamba.com/g6TLGaT6Rnb6ZpuEcqJxkN6IjvOWUJoi",
"external_id": "EXTID1837944123",
"captions_language": "en",
"created_at": "2024-04-18T19:13:44Z",
"updated_at": "2024-04-18T19:13:44Z"
}
],
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "13a5aa53-f4da-470b-bfd0-63dd9e5dd81d",
"description": "My public room description.",
"friendly_url": "MyPublicRoom",
"privacy": "public",
"max_participants": 100,
"max_broadcasters": 10,
"is_locked": false,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "left",
"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": true,
"logo_enabled": true,
"custom_logo": null,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"private_chat_enabled": true,
"private_group_chat_enabled": true,
"private_group_chat_name": "test",
"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": false,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://myteam.digitalsamba.com/MyPublicRoom",
"external_id": "EXTID123",
"default_role": {
"id": "47697570-a2e8-4b0c-8f2d-1af1ea2bae67",
"name": "moderator",
"display_name": "Moderators"
},
"roles": [
{
"id": "47697570-a2e8-4b0c-8f2d-1af1ea2bae67",
"name": "moderator",
"display_name": "Moderators",
"allow_private_group_chat": true
},
{
"id": "4fae2627-3d52-4b01-905f-5022b285ee8c",
"name": "attendee",
"display_name": "Attendees",
"allow_private_group_chat": false
}
],
"files": [
{
"id": "ae137edf-741e-4d0d-acd9-e5ad2c1dd74f",
"name": "image.png",
"url": "https://www.myimages.com/image.png",
"thumbnail_url": "https://www.myimages.com/image-thumbnail.png"
}
],
"webhooks": [
"3d5260b1-741e-4d0d-4a00-e5ad2c1dd74f",
"77ea623b-741e-4d0d-acd9-32d98793e168"
],
"breakout_rooms_enabled": true,
"breakouts": [
{
"id": "ae137edf-741e-4d0d-acd9-e5ad2c1dd74f",
"name": "Breakout Room 1"
},
{
"id": "77ea623b-f677-4a00-8307-ec19aa022d22",
"name": "Breakout Room 2"
},
{
"id": "6cc45935-f00c-4683-9f14-32d98793e168",
"name": "Breakout Room 3"
}
],
"html_title": "MyPublicRoom custom HTML title",
"captions_enabled": true,
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2022-05-13T19:09:04Z",
"updated_at": "2024-03-28T00:43:42Z"
}
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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'description' => 'Dolorum vero sint.',
'friendly_url' => 'DolorumVeroSint',
'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' => '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,
'participants_list_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,
'breakout_rooms_enabled' => false,
'breakouts' => [
'architecto',
],
'chat_enabled' => true,
'private_chat_enabled' => true,
'private_group_chat_enabled' => false,
'private_group_chat_name' => 'Presenters',
'private_group_chat_roles' => [
'moderator',
],
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => true,
'simple_notifications_enabled' => true,
'join_screen_enabled' => true,
'screenshare_enabled' => true,
'recordings_enabled' => true,
'logo_enabled' => true,
'custom_logo' => 'cumque',
'recording_logo_enabled' => true,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => true,
'participant_names_in_recordings_enabled' => true,
'hide_tiles_in_recordings_enabled' => false,
'invite_participants_enabled' => true,
'whiteboard_enabled' => true,
'qa_enabled' => true,
'files_panel_enabled' => true,
'consent_message_enabled' => true,
'recording_consent_message_enabled' => true,
'consent_message_type' => 'generic',
'consent_message' => 'By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].',
'checkbox_message' => 'Don’t show this again.',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 100,
'max_broadcasters' => 100,
'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 {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"description": "Dolorum vero sint.",
"friendly_url": "DolorumVeroSint",
"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": "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,
"participants_list_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,
"breakout_rooms_enabled": false,
"breakouts": [
"architecto"
],
"chat_enabled": true,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": "Presenters",
"private_group_chat_roles": [
"moderator"
],
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"screenshare_enabled": true,
"recordings_enabled": true,
"logo_enabled": true,
"custom_logo": "cumque",
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https:\/\/www.digitalsamba.com\/redirect\/privacy-policy]Privacy Policy[\/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 100,
"max_broadcasters": 100,
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"description\": \"Dolorum vero sint.\",
\"friendly_url\": \"DolorumVeroSint\",
\"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\": \"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,
\"participants_list_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,
\"breakout_rooms_enabled\": false,
\"breakouts\": [
\"architecto\"
],
\"chat_enabled\": true,
\"private_chat_enabled\": true,
\"private_group_chat_enabled\": false,
\"private_group_chat_name\": \"Presenters\",
\"private_group_chat_roles\": [
\"moderator\"
],
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": true,
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": true,
\"screenshare_enabled\": true,
\"recordings_enabled\": true,
\"logo_enabled\": true,
\"custom_logo\": \"cumque\",
\"recording_logo_enabled\": true,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": true,
\"participant_names_in_recordings_enabled\": true,
\"hide_tiles_in_recordings_enabled\": false,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": true,
\"qa_enabled\": true,
\"files_panel_enabled\": true,
\"consent_message_enabled\": true,
\"recording_consent_message_enabled\": true,
\"consent_message_type\": \"generic\",
\"consent_message\": \"By joining, you consent to the processing of your personal data in accordance with our [link https:\\/\\/www.digitalsamba.com\\/redirect\\/privacy-policy]Privacy Policy[\\/link].\",
\"checkbox_message\": \"Don’t show this again.\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 100,
\"max_broadcasters\": 100,
\"html_title\": \"My room\",
\"captions_enabled\": false,
\"captions_language\": \"en\",
\"captions_in_recordings_enabled\": false
}"
Example response (200):
{
"id": "e487333d-6f10-3f18-b9b6-abed44389f59",
"description": "Optio enim.",
"topic": "Optio enim.",
"friendly_url": "vcz17AQVvYMSJ_jloeEjZFJkAJfCNwG0",
"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,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": null,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://5686846fa3ae44264fa490446fb4780a.digitalsamba.com/vcz17AQVvYMSJ_jloeEjZFJkAJfCNwG0",
"external_id": "EXTID2019633382",
"breakout_rooms_enabled": false,
"html_title": null,
"captions_enabled": false,
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2024-04-18T19:13:44Z",
"updated_at": "2024-04-18T19:13:44Z"
}
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'description' => 'Dolorum vero sint.',
'friendly_url' => 'DolorumVeroSint',
'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' => '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,
'participants_list_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,
'breakout_rooms_enabled' => false,
'breakouts' => [
'iure',
],
'chat_enabled' => true,
'private_chat_enabled' => true,
'private_group_chat_enabled' => false,
'private_group_chat_name' => 'Presenters',
'private_group_chat_roles' => [
'moderator',
],
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => true,
'simple_notifications_enabled' => true,
'join_screen_enabled' => true,
'screenshare_enabled' => true,
'recordings_enabled' => true,
'logo_enabled' => true,
'custom_logo' => 'optio',
'recording_logo_enabled' => true,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => true,
'participant_names_in_recordings_enabled' => true,
'hide_tiles_in_recordings_enabled' => false,
'invite_participants_enabled' => true,
'whiteboard_enabled' => true,
'qa_enabled' => true,
'files_panel_enabled' => true,
'consent_message_enabled' => true,
'recording_consent_message_enabled' => true,
'consent_message_type' => 'generic',
'consent_message' => 'By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].',
'checkbox_message' => 'Don’t show this again.',
'recordings_layout_mode' => 'tiled',
'layout_mode_on_join' => 'tiled',
'max_participants' => 100,
'max_broadcasters' => 100,
'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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"description": "Dolorum vero sint.",
"friendly_url": "DolorumVeroSint",
"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": "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,
"participants_list_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,
"breakout_rooms_enabled": false,
"breakouts": [
"iure"
],
"chat_enabled": true,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": "Presenters",
"private_group_chat_roles": [
"moderator"
],
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"screenshare_enabled": true,
"recordings_enabled": true,
"logo_enabled": true,
"custom_logo": "optio",
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https:\/\/www.digitalsamba.com\/redirect\/privacy-policy]Privacy Policy[\/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"max_participants": 100,
"max_broadcasters": 100,
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"description\": \"Dolorum vero sint.\",
\"friendly_url\": \"DolorumVeroSint\",
\"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\": \"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,
\"participants_list_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,
\"breakout_rooms_enabled\": false,
\"breakouts\": [
\"iure\"
],
\"chat_enabled\": true,
\"private_chat_enabled\": true,
\"private_group_chat_enabled\": false,
\"private_group_chat_name\": \"Presenters\",
\"private_group_chat_roles\": [
\"moderator\"
],
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": true,
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": true,
\"screenshare_enabled\": true,
\"recordings_enabled\": true,
\"logo_enabled\": true,
\"custom_logo\": \"optio\",
\"recording_logo_enabled\": true,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": true,
\"participant_names_in_recordings_enabled\": true,
\"hide_tiles_in_recordings_enabled\": false,
\"invite_participants_enabled\": true,
\"whiteboard_enabled\": true,
\"qa_enabled\": true,
\"files_panel_enabled\": true,
\"consent_message_enabled\": true,
\"recording_consent_message_enabled\": true,
\"consent_message_type\": \"generic\",
\"consent_message\": \"By joining, you consent to the processing of your personal data in accordance with our [link https:\\/\\/www.digitalsamba.com\\/redirect\\/privacy-policy]Privacy Policy[\\/link].\",
\"checkbox_message\": \"Don’t show this again.\",
\"recordings_layout_mode\": \"tiled\",
\"layout_mode_on_join\": \"tiled\",
\"max_participants\": 100,
\"max_broadcasters\": 100,
\"html_title\": \"My room\",
\"captions_enabled\": false,
\"captions_language\": \"en\",
\"captions_in_recordings_enabled\": false
}"
Example response (200):
{
"id": "d8ba1702-3198-37ad-98bb-c95e08bc82f4",
"description": "Quidem et dolor.",
"topic": "Quidem et dolor.",
"friendly_url": "JiAGMkmsfu6XuUuZefDctZG0HmZA7_ki",
"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,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": true,
"private_chat_enabled": true,
"private_group_chat_enabled": false,
"private_group_chat_name": null,
"pin_enabled": true,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"participant_names_in_recordings_enabled": true,
"hide_tiles_in_recordings_enabled": false,
"invite_participants_enabled": true,
"whiteboard_enabled": true,
"qa_enabled": true,
"files_panel_enabled": true,
"consent_message_enabled": true,
"recording_consent_message_enabled": true,
"consent_message_type": "generic",
"consent_message": "By joining, you consent to the processing of your personal data in accordance with our [link https://www.digitalsamba.com/redirect/privacy-policy]Privacy Policy[/link].",
"checkbox_message": "Don’t show this again.",
"recordings_layout_mode": "tiled",
"layout_mode_on_join": "tiled",
"room_url": "https://32f5e8e98344ad3c45231eef6462485b.digitalsamba.com/JiAGMkmsfu6XuUuZefDctZG0HmZA7_ki",
"external_id": "EXTID406419434",
"breakout_rooms_enabled": false,
"html_title": null,
"captions_enabled": false,
"captions_in_recordings_enabled": false,
"captions_language": "en",
"created_at": "2024-04-18T19:13:44Z",
"updated_at": "2024-04-18T19:13:44Z"
}
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'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",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'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",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'room_id' => 'd4dfe280-01e7-42f0-ba57-a2f3e449e775',
'session_id' => 'ce4bba81-d332-426c-8e59-846d9c15d492',
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings"
);
const params = {
"room_id": "d4dfe280-01e7-42f0-ba57-a2f3e449e775",
"session_id": "ce4bba81-d332-426c-8e59-846d9c15d492",
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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?room_id=d4dfe280-01e7-42f0-ba57-a2f3e449e775&session_id=ce4bba81-d332-426c-8e59-846d9c15d492&limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "46837543-eae5-3dc6-9641-ea967a8a6555",
"name": "Minima error.",
"room_id": "1a50e1a3-cd83-3748-bc2b-c6a3033a579f",
"external_room_id": "EXTID931015189",
"friendly_url": "3wi1Drr91DdYIaJCMk0RmgRu-qeras8z",
"privacy": "public",
"participant_id": "f0d4cec4-5a70-49a5-bf17-5f6c4e14a431",
"participant_name": "peyton.prohaska",
"participant_external_id": "EXTID18",
"created_at": "2024-04-18T19:13:45Z",
"updated_at": "2024-04-18T19:13:45Z"
},
{
"id": "752c55f3-f473-3801-9c3e-bc13b3b8053e",
"name": "Eos sed fugit earum.",
"room_id": "a72f91ab-6674-3fa7-89ca-a882d8993720",
"external_room_id": "EXTID1409016365",
"friendly_url": "cHabUSLjczpE5bqYT4nEJPW1ouF9Qi2F",
"privacy": "public",
"participant_id": "70840b30-633d-489c-8fb0-a7fd4bc3eb96",
"participant_name": "dennis65",
"participant_external_id": "EXTID47",
"created_at": "2024-04-18T19:13:45Z",
"updated_at": "2024-04-18T19:13:45Z"
}
],
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "9841f2f3-346b-3fa8-b7dc-479e364ceed4",
"name": "Saepe sed.",
"duration": 0,
"status": null,
"room_id": "8b9ad2ae-1df3-3f77-a4a9-ef5a85fc44dc",
"external_room_id": "EXTID1853991765",
"friendly_url": "T9kV9SXgS9ZLK2U4LfccV-b6e8rk8rBG",
"room_is_deleted": false,
"privacy": "public",
"session_id": null,
"participant_id": "5423eae4-a104-4a3b-abf1-795f506c3ea0",
"participant_name": "maybell.kshlerin",
"participant_external_id": "EXTID14",
"created_at": "2024-04-18T19:13:46Z",
"updated_at": "2024-04-18T19:13:46Z"
}
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'valid_for_minutes' => '60',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download"
);
const params = {
"valid_for_minutes": "60",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download?valid_for_minutes=60" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--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:
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'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",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "879d9960-3350-4f35-81d2-00b24849e6c0",
"endpoint": "https://www.ledner.com/voluptatem-soluta-sed-aut-magni-magnam-inventore-architecto",
"authorization_header": "0a5dd6275532b354d70cee418f743c17",
"name": "My webhook 8",
"created_at": "2024-04-18T19:13:46Z",
"updated_at": "2024-04-18T19:13:46Z"
},
{
"id": "8c5b8f59-822c-418e-acd5-439f8647b650",
"endpoint": "http://wiza.net/repellendus-aperiam-rerum-vitae-repellat",
"authorization_header": "24c449f69a4caf424a00dcbaf49c4c60",
"name": "My webhook 0",
"created_at": "2024-04-18T19:13:46Z",
"updated_at": "2024-04-18T19:13:46Z"
}
],
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "4b788869-a52c-49e1-8a11-fe9186a9a3ad",
"endpoint": "http://mann.com/",
"authorization_header": "bebaf7e31945dd9a5a78717ae73b32d3",
"name": "My webhook 5",
"events": [
"participant_at"
],
"created_at": "2024-04-18T19:13:46Z",
"updated_at": "2024-04-18T19:13:46Z"
}
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 {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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": "56d00f47-fda0-4e58-b838-c249a0a86ace",
"endpoint": "http://www.harris.com/dolor-consequuntur-dolor-deleniti-voluptatem.html",
"authorization_header": "373d18d6753b02a43de07c3a4789a57c",
"name": "My webhook 5",
"events": [
"participant_laudantium"
],
"created_at": "2024-04-18T19:13:46Z",
"updated_at": "2024-04-18T19:13:46Z"
}
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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": "8967f7fe-9725-4960-a003-2c7e45a02f5d",
"endpoint": "http://bode.com/iste-tempore-mollitia-repellat-qui",
"authorization_header": "5176e3b398c7a04fccce35057e427024",
"name": "My webhook 6",
"events": [
"participant_officiis"
],
"created_at": "2024-04-18T19:13:47Z",
"updated_at": "2024-04-18T19:13:47Z"
}
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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'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",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"answer_qa": true,
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_breakout": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"moderate_qa": true,
"present_files": true,
"private_chat": true,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"control_room_components": false,
"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 {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"answer_qa": true,
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_breakout": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"moderate_qa": true,
"present_files": true,
"private_chat": true,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"control_room_components": false,
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": {
\"ask_remote_unmute\": true,
\"broadcast\": true,
\"end_session\": true,
\"general_chat\": true,
\"manage_broadcast\": true,
\"manage_roles\": [
\"moderator\",
\"speaker\",
\"attendee\"
]
}
}"
Example response (200):
{
"id": "5ce6fda5-d42b-4110-8796-177e571a7407",
"name": "moderator",
"display_name": "Moderators",
"description": "The Digital Samba Embedded Moderator preset is conceived to have all permissions, encompassing speaker’s rights to broadcast, screenshare and present, and also management rights such as granting or removing permissions, removing participants, starting / ending a session or recording it.",
"default": true,
"created_at": "2023-01-31T12:45:53Z",
"updated_at": "2023-02-15T03:22:24Z",
"permissions": {
"answer_qa": true,
"ask_remote_unmute": true,
"broadcast": true,
"start_session": false,
"end_session": true,
"see_participants_panel": true,
"general_chat": true,
"manage_broadcast": true,
"manage_edit_whiteboard": true,
"manage_breakout": true,
"manage_roles": [
"moderator",
"speaker",
"attendee"
],
"manage_screenshare": false,
"moderate_qa": true,
"present_files": true,
"private_chat": true,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"invite_participant": true,
"control_room_entry": true,
"control_room_components": false,
"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/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--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 {DEVELOPER_KEY}',
'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 {DEVELOPER_KEY}",
"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 {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
[
"answer_qa",
"ask_remote_unmute",
"broadcast",
"start_session",
"end_session",
"see_participants_panel",
"general_chat",
"manage_broadcast",
"manage_edit_whiteboard",
"manage_roles",
"manage_screenshare",
"manage_breakout",
"moderate_qa",
"present_files",
"private_chat",
"raise_hand",
"recording",
"remote_muting",
"invite_participant",
"remove_participant",
"control_room_entry",
"control_room_components",
"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.
Participants
Get all participants.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/participants',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
'json' => [
'date_start' => '2024-04-18',
'date_end' => '2024-04-18',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/participants"
);
const params = {
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_start": "2024-04-18",
"date_end": "2024-04-18"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/participants?limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_start\": \"2024-04-18\",
\"date_end\": \"2024-04-18\"
}"
Example response (200):
{
"data": [
{
"id": "17c75935-387e-499e-ab6f-8025e9bc0691",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Ms. Cara Ferry Jr.",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
},
{
"id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Madisyn Howe",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
}
],
"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 participant statistics.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/participants/{participant}',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/participants/{participant}"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/participants/{participant}" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"room_id": "9af9933c-5b43-3279-a7bb-7e7809210e9e",
"room_external_id": "308bf674-8610-35cb-a378-e2c54f2fc976",
"room_friendly_url": "UoZhS97JdgTqxj4qVgPWyD_F8eBdW5Si",
"room_privacy": "public",
"room_is_deleted": false,
"session_id": "fc355508-8064-4367-96c2-21ef571beee5",
"live": false,
"participant_name": "Madisyn Howe",
"role": "moderator",
"join_time": "2024-03-31T15:27:43Z",
"leave_time": "2024-03-31T15:36:43Z",
"device": "desktop",
"system": "Mac OS X 10",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_3 rv:6.0) Gecko/20190126 Firefox/35.0",
"e2ee": false,
"participation_minutes": 9,
"public_chat_posts": 2,
"questions": 3,
"answers": 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 all room participants.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/{room}/participants',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
'json' => [
'date_start' => '2024-04-18',
'date_end' => '2024-04-18',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/{room}/participants"
);
const params = {
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_start": "2024-04-18",
"date_end": "2024-04-18"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/{room}/participants?limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_start\": \"2024-04-18\",
\"date_end\": \"2024-04-18\"
}"
Example response (200):
{
"data": [
{
"id": "17c75935-387e-499e-ab6f-8025e9bc0691",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Ms. Cara Ferry Jr.",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
},
{
"id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Madisyn Howe",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
}
],
"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 all session participants.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/sessions/{session}/participants',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
'json' => [
'date_start' => '2024-04-18',
'date_end' => '2024-04-18',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/sessions/{session}/participants"
);
const params = {
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_start": "2024-04-18",
"date_end": "2024-04-18"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/sessions/{session}/participants?limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_start\": \"2024-04-18\",
\"date_end\": \"2024-04-18\"
}"
Example response (200):
{
"data": [
{
"id": "17c75935-387e-499e-ab6f-8025e9bc0691",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Ms. Cara Ferry Jr.",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
},
{
"id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"external_id": "EXTID1625629384",
"session_id": "9c725f12-705c-40e5-be1f-10dea6fa0a1f",
"room_id": "1a3c3ace-e3ec-3363-b3cd-308c02381268",
"room_external_id": "EXTID1375085920",
"room_is_deleted": false,
"name": "Madisyn Howe",
"role": "moderator",
"friendly_url": "iagVi1oidf0k9hQhHypYLefFqpbHulUN",
"join_time": "2024-03-03 08:01:01",
"leave_time": "2024-03-03 09:01:01",
"live": false
}
],
"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.
Sessions
Get all room sessions.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/{room}/sessions',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
'json' => [
'date_start' => '2024-04-18',
'date_end' => '2024-04-18',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/{room}/sessions"
);
const params = {
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_start": "2024-04-18",
"date_end": "2024-04-18"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/{room}/sessions?limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_start\": \"2024-04-18\",
\"date_end\": \"2024-04-18\"
}"
Example response (200):
{
"data": [
{
"id": "643be420-4dcc-453c-92d4-432164a4bc52",
"start_time": "2024-03-21T05:09:31.000000Z",
"end_time": "2024-03-21T05:29:31.000000Z",
"room_id": "5b9ca00e-656e-43cc-ba2c-7dcaae63daa9",
"room_external_id": "EXT-ID-123",
"description": "My room description",
"friendly_url": "myRoom",
"room_is_deleted": false,
"participants_live": 3,
"participants_total": 8,
"participants_max": 5,
"live": true
},
{
"id": "cbe49091-3b4d-4c1b-9ea6-bdf6594e799d",
"start_time": "2024-03-21T05:19:31.000000Z",
"end_time": "2024-03-21T05:29:31.000000Z",
"room_id": "5b9ca00e-656e-43cc-ba2c-7dcaae63daa9",
"room_external_id": "EXT-ID-123",
"description": "My room description",
"friendly_url": "myRoom",
"room_is_deleted": false,
"participants_total": 10,
"participants_max": 5,
"live": false
}
],
"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 all sessions.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/sessions',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '20',
'offset' => '0',
'order' => 'asc',
],
'json' => [
'date_start' => '2024-04-18',
'date_end' => '2024-04-18',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/sessions"
);
const params = {
"limit": "20",
"offset": "0",
"order": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_start": "2024-04-18",
"date_end": "2024-04-18"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/sessions?limit=20&offset=0&order=asc" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_start\": \"2024-04-18\",
\"date_end\": \"2024-04-18\"
}"
Example response (200):
{
"data": [
{
"id": "643be420-4dcc-453c-92d4-432164a4bc52",
"start_time": "2024-03-21T05:09:31.000000Z",
"end_time": "2024-03-21T05:29:31.000000Z",
"room_id": "5b9ca00e-656e-43cc-ba2c-7dcaae63daa9",
"room_external_id": "EXT-ID-123",
"description": "My room description",
"friendly_url": "myRoom",
"room_is_deleted": false,
"participants_live": 3,
"participants_total": 8,
"participants_max": 5,
"live": true
},
{
"id": "cbe49091-3b4d-4c1b-9ea6-bdf6594e799d",
"start_time": "2024-03-21T05:19:31.000000Z",
"end_time": "2024-03-21T05:29:31.000000Z",
"room_id": "5b9ca00e-656e-43cc-ba2c-7dcaae63daa9",
"room_external_id": "EXT-ID-123",
"description": "My room description",
"friendly_url": "myRoom",
"room_is_deleted": false,
"participants_total": 10,
"participants_max": 5,
"live": false
}
],
"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 session statistics.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/sessions/{session}',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/sessions/{session}"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/sessions/{session}" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"room_id": "13a5aa53-f4da-470b-bfd0-63dd9e5dd81d",
"room_external_id": "EXTID123",
"room_description": "Some public room",
"room_friendly_url": "MyPublicRoom",
"room_privacy": "public",
"room_source": "api",
"room_max_participants": 100,
"room_is_deleted": false,
"session_id": "0c843bf8-d245-450c-94fb-31e8a861bfaf",
"session_duration": 60,
"session_live": false,
"session_start_time": "2022-05-09T15:25:21Z",
"session_end_time": "2022-05-09T15:57:25Z",
"participation_minutes": 67,
"desktop_participation_minutes": 50,
"mobile_participation_minutes": 10,
"tablet_participation_minutes": 7,
"smarttv_participation_minutes": 0,
"broadcasted_minutes": 15,
"subscribed_minutes": 0,
"screen_broadcasted_minutes": 0,
"screen_subscribed_minutes": 0,
"live_participants": 0,
"active_participants": 4,
"desktop_participants": 2,
"mobile_participants": 1,
"tablet_participants": 1,
"smarttv_participants": 0,
"max_concurrent_participants": 3,
"e2ee_minutes": 0,
"recorded_minutes": 90,
"stored_recorded_minutes": 60,
"whiteboard_minutes": 0,
"breakout_minutes": 0,
"presentation_minutes": 0,
"active_roles": 2,
"public_chat_posts": 52,
"questions": 2,
"answers": 3
}
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.
Statistics
Get team global statistics by period.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/statistics',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/statistics"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/statistics" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"participation_minutes": 3500,
"desktop_participation_minutes": 1500,
"mobile_participation_minutes": 1000,
"tablet_participation_minutes": 900,
"smarttv_participation_minutes": 100,
"broadcasted_minutes": 2500,
"subscribed_minutes": 1000,
"screen_broadcasted_minutes": 1000,
"screen_subscribed_minutes": 100,
"active_participants": 35,
"max_concurrent_participants": 10,
"desktop_participants": 15,
"mobile_participants": 10,
"tablet_participants": 10,
"smarttv_participants": 5,
"sessions": 10,
"rooms": 5,
"max_concurrent_sessions": 3,
"max_concurrent_participants_per_session": 10,
"live_participants": 10,
"recorded_minutes": 590,
"max_active_recorders": 3,
"captions_minutes": 520,
"e2ee_minutes": 850,
"stored_recorded_minutes": 960,
"whiteboard_minutes": 59,
"active_roles": 2,
"custom_roles": 3,
"breakout_minutes": 860,
"presentation_minutes": 52,
"public_chat_posts": 125,
"questions": 5,
"answers": 10,
"date_start": "2024-03-07",
"date_end": "2024-04-07"
}
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 team statistics for current period.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/statistics/current',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/statistics/current"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/statistics/current" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"participation_minutes": 2968,
"live_sessions": 5,
"live_participants": 25,
"active_recorders": 2,
"recorded_minutes": 181,
"captions_minutes": 289,
"stored_recorded_minutes": 15,
"max_concurrent_participants": 30,
"max_concurrent_sessions": 10,
"date_start": "2024-02-22",
"date_end": "2024-03-22"
}
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 room statistics by period.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/{room}/statistics',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/{room}/statistics"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/{room}/statistics" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"room_id": "13a5aa53-f4da-470b-bfd0-63dd9e5dd81d",
"room_external_id": "EXTID123",
"room_description": "Some public room",
"room_friendly_url": "MyPublicRoom",
"room_privacy": "public",
"room_source": "api",
"room_max_participants": 100,
"room_is_deleted": false,
"participation_minutes": 422,
"desktop_participation_minutes": 222,
"mobile_participation_minutes": 100,
"tablet_participation_minutes": 75,
"smarttv_participation_minutes": 25,
"broadcasted_minutes": 10,
"subscribed_minutes": 10,
"screen_broadcasted_minutes": 5,
"screen_subscribed_minutes": 5,
"live_participants": 0,
"active_participants": 10,
"desktop_participants": 5,
"mobile_participants": 2,
"tablet_participants": 2,
"smarttv_participants": 1,
"sessions": 11,
"max_concurrent_participants": 5,
"e2ee_minutes": 30,
"recorded_minutes": 40,
"stored_recorded_minutes": 748,
"whiteboard_minutes": 4,
"active_roles": 2,
"breakout_minutes": 4,
"presentation_minutes": 0,
"public_chat_posts": 2,
"questions": 12,
"answers": 10,
"date_start": "2024-02-27",
"date_end": "2024-03-27"
}
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 session statistics.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/sessions/{session}/statistics',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/sessions/{session}/statistics"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/sessions/{session}/statistics" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"room_id": "13a5aa53-f4da-470b-bfd0-63dd9e5dd81d",
"room_external_id": "EXTID123",
"room_description": "Some public room",
"room_friendly_url": "MyPublicRoom",
"room_privacy": "public",
"room_source": "api",
"room_max_participants": 100,
"room_is_deleted": false,
"session_id": "0c843bf8-d245-450c-94fb-31e8a861bfaf",
"session_duration": 60,
"session_live": false,
"session_start_time": "2022-05-09T15:25:21Z",
"session_end_time": "2022-05-09T15:57:25Z",
"participation_minutes": 67,
"desktop_participation_minutes": 50,
"mobile_participation_minutes": 10,
"tablet_participation_minutes": 7,
"smarttv_participation_minutes": 0,
"broadcasted_minutes": 15,
"subscribed_minutes": 0,
"screen_broadcasted_minutes": 0,
"screen_subscribed_minutes": 0,
"live_participants": 0,
"active_participants": 4,
"desktop_participants": 2,
"mobile_participants": 1,
"tablet_participants": 1,
"smarttv_participants": 0,
"max_concurrent_participants": 3,
"e2ee_minutes": 0,
"recorded_minutes": 90,
"stored_recorded_minutes": 60,
"whiteboard_minutes": 0,
"breakout_minutes": 0,
"presentation_minutes": 0,
"active_roles": 2,
"public_chat_posts": 52,
"questions": 2,
"answers": 3
}
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 participant statistics.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/participants/{participant}/statistics',
[
'headers' => [
'Authorization' => 'Bearer {DEVELOPER_KEY}',
'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/participants/{participant}/statistics"
);
const headers = {
"Authorization": "Bearer {DEVELOPER_KEY}",
"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/participants/{participant}/statistics" \
--header "Authorization: Bearer {DEVELOPER_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"room_id": "9af9933c-5b43-3279-a7bb-7e7809210e9e",
"room_external_id": "308bf674-8610-35cb-a378-e2c54f2fc976",
"room_friendly_url": "UoZhS97JdgTqxj4qVgPWyD_F8eBdW5Si",
"room_privacy": "public",
"room_is_deleted": false,
"session_id": "fc355508-8064-4367-96c2-21ef571beee5",
"live": false,
"participant_name": "Madisyn Howe",
"role": "moderator",
"join_time": "2024-03-31T15:27:43Z",
"leave_time": "2024-03-31T15:36:43Z",
"device": "desktop",
"system": "Mac OS X 10",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_3 rv:6.0) Gecko/20190126 Firefox/35.0",
"e2ee": false,
"participation_minutes": 9,
"public_chat_posts": 2,
"questions": 3,
"answers": 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.