Introduction
This documentation aims to provide all the information you need to work with our API.
Pagination
Base URL
https://api.digitalsamba.com
Authenticating requests
Authenticate requests to this API's endpoints by sending an Authorization
header with the value "Bearer base64(teamId:teamDeveloperKey)"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
Iframe integration
Room url has the following structure
- Public rooms - https://{team.domain}.digitalsamba.com/{room.friendly_url}
- Private rooms - https://{team.domain}.digitalsamba.com/{room.friendly_url}?token={jwtToken}
To create {jwtToken} you need to generate a JWT token with HS256 algorithm, signed with {team.developer_key} as secret and a payload described below
Payload structure
td
string
The UUID of the team.
rd
string
The UUID of the room.
ud
string optional
External user identifier.
u
string optional
User name. If not provided the user will see a screen to input his name.
role
string optional
Role id or name. If not provided the default role will be used.
avatar
string optional
The url of the user's avatar image. Will be used as image for user's tile when his video is disabled.
iat
timestamp optional
Token issued at timestamp
exp
timestamp optional
Token expiration timestamp
nbf
timestamp optional
Token not valid before timestamp
Rooms
Get all team rooms.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
'after'=> 'a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms"
);
const params = {
"limit": "20",
"order": "asc",
"after": "a853d608-e6cf-48eb-a3c9-7d089bbc09b0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms?limit=20&order=asc&after=a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "bcd3c647-a6b1-3152-99dd-e9f8e2d0c2dc",
"topic": "Error ut illum.",
"friendly_url": "0H-2vOM2rdDtxwdFxDct2zq4_itGXELb",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"layout_mode_switch_enabled": true,
"captions_mode": "end_of_speech",
"captions_language": "en-GB",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"external_id": "EXTID1994178027",
"created_at": "2023-02-27T07:45:28Z",
"updated_at": "2023-02-27T07:45:28Z"
},
{
"id": "417bcfed-d9b5-3f63-baf2-21c9ed602928",
"topic": "Consequatur eveniet.",
"friendly_url": "3mNpcwtAv1fgY9lGmXQnusYLNXLrG7NJ",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"layout_mode_switch_enabled": true,
"captions_mode": "end_of_speech",
"captions_language": "en-GB",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"external_id": "EXTID1779430307",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "739f1a04-34a1-3dac-8c50-4ca5e3fdd391",
"topic": "Laborum eveniet.",
"friendly_url": "AZdGGOb4Kx_vM1pRX7RWtQ1RZ0jOaMgO",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": false,
"recordings_enabled": false,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": false,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"captions_mode": "end_of_speech",
"captions_language": "en-GB",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"external_id": "EXTID2039272739",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Create a new room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/rooms',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'topic' => 'standup',
'friendly_url' => 'my-standup',
'privacy' => 'public',
'external_id' => 'myExtID123',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'topbar_enabled' => false,
'toolbar_enabled' => false,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'palette_mode' => 'light',
'language' => 'en',
'captions_language' => 'en',
'language_selection_enabled' => false,
'audio_on_join_enabled' => true,
'video_on_join_enabled' => false,
'pin_enabled' => true,
'full_screen_enabled' => false,
'minimize_own_tile_enabled' => false,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => false,
'chat_enabled' => true,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => false,
'captions_enabled' => true,
'captions_mode' => 'end_of_speech',
'simple_notifications_enabled' => false,
'join_screen_enabled' => false,
'screenshare_enabled' => true,
'recordings_enabled' => false,
'recording_logo_enabled' => false,
'virtual_backgrounds_enabled' => false,
'raise_hand_enabled' => true,
'max_participants' => 50,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"topic": "standup",
"friendly_url": "my-standup",
"privacy": "public",
"external_id": "myExtID123",
"default_role": "moderator",
"roles": [
"moderator"
],
"topbar_enabled": false,
"toolbar_enabled": false,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"captions_language": "en",
"language_selection_enabled": false,
"audio_on_join_enabled": true,
"video_on_join_enabled": false,
"pin_enabled": true,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": false,
"chat_enabled": true,
"e2ee_enabled": false,
"layout_mode_switch_enabled": false,
"captions_enabled": true,
"captions_mode": "end_of_speech",
"simple_notifications_enabled": false,
"join_screen_enabled": false,
"screenshare_enabled": true,
"recordings_enabled": false,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": false,
"raise_hand_enabled": true,
"max_participants": 50
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/rooms" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"topic\": \"standup\",
\"friendly_url\": \"my-standup\",
\"privacy\": \"public\",
\"external_id\": \"myExtID123\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"topbar_enabled\": false,
\"toolbar_enabled\": false,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"palette_mode\": \"light\",
\"language\": \"en\",
\"captions_language\": \"en\",
\"language_selection_enabled\": false,
\"audio_on_join_enabled\": true,
\"video_on_join_enabled\": false,
\"pin_enabled\": true,
\"full_screen_enabled\": false,
\"minimize_own_tile_enabled\": false,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": false,
\"chat_enabled\": true,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": false,
\"captions_enabled\": true,
\"captions_mode\": \"end_of_speech\",
\"simple_notifications_enabled\": false,
\"join_screen_enabled\": false,
\"screenshare_enabled\": true,
\"recordings_enabled\": false,
\"recording_logo_enabled\": false,
\"virtual_backgrounds_enabled\": false,
\"raise_hand_enabled\": true,
\"max_participants\": 50
}"
Example response (200):
{
"id": "23445a9d-96ed-3d06-92ab-b04837a1ce4a",
"topic": "Qui pariatur.",
"friendly_url": "E8MS0zOU-1nswMLiOpYY2DhcZWd02wyv",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": false,
"recordings_enabled": false,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": false,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"captions_mode": "end_of_speech",
"captions_language": "en-GB",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"external_id": "EXTID1120502520",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Update room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'topic' => 'standup',
'friendly_url' => 'my-standup',
'privacy' => 'public',
'external_id' => 'myExtID123',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'topbar_enabled' => false,
'toolbar_enabled' => true,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'palette_mode' => 'light',
'language' => 'en',
'captions_language' => 'en',
'language_selection_enabled' => true,
'audio_on_join_enabled' => true,
'video_on_join_enabled' => true,
'pin_enabled' => false,
'full_screen_enabled' => true,
'minimize_own_tile_enabled' => false,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => true,
'chat_enabled' => false,
'e2ee_enabled' => false,
'layout_mode_switch_enabled' => true,
'captions_enabled' => false,
'captions_mode' => 'end_of_speech',
'simple_notifications_enabled' => true,
'join_screen_enabled' => true,
'screenshare_enabled' => true,
'recordings_enabled' => false,
'recording_logo_enabled' => true,
'virtual_backgrounds_enabled' => true,
'raise_hand_enabled' => true,
'max_participants' => 50,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"topic": "standup",
"friendly_url": "my-standup",
"privacy": "public",
"external_id": "myExtID123",
"default_role": "moderator",
"roles": [
"moderator"
],
"topbar_enabled": false,
"toolbar_enabled": true,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"captions_language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"pin_enabled": false,
"full_screen_enabled": true,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": true,
"chat_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"captions_mode": "end_of_speech",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"screenshare_enabled": true,
"recordings_enabled": false,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"max_participants": 50
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"topic\": \"standup\",
\"friendly_url\": \"my-standup\",
\"privacy\": \"public\",
\"external_id\": \"myExtID123\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"topbar_enabled\": false,
\"toolbar_enabled\": true,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"palette_mode\": \"light\",
\"language\": \"en\",
\"captions_language\": \"en\",
\"language_selection_enabled\": true,
\"audio_on_join_enabled\": true,
\"video_on_join_enabled\": true,
\"pin_enabled\": false,
\"full_screen_enabled\": true,
\"minimize_own_tile_enabled\": false,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": true,
\"chat_enabled\": false,
\"e2ee_enabled\": false,
\"layout_mode_switch_enabled\": true,
\"captions_enabled\": false,
\"captions_mode\": \"end_of_speech\",
\"simple_notifications_enabled\": true,
\"join_screen_enabled\": true,
\"screenshare_enabled\": true,
\"recordings_enabled\": false,
\"recording_logo_enabled\": true,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": true,
\"max_participants\": 50
}"
Example response (200):
{
"id": "1f51f5f7-3a18-37eb-978c-6fd352bc45f2",
"topic": "Aliquid soluta ea.",
"friendly_url": "cm4dyZsFD64QNeTmjg1m_VIGxLmiXoou",
"privacy": "public",
"max_participants": 100,
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": false,
"recordings_enabled": false,
"recording_logo_enabled": false,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"chat_enabled": false,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"captions_mode": "end_of_speech",
"captions_language": "en-GB",
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"external_id": "EXTID1225407705",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Delete room.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
curl --request DELETE \
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
[Empty response]
Received response:
Request failed with error:
Live
Get rooms with live participants count.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/live',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
'after'=> 'a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/live"
);
const params = {
"limit": "20",
"order": "asc",
"after": "a853d608-e6cf-48eb-a3c9-7d089bbc09b0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/live?limit=20&order=asc&after=a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"total_count": 3,
"data": [
{
"id": "ecd0fa17-b1c6-3f35-99c3-ce6cd81afca8",
"external_id": "EXTID824955915",
"start_time": "2022-05-13T12:31:19.000000Z",
"session_duration": 11408,
"live_participants": 27
},
{
"id": "554265e0-9fd7-3408-ace4-249e00b024f1",
"external_id": "EXTID1504059250",
"start_time": "2022-05-13T10:22:42.000000Z",
"session_duration": 2726,
"live_participants": 3
},
{
"id": "abb8cc46-6b87-3aae-80b0-82e8943ed0d4",
"external_id": "EXTID69285216",
"start_time": "2022-05-13T11:13:29.000000Z",
"session_duration": 1183,
"live_participants": 55
}
]
}
Received response:
Request failed with error:
Get rooms with live participants data.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/live/participants',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
'after'=> 'a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/live/participants"
);
const params = {
"limit": "20",
"order": "asc",
"after": "a853d608-e6cf-48eb-a3c9-7d089bbc09b0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/live/participants?limit=20&order=asc&after=a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"total_count": 5,
"data": [
{
"id": "b31155d3-19ad-3d4d-bde6-c5ec9172d9b7",
"external_id": "EXTID1251839424",
"start_time": "2022-05-16T12:51:54.000000Z",
"session_duration": 2580,
"live_participants": [
{
"id": "4354aa20-9906-45ed-9b02-799525e1dbc3",
"external_id": "EXTID1916626560",
"name": "Gwendolyn Hayes",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "898964d2-9951-4734-8eea-77fa72fd137d",
"external_id": "EXTID657371078",
"name": "Mrs. Mya Schroeder PhD",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "73c8f78f-0b80-4a76-8fa3-1d11705a5fa3",
"external_id": "EXTID229839886",
"name": "Gregg Runte",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "2fdc809a-e981-46a2-bc67-84c15ca7efd5",
"external_id": "EXTID1261882350",
"name": "Angelina Treutel I",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "19650289-6171-4c45-a7a2-0e66fb5c29a0",
"external_id": "EXTID2009248764",
"name": "Verdie Jacobs",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
}
]
},
{
"id": "b623bc65-4cd8-316e-905b-213af2ed362d",
"external_id": "EXTID2082633660",
"start_time": "2022-05-16T12:51:54.000000Z",
"session_duration": 2580,
"live_participants": [
{
"id": "59852f2b-b25a-43c6-927c-7a3c2634deef",
"external_id": "EXTID1005303666",
"name": "Stacey McLaughlin",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "3765c44f-b629-4bb3-8304-805c71b01fe5",
"external_id": "EXTID310825640",
"name": "Stewart Roob",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "c596f874-bf88-4865-a77b-44f9e3285f5b",
"external_id": "EXTID1492362491",
"name": "Miss Samantha Mayert",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "4930aee0-f4ab-4203-9054-b3932e94b015",
"external_id": "EXTID462108878",
"name": "Earl Buckridge",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "3f6dca1f-92b0-4147-81ee-754754cb00d1",
"external_id": "EXTID1790509806",
"name": "Colin Dickens",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
}
]
},
{
"id": "2473e7b1-406c-3e05-93cb-57c6a6ba6e60",
"external_id": "EXTID209019793",
"start_time": "2022-05-16T12:51:54.000000Z",
"session_duration": 2580,
"live_participants": [
{
"id": "c6a73ece-77b3-47f6-b614-7b949cddd2fe",
"external_id": "EXTID617498776",
"name": "Prof. Forrest Ritchie V",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "e4d23870-ed35-4901-9cfd-47bddb6a035a",
"external_id": "EXTID1665145569",
"name": "Shany Torphy",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "e9c6a70d-6528-404e-88ea-4994578b56e1",
"external_id": "EXTID401347102",
"name": "Lera Zboncak DVM",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "0ef1fd7f-acda-4b0a-94f5-ee411d16cd86",
"external_id": "EXTID597760933",
"name": "Leon Daugherty I",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "c76a28e9-b0d4-4d08-aa24-c869289ccc39",
"external_id": "EXTID2020171092",
"name": "Oswald Hickle",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
}
]
},
{
"id": "6328914f-19a0-397a-99dc-4cd49570cffc",
"external_id": "EXTID1928952811",
"start_time": "2022-05-16T12:51:34.000000Z",
"session_duration": 2600,
"live_participants": [
{
"id": "03a82571-3327-439d-ba57-8515302f0ee6",
"external_id": "EXTID2098450034",
"name": "Mrs. Icie Funk",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "22fde4ce-6fea-4c1b-85e9-14ae60c7b452",
"external_id": "EXTID2077221187",
"name": "Sonia Kulas",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "5ea800db-8c88-4f99-a6d2-a292016bfa9b",
"external_id": "EXTID1543982160",
"name": "Lisette Gerhold",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "a360431a-1e2e-45c2-8b74-67ce84585532",
"external_id": "EXTID222171890",
"name": "Vita Mann",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "bafa6f48-1992-45aa-bd72-6d10b08bb576",
"external_id": "EXTID1015346028",
"name": "Darien Powlowski",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
}
]
},
{
"id": "f9716453-8e9f-39a4-b2f2-c1d00228411e",
"external_id": "EXTID632729761",
"start_time": "2022-05-16T12:51:00.000000Z",
"session_duration": 2634,
"live_participants": [
{
"id": "aed005c5-69db-40f7-9785-395c545fed64",
"external_id": "EXTID2128980420",
"name": "Devante Stamm DVM",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "b8f2422e-a524-4ced-8cb2-9219bcdd5ec7",
"external_id": "EXTID1153236013",
"name": "Magnolia D'Amore",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "e58b84d4-b370-4389-9710-8935ac9d71ef",
"external_id": "EXTID1466108903",
"name": "Dr. Chauncey Franecki",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "3a7c8ad3-8082-4d2e-86f9-ffbddaff6a7b",
"external_id": "EXTID778875197",
"name": "Deborah Vandervort III",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
},
{
"id": "35a65ef1-06f1-4ee1-a8cf-6e032fac227a",
"external_id": "EXTID206934569",
"name": "Callie DuBuque",
"role": "participant",
"join_time": "2022-05-16T12:51:54.000000Z"
}
]
}
]
}
Received response:
Request failed with error:
Get single room with live participants count.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "c2d64b46-cc89-3830-890b-f81ccb2f882c",
"external_id": "EXTID1688929106",
"start_time": "2022-05-16T12:12:54.000000Z",
"session_duration": 1408,
"live_participants": 17
}
Received response:
Request failed with error:
Get single room with live participants' data.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/rooms/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/live/participants" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "4e68be68-f505-3827-81f7-72fa76f42de9",
"external_id": "EXTID852602699",
"start_time": "2022-05-16T12:48:18.000000Z",
"session_duration": 1408,
"live_participants": [
{
"id": "928f1a06-921b-446f-9d23-b78e96523563",
"external_id": "EXTID2113427821",
"name": "Unique Reynolds",
"role": "participant",
"join_time": "2022-05-16T12:48:18.000000Z"
},
{
"id": "d9f72e6f-61e7-4722-919f-d850f315d49c",
"external_id": "EXTID524240932",
"name": "Susie Luettgen",
"role": "participant",
"join_time": "2022-05-16T12:50:22.000000Z"
},
{
"id": "598f9761-4fa3-4b47-bde7-0cc05228ff36",
"external_id": "EXTID766750985",
"name": "Prof. Juliet Kunde I",
"role": "participant",
"join_time": "2022-05-16T12:19:31.000000Z"
}
]
}
Received response:
Request failed with error:
Recordings
Get all team recordings.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
'after'=> 'a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings"
);
const params = {
"limit": "20",
"order": "asc",
"after": "a853d608-e6cf-48eb-a3c9-7d089bbc09b0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings?limit=20&order=asc&after=a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "41413be7-420d-3967-badd-1de7ea835d8e",
"name": "Et nobis quibusdam.",
"room_id": "4b056420-7721-39e3-a418-20bc3d601505",
"friendly_url": "pRzcrSNZRNKj7yfy4WOboskGP5_Lpy2c",
"privacy": "public",
"participant_id": "1764ddb8-c968-4f14-9d18-17bc44207700",
"participant_name": "Mr. Conner Lehner",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
},
{
"id": "a8f4aee4-f2cc-3993-a61e-9a161ea54757",
"name": "Dolores similique.",
"room_id": "e021e642-540f-3001-a484-85a67a72b421",
"friendly_url": "Nkq_ouzu38d4_RDC-DyXqCJ7d23y2THJ",
"privacy": "public",
"participant_id": "bcc5ed84-5dd3-4be3-9b08-c5d805b7d192",
"participant_name": "Deion Schneider",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "ba36546f-8185-37e5-8798-cdcdefbb96ac",
"name": "Laborum pariatur.",
"duration": 0,
"status": null,
"room_id": "a693f2ae-7ab9-37be-8150-d5204e00ddf7",
"friendly_url": "04eEeXUxHJvMNdcFDU3U9Pyw-imebyvG",
"room_is_deleted": false,
"privacy": "public",
"session_id": null,
"participant_id": "57a6a1e5-4342-423f-a6f8-4bc1a78e6e31",
"participant_name": "Prof. Clinton Hessel IV",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Download the specified recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0/download" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"link": "https://storage.server.net/8c59a25f-7ffa-43cb-a5b8-5814b3923906.mp4?h=rtiHKNPuXilF6NOWpiXbCw&expires=1668238783",
"valid_until": "2022-11-12T07:39:43Z"
}
Received response:
Request failed with error:
Delete recording.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
curl --request DELETE \
"https://api.digitalsamba.com/api/v1/recordings/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
[Empty response]
Received response:
Request failed with error:
Webhooks
Get webhooks for the team.
requires authentication
Paginated
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/webhooks',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit'=> '20',
'order'=> 'asc',
'after'=> 'a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks"
);
const params = {
"limit": "20",
"order": "asc",
"after": "a853d608-e6cf-48eb-a3c9-7d089bbc09b0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/webhooks?limit=20&order=asc&after=a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "0ed19365-67ce-49e1-9e96-61011ab58f3d",
"endpoint": "http://www.stoltenberg.com/placeat-consequatur-laboriosam-eligendi-quia-quia-saepe",
"authorization_header": "9d3e872669e493b49983e0c2d04b38ef",
"name": "My webhook 7",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
},
{
"id": "1df9f50a-18f3-4fc2-929c-67ac18fd84b3",
"endpoint": "http://www.jakubowski.com/",
"authorization_header": "cf09ea698ac91ef636d17832dbb1f6c7",
"name": "My webhook 6",
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "084fe5f2-4835-470b-9625-c34a66d5cdbf",
"endpoint": "http://funk.com/voluptas-suscipit-ut-reiciendis-ut",
"authorization_header": "c39178c4dc7ceeae06c49a041acfbaee",
"name": "My webhook 1",
"events": [
"participant_sit"
],
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Create a new webhook.
requires authentication
This endpoint allows you to create a new webhook
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/webhooks',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'endpoint' => 'https://example.com/webhook-for-join',
'name' => 'Join Webhook',
'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
'events' => [
'participant_joined',
'participant_left',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"endpoint": "https:\/\/example.com\/webhook-for-join",
"name": "Join Webhook",
"authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
"events": [
"participant_joined",
"participant_left"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/webhooks" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
\"name\": \"Join Webhook\",
\"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
\"events\": [
\"participant_joined\",
\"participant_left\"
]
}"
Example response (200):
{
"id": "0d849ccc-9c56-4b92-865d-164aeffc7138",
"endpoint": "http://www.zulauf.biz/ipsa-cum-aut-dolore-autem",
"authorization_header": "583bd0d46ef31b2915090d13b6274a1f",
"name": "My webhook 6",
"events": [
"participant_accusantium"
],
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Update the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'endpoint' => 'https://example.com/webhook-for-join',
'name' => 'Join Webhook',
'authorization_header' => '2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F',
'events' => [
'participant_joined',
'participant_left',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"endpoint": "https:\/\/example.com\/webhook-for-join",
"name": "Join Webhook",
"authorization_header": "2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F",
"events": [
"participant_joined",
"participant_left"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"endpoint\": \"https:\\/\\/example.com\\/webhook-for-join\",
\"name\": \"Join Webhook\",
\"authorization_header\": \"2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F\",
\"events\": [
\"participant_joined\",
\"participant_left\"
]
}"
Example response (200):
{
"id": "614ea31c-1cb7-4dfb-8734-d123ea9a37e6",
"endpoint": "https://murphy.com/alias-est-voluptatum-quidem-quo.html",
"authorization_header": "504b810d24fc9f0428aa9a55b1172281",
"name": "My webhook 0",
"events": [
"participant_nihil"
],
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
Received response:
Request failed with error:
Delete the specified webhook.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
curl --request DELETE \
"https://api.digitalsamba.com/api/v1/webhooks/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
[Empty response]
Received response:
Request failed with error:
Events
Get available events used for triggering webhooks
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/events',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/events"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/events" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
[
"participant_cum",
"participant_aliquam"
]
Received response:
Request failed with error:
Team Settings
Get team settings.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "d6c715bb-68e3-4bce-a0c6-0e69a04b9720",
"owner_id": null,
"domain": "afadb09fbca43c7df31f931c7fc9d9b2",
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"captions_language": "en-GB",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": false,
"chat_enabled": false,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"default_role": {
"id": "33e25d07-a20c-4da8-a7b6-82b559349735",
"name": "moderator",
"display_name": "Moderators"
},
"used_participation_minutes": null,
"subscription_start": "2023-02-27 07:45:28",
"subscription_end": "2023-03-27 07:45:28"
}
Received response:
Request failed with error:
Update team settings.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain' => 'occaecati',
'default_role' => 'moderator',
'roles' => [
'moderator',
],
'topbar_enabled' => true,
'toolbar_enabled' => true,
'toolbar_position' => 'right',
'toolbar_color' => '#FF0000',
'primary_color' => '#008000',
'background_color' => '#000000',
'language' => 'en',
'captions_language' => 'en',
'join_screen_enabled' => false,
'language_selection_enabled' => false,
'audio_on_join_enabled' => true,
'video_on_join_enabled' => false,
'pin_enabled' => true,
'chat_enabled' => false,
'full_screen_enabled' => true,
'minimize_own_tile_enabled' => true,
'minimize_own_tile_on_join_enabled' => true,
'end_session_enabled' => true,
'e2ee_enabled' => true,
'layout_mode_switch_enabled' => true,
'captions_enabled' => true,
'simple_notifications_enabled' => false,
'screenshare_enabled' => false,
'recordings_enabled' => false,
'recording_logo_enabled' => true,
'virtual_backgrounds_enabled' => true,
'raise_hand_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 base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "occaecati",
"default_role": "moderator",
"roles": [
"moderator"
],
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "right",
"toolbar_color": "#FF0000",
"primary_color": "#008000",
"background_color": "#000000",
"language": "en",
"captions_language": "en",
"join_screen_enabled": false,
"language_selection_enabled": false,
"audio_on_join_enabled": true,
"video_on_join_enabled": false,
"pin_enabled": true,
"chat_enabled": false,
"full_screen_enabled": true,
"minimize_own_tile_enabled": true,
"minimize_own_tile_on_join_enabled": true,
"end_session_enabled": true,
"e2ee_enabled": true,
"layout_mode_switch_enabled": true,
"captions_enabled": true,
"simple_notifications_enabled": false,
"screenshare_enabled": false,
"recordings_enabled": false,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_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 base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"occaecati\",
\"default_role\": \"moderator\",
\"roles\": [
\"moderator\"
],
\"topbar_enabled\": true,
\"toolbar_enabled\": true,
\"toolbar_position\": \"right\",
\"toolbar_color\": \"#FF0000\",
\"primary_color\": \"#008000\",
\"background_color\": \"#000000\",
\"language\": \"en\",
\"captions_language\": \"en\",
\"join_screen_enabled\": false,
\"language_selection_enabled\": false,
\"audio_on_join_enabled\": true,
\"video_on_join_enabled\": false,
\"pin_enabled\": true,
\"chat_enabled\": false,
\"full_screen_enabled\": true,
\"minimize_own_tile_enabled\": true,
\"minimize_own_tile_on_join_enabled\": true,
\"end_session_enabled\": true,
\"e2ee_enabled\": true,
\"layout_mode_switch_enabled\": true,
\"captions_enabled\": true,
\"simple_notifications_enabled\": false,
\"screenshare_enabled\": false,
\"recordings_enabled\": false,
\"recording_logo_enabled\": true,
\"virtual_backgrounds_enabled\": true,
\"raise_hand_enabled\": false
}"
Example response (200):
{
"id": "f6a082ef-1319-4114-99db-068f57e637a4",
"owner_id": null,
"domain": "9d21a933b9a26cf67e3cf8c803738ceb",
"topbar_enabled": true,
"toolbar_enabled": true,
"toolbar_position": "bottom",
"toolbar_color": "#000000",
"primary_color": "#3771E0",
"background_color": "#000000",
"palette_mode": "light",
"language": "en",
"captions_language": "en-GB",
"language_selection_enabled": true,
"audio_on_join_enabled": true,
"video_on_join_enabled": true,
"screenshare_enabled": true,
"participants_list_enabled": false,
"chat_enabled": false,
"pin_enabled": false,
"full_screen_enabled": false,
"minimize_own_tile_enabled": false,
"minimize_own_tile_on_join_enabled": false,
"end_session_enabled": false,
"e2ee_enabled": false,
"layout_mode_switch_enabled": true,
"captions_enabled": false,
"simple_notifications_enabled": true,
"join_screen_enabled": true,
"logo_enabled": true,
"recordings_enabled": true,
"recording_logo_enabled": true,
"virtual_backgrounds_enabled": true,
"raise_hand_enabled": true,
"default_role": {
"id": "5928ccf5-a9e4-44fb-8de6-d5998f5f6816",
"name": "moderator",
"display_name": "Moderators"
},
"used_participation_minutes": null,
"subscription_start": "2023-02-27 07:45:28",
"subscription_end": "2023-03-27 07:45:28"
}
Received response:
Request failed with error:
Roles
Get available roles for the team.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/roles',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/roles" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"data": [
{
"id": "8f867600-f3a1-4b86-a18c-1972b881f10f",
"name": "role_1085850101",
"display_name": "Sunt.",
"description": null,
"default": false,
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
},
{
"id": "547eb3dc-f076-4c28-920d-070d5e2c0db3",
"name": "role_1883617112",
"display_name": "Iste sunt.",
"description": null,
"default": false,
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z"
}
],
"total_count": "2"
}
Received response:
Request failed with error:
Get the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
{
"id": "e80745b4-ced8-4d43-bfa8-6fecbc89ac7f",
"name": "role_1710066789",
"display_name": "Delectus.",
"description": null,
"default": false,
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z",
"permissions": {
"allow_amet": true,
"ask_remote_unmute": false,
"broadcast": false,
"broadcast_video": false,
"end_session": false,
"general_chat": false,
"manage_broadcast": false,
"manage_lower_hand": false,
"manage_roles": false,
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"remove_participant": false,
"screenshare": false,
"start_session": false
}
}
Received response:
Request failed with error:
Create a new role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.digitalsamba.com/api/v1/roles',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'participant',
'display_name' => 'Basic Participant',
'description' => 'Participant with basic permissions',
'permissions' => [
'allow_public_chat',
'allow_invite_user',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "participant",
"display_name": "Basic Participant",
"description": "Participant with basic permissions",
"permissions": [
"allow_public_chat",
"allow_invite_user"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
"https://api.digitalsamba.com/api/v1/roles" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": [
\"allow_public_chat\",
\"allow_invite_user\"
]
}"
Example response (200):
{
"id": "9856022d-ed7e-49ce-a6fa-a53188b952d1",
"name": "role_815649184",
"display_name": "Enim ab.",
"description": null,
"default": false,
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z",
"permissions": {
"allow_maiores": true,
"ask_remote_unmute": false,
"broadcast": false,
"broadcast_video": false,
"end_session": false,
"general_chat": false,
"manage_broadcast": false,
"manage_lower_hand": false,
"manage_roles": false,
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"remove_participant": false,
"screenshare": false,
"start_session": false
}
}
Received response:
Request failed with error:
Update the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->patch(
'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'participant',
'display_name' => 'Basic Participant',
'description' => 'Participant with basic permissions',
'permissions' => [
'allow_public_chat',
'allow_invite_user',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "participant",
"display_name": "Basic Participant",
"description": "Participant with basic permissions",
"permissions": [
"allow_public_chat",
"allow_invite_user"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
curl --request PATCH \
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"participant\",
\"display_name\": \"Basic Participant\",
\"description\": \"Participant with basic permissions\",
\"permissions\": [
\"allow_public_chat\",
\"allow_invite_user\"
]
}"
Example response (200):
{
"id": "b5cdf23e-164d-49d4-82d8-8e868d3d556b",
"name": "role_490524911",
"display_name": "In.",
"description": null,
"default": false,
"created_at": "2023-02-27T07:45:29Z",
"updated_at": "2023-02-27T07:45:29Z",
"permissions": {
"allow_delectus": true,
"ask_remote_unmute": false,
"broadcast": false,
"broadcast_video": false,
"end_session": false,
"general_chat": false,
"manage_broadcast": false,
"manage_lower_hand": false,
"manage_roles": false,
"manage_screenshare": false,
"raise_hand": false,
"recording": false,
"remote_muting": false,
"remove_participant": false,
"screenshare": false,
"start_session": false
}
}
Received response:
Request failed with error:
Delete the specified role.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
curl --request DELETE \
"https://api.digitalsamba.com/api/v1/roles/a853d608-e6cf-48eb-a3c9-7d089bbc09b0" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (204):
[Empty response]
Received response:
Request failed with error:
Permissions
Get available permissions for roles
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.digitalsamba.com/api/v1/permissions',
[
'headers' => [
'Authorization' => 'Bearer base64(teamId:teamDeveloperKey)',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://api.digitalsamba.com/api/v1/permissions"
);
const headers = {
"Authorization": "Bearer base64(teamId:teamDeveloperKey)",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
curl --request GET \
--get "https://api.digitalsamba.com/api/v1/permissions" \
--header "Authorization: Bearer base64(teamId:teamDeveloperKey)" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
[
"allow_deleniti",
"allow_aut"
]
Received response:
Request failed with error: