Apart from starting recording manually from inside the room UI, you as a integrator can start it programmatically through the API by calling the POST /rooms/:id/recordings/start endpoint.
The id uniquely identifies the room you want to start recording inside.
importcom.fasterxml.jackson.databind.ObjectMapper;importjava.net.URI;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;importjava.net.http.HttpResponse;importjava.net.http.HttpResponse.BodyHandlers;importjava.util.Base64;importjava.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 room id here - this value is just an exampleString roomId ="c39d7c40-7ff7-4faa-b06f-698a639a9523";HttpRequest request =HttpRequest.newBuilder().POST(BodyPublishers.noBody()).uri(newURI("https://api.digitalsamba.com/api/v1/rooms/"+ roomId +"/recordings/start")).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)
Response is empty because the recording was started and there is no content to return.