To access a concrete resource -> append it to the base URL - e.g. to access rooms use: https://api.digitalsamba.com/api/v1/rooms
You need to authenticate to the API by providing your Team ID and Developer key in a standard HTTP "Authorization" header. You can find your Team ID and Developer key in the dashboard after you sign up to Digital Samba Embedded.
curl --request GET \
--url https://api.digitalsamba.com/api/v1/rooms \
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()
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());
This REST API uses the following common conventions:
- 1.For listing (retrieval) -> use the GET verb
- 2.For creation -> use the POST verb
- 3.For editing -> use the PATCH verb
- 4.For deletion -> use the DELETE verb
Most of the retrieval endpoints (GET verb) support pagination. The reason for that is you could have created tens of thousands of rooms or recordings and it is not practical to list all of them in a single request/response. It would put a significant strain on the bandwidth. Please read the Pagination section for more details.
Your team is created when you sign up to Digital Samba Embedded. A team has a domain name and various settings which rooms inherit by default. All of your rooms are hosted under your chosen team name -> https://teamNameHere.digitalsamba.com/my-room Read the Team section for more details.
Room is where the video conference takes place.
Before embedding a room in your application, you must first create/configure the room. You need to set the URL of the room, what roles are available inside the room, the available features to the users, etc... Read the Rooms section for more details.
You can find out which rooms are currently live (have participants inside). You can also query for the live participants in a concrete room. Read more here.
Any video conference can be recorded by simply clicking the record button on the toolbar or calling the startRecording SDK method. An mp4 file will be produced and it will be accessible through the dashboard or the download API endpoint. Read the Recordings section for details.
Webhooks are a way to integrate your existing backend with different room events.
For example if a user joins or leaves the session, you may want your backend to be informed of these events with a callback HTTP request.