List
Last updated
Last updated
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 to learn the details of it. By default maximum 100 roles will be returned in the response.
If you want to retrieve the details of one concrete role execute a GET request against the /roles/:idOrName endpoint
curl --request GET \
--url https://api.digitalsamba.com/api/v1/roles \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
import 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());
{
"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...............
]
}
The total_count is the total amount of roles you have globally. It is NOT the amount of roles in the current page returned in the data array. In the above example you have 126 roles in total, but in the data array there will be maximum 100 roles (the default limit argument value).
curl --request GET \
--url https://api.digitalsamba.com/api/v1/roles/2d9448b9-d9ee-4102-b31a-f83ab4af2af8 \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
import 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());
{
"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
}
}