Introduction

Integrate video calls with less than 10 lines of code

Overview of Dyte APIs/ SDK

πŸ“ Key Concepts

  1. Meeting - Represents a specific video call.
  2. Participant - Represents a participant in a video call.
  3. Roles - Manages permissions for participants, like can a participant mute others, can a participant turn their video on etc.
  4. Presets - Configuration settings for pretty much everything, from how the UI looks to roles that participants have.

🚦 Basic Flow

This is the how the flow goes for a typical video call.

  1. Call the "create meeting" endpoint, with meeting title and other optional configuration. - Returns meetingId and roomName.
  2. Call the "add participant" endpoint with user details and optional settings such as role or preset. - Returns authToken for the user.
  3. Initialize the meeting on frontend using orgId ,roomName and authToken.

πŸ‘€ Roles

You can specify granular permissions allowing/restricting what a participant could do. These roles can be then used to either create preset for your meetings (mentioned below) or specified directly when adding a participant to the meeting, though only one of these 2 methods should be used while adding a participant to a meeting. Some things which roles define are:

  • Can a participant screenshare?
  • Can a participant create polls?
  • Can a participant kick someone out of the meeting?
  • Can a participant close activated plugins?

You can use our developer portal to easily create user roles or use the "create role" REST endpoint.

πŸ“˜

Default roles

We have built the "host" and "participant" roles as defaults, with typical video call permissions. For the most basic use cases, this should work and you wouldn't need to configure additional roles.

🎨 Presets

A "preset" is a combination of a participant's "role" and the "uiConfig".

You can then set a preset as default for your organization or specify a preset for a meeting or a participant.

You can use our developer portal to easily create a preset or use the "create preset" REST endpoint.


What’s Next