Search⌘ K
AI Features

Requirements of the Zoom API

Learn the key functional and non-functional requirements for designing the Zoom API, including meeting management, participant control, real-time streaming, recording, security, and scalability. Understand the architecture and design considerations to build a reliable and low-latency video conferencing API.

Introduction to Zoom API

Video conferencing applications such as Zoom, Skype, and Google Meet connect millions of people worldwide, enabling them to sync up and collaborate while working remotely for better performance, trust, and engagement. Zoom provides its users with various operations, which can be performed through a different set of API endpoints. For example, face-to-face meetings, screen sharing, recording meetings, and so on. However, the design of such an API requires a deep understanding of networks and backend systems. 

In this chapter, we will explore how Zoom meetings are scheduled, and resources are assigned to facilitate a streaming session across the globe. We will also cover the overall architecture and interactions between different components to design and build an efficient video conferencing API like Zoom.

Requirements

Since Zoom offers many features to its customers, we have selected only the important ones to narrow down the scope and complexity of our design problem.

Functional requirements

We will focus on the following features in designing our API.

  • Managing meetings: Our API should allow hosts (the organizer of the meeting) to initiate, schedule, update, and delete one-on-one or group meetings.

  • Managing participants: Our API should allow hosts to add, remove, and restrict participants.

  • Streaming data: Our API should allow participants to share screens and audio/video streams.

  • Recording meetings: Our API should allow hosts to record meetings locally or hosted on the cloud.

Functional and non-functional requirements of the Zoom API
Functional and non-functional requirements of the Zoom API

Non-functional requirements

  • Availability and reliability: The availability of our API is critical for end-users. At the same time, even if some participants are temporarily unable to join, the system should function reliably.

  • Security: The service should provide end-to-end encrypted communication, and should be able to handle spam attendees.

  • Scalability: The service should be scalable to handle increasing users and their requests.

  • Latency: Since it's a real-time conferencing application, the API should deliver content with the lowest possible latency.

1.

What if the host gets disconnected during the meeting?

Show Answer
Did you find this helpful?

Prerequisites

We have discussed some of the functionalities in the previous chapters. We will use them as building blocks for our Zoom service. Before proceeding, we strongly recommend studying the following chapter:

  • Pub-sub service: This service notifies participants of events, such as when recording is in progress, the time limit is reached, a guest user requests to join a meeting, and so on.

How will we design the Zoom API?

This chapter is composed of the following lessons:

In the next lesson, let's go over the essential concepts involved in live video conferencing.