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.
Request
cURL Java
Copy curl --request POST \
--url https://api.digitalsamba.com/api/v1/rooms/c39d7c40-7ff7-4faa-b06f-698a639a9523/recordings/start \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
Copy 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 room id here - this value is just an example
String roomId = "c39d7c40-7ff7-4faa-b06f-698a639a9523" ;
HttpRequest request = HttpRequest . newBuilder ()
. POST ( BodyPublishers . noBody ())
. uri ( new URI( "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.