List
To list your existing roles you need to execute a GET request against the /roles endpoint.
Since potentially there could be a lot of roles, pagination is supported with limit, order and after arguments. Read about pagination to learn the details of it. By default maximum 100 roles will be returned in the response.
Request (listing all roles)
curl --request GET \
--url https://api.digitalsamba.com/api/v1/roles \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEYimport com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://api.digitalsamba.com/api/v1/roles"))
.header("Authorization", authorizationHeader)
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());Response (200 OK)
{
"total_count": 126,
"data": [
{
"id": "2d9448b9-d9ee-4102-b31a-f83ab4af2af8",
"name": "custom",
"display_name": "Custom",
"description": null,
"default": false,
"created_at": "2023-03-24T13:32:05Z",
"updated_at": "2023-03-27T13:46:22Z"
},
...............99 more roles...............
]
} Request (get a concrete role with all details about its permissions)
curl --request GET \
--url https://api.digitalsamba.com/api/v1/roles/2d9448b9-d9ee-4102-b31a-f83ab4af2af8 \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEYimport com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your role id here - this value is just an example
String roleId = "2d9448b9-d9ee-4102-b31a-f83ab4af2af8";
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://api.digitalsamba.com/api/v1/roles/" + roomId))
.header("Authorization", authorizationHeader)
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());Response (200 OK)
{
"id": "2d9448b9-d9ee-4102-b31a-f83ab4af2af8",
"name": "custom",
"display_name": "CustomEdited",
"description": null,
"default": false,
"created_at": "2023-03-24T13:32:05Z",
"updated_at": "2023-03-27T15:38:14Z",
"permissions": {
"ask_remote_unmute": false,
"broadcast": false,
"end_session": false,
"general_chat": true,
"manage_broadcast": false,
"manage_roles": false,
"manage_screenshare": false,
"raise_hand": true,
"recording": false,
"remote_muting": [
"speaker",
"attendee"
],
"remove_participant": false,
"screenshare": false,
"start_session": true
}
}Last updated