Digital Samba Embedded
  • Introduction
  • SDK
    • DigitalSambaEmbedded class
    • Methods
      • addCustomTile()
      • removeCustomTile()
      • addFrameEventListener()
      • addImageToWhiteboard()
      • addTileAction()
      • addUICallback()
      • allowBroadcast()
      • allowScreenshare()
      • changeBrandingOptions()
      • changeLayoutMode()
      • changeRole()
      • changeToolbarPosition()
      • closeLibraryFile()
      • closeWhiteboard()
      • createWhiteboard()
      • configureCaptions()
      • configureVirtualBackground()
      • disableAudio()
      • disableVideo()
      • disableVirtualBackground()
      • disallowBroadcast()
      • disallowScreenshare()
      • enableAudio()
      • enableVideo()
      • enableVirtualBackground()
      • endSession()
      • featureEnabled()
      • hideCaptions()
      • hideToolbar()
      • leaveSession()
      • listUsers()
      • load()
      • lowerHand()
      • muteFrame()
      • maximizeLocalTile()
      • maximizeUser()
      • minimizeLocalTile()
      • minimizeContent()
      • minimizeUser()
      • off()
      • on()
      • once()
      • openLibraryFile()
      • openWhiteboard()
      • pinUser()
      • raiseHand()
      • removeFrameEventListener()
      • removeTileAction()
      • removeUICallback()
      • removeUser()
      • requestMute()
      • requestToggleAudio()
      • requestUnmute()
      • showCaptions()
      • showToolbar()
      • startRecording()
      • startScreenshare()
      • stopRecording()
      • stopScreenshare()
      • toggleAudio()
      • toggleCaptions()
      • toggleMuteFrame()
      • toggleToolbar()
      • toggleVideo()
      • toggleWhiteboard()
      • toggleLibraryFile()
      • unmuteFrame()
      • unpinUser()
    • Events
      • activeSpeakerChanged
      • appError
      • appLanguageChanged
      • audioDisabled
      • audioEnabled
      • captionsDisabled
      • captionsEnabled
      • captionsFontSizeChanged
      • captionsSpokenLanguageChanged
      • chatMessageReceived
      • featureSetUpdated
      • frameLoaded
      • handRaised
      • handLowered
      • layoutModeChanged
      • mediaDeviceChanged
      • permissionsChanged
      • recordingFailed
      • recordingStarted
      • recordingStopped
      • roleChanged
      • roomStateUpdated
      • screenshareStarted
      • screenshareStopped
      • sessionEnded
      • speakerStoppedTalking
      • userJoined
      • userLeft
      • usersUpdated
      • videoDisabled
      • videoEnabled
      • virtualBackgroundChanged
      • virtualBackgroundDisabled
    • Properties
      • features
      • localUser
      • permissionManager
      • roomState
  • REST API
    • Rate limiting
    • Pagination
    • Default room settings
      • List
      • Edit
    • Rooms
      • Create
      • Edit
      • List
      • Delete
        • All resources
        • Concrete resource
      • Files
      • Chat
        • List
        • Export
      • Questions & Answers
        • List
        • Export
      • Transcription
        • List
        • Export
        • Start
        • Stop
    • Sessions
      • List
      • End
      • Delete resources
        • All resources
        • Concrete resource
      • Transcripts
      • Summary (AI)
    • Participants
      • List
    • Roles and permissions
      • Permissions
      • Create
      • Edit
      • List
      • Delete
    • Live usage
      • Rooms
      • Participants
    • Statistics
      • Current period
      • Team
      • Room
    • Tokens
      • Properties
      • Create
    • Recordings
      • List
      • Download
      • Start
      • Stop
      • Delete
      • Archive
      • Unarchive
    • Polls
      • Create
      • Edit
      • List
      • Delete
      • Export
      • Results
    • Content Library
      • Create
      • Edit
      • List
      • Delete
      • Folders
        • Create
        • Edit
        • List
        • Delete
      • Files
        • Upload
        • Webapps
        • Whiteboards
        • Edit
        • List
        • Delete
    • Telephony
      • Participant Join
      • Participant Leave
    • Webhooks
      • Payload structure
      • Create
      • Edit
      • List
      • Delete
    • Scribe / Postman docs
  • Dashboard docs
  • LTI docs
Powered by GitBook
On this page
  • Authentication example
  • Pagination
  • Default room settings
  • Rooms
  • Live statistics
  • Recordings
  • Webhooks

REST API

PreviousroomStateNextRate limiting

Last updated 9 months ago

The base URL of the HTTP REST API is located at

To access a concrete resource -> append it to the base URL - e.g. to access use:

You need to to the API by providing your Developer key in a standard HTTP "Authorization: Bearer {DEVELOPER_KEY}" header. Alternatively you can use HTTP Basic Authentication and provide your Team ID as username and Developer key as password.

You can find your Team ID and Developer key in the after you sign up to Digital Samba Embedded.

The API is rate limited to a maximum of 1000 requests per minute. Read more .

Authentication example

curl --request GET \
  --url https://api.digitalsamba.com/api/v1/rooms \
  --user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
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/rooms"))
  .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());

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

Pagination

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 section for more details.

Default room settings

Rooms

Room is where the video conference takes place.

Live statistics

Recordings

Webhooks

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.

Your team is created when you sign up to Digital Samba Embedded. There are default room settings which all rooms inherit by default. All of your rooms are hosted under your chosen team name -> https://teamNameHere.digitalsamba.com/my-room Read the section for more details.

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 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 .

Any video conference can be recorded by simply clicking the record button on the toolbar or calling the SDK method. An mp4 file will be produced and it will be accessible through the dashboard or the API endpoint. Read the section for details.

Read the section for more details.

Have a look also at our docs.

https://api.digitalsamba.com/api/v1
rooms
https://api.digitalsamba.com/api/v1/rooms
authenticate
dashboard
here
Pagination
Default room settings
Rooms
here
startRecording
download
Recordings
Webhooks
Scribe / Postman