Start a meeting via any API

This issue could be related to any of the three APIs: SDK, JWT, OAUTH, but since I am trying to accomplish the UI using the Web SDK, focusing there.

Right now in my OAuth App I have successfully integrated all the needed OAuth logic and am calling “Create a Meeting (/users/{userId}/meetings)” successfully. The result returns two URLs, one for the meeting organizer, and one for regular users. I don’t use these, however, because they take the user out of our application. However, they WORK. The organizer can start the meeting, the users can join the meeting.

I take the meetingNumber and a variety of other data points and feed them into the Web SDK ZoomMtg.join, doing all the appropriate signature and init stuff. However, joining the meeting for anyone results in a “This meeting has not started yet.” If I start the meeting outside, users can join, but the creator of the meeting joins as a regular user and not a host.

So my questions!

  1. How do you use the WebSDK to join a meeting as the host?
  2. Is there an API call in any of the Apps that can Start a meeting?
  3. Or the mysterious third question, is there some other method to accomplish what I am trying to do: Host joins the meeting to start, attendees join as regular, all in the integrated Web SDK UI.


Which version?

To Reproduce(If applicable)


Smartphone (please complete the following information):

Additional context

I have also tested the “join_before_host” option during meeting create, and the web SDK does not allow the user to join if the meeting is not started.

The meeting type is 1, which may affect the “join_before_host” option being functional.

Also tried type = 3, “join_before_host” does not function in WebSDK.

It appears the WebSDK method ZoomMtg.generateSignature has an option field for “role”. How is this value generated when using JWT serverside to create the signature? Referencing this document: The Payload portion of the JWT only accepts two fields, or at least only two fields are documented. I do not want to use the WebSDK for generating the signature, since it requires exposing the Client Secret.

Using the less-secure ZoomMtg.generateSignature “role” of 1 does allow the host to properly start the meeting. But again, need to be able to do this with a more secure JWT =P

To start the WebSDK as a host you have to make sure to set the role:1 when you’re generating a signature.

Right now no platforms support starting meetings via API, this has to be a manual process by a user.

Generating a signature using JWT credentials is outside the scope of the JWT Auth docs, to do so you can visit a Generate Signature doc -

Let us know if you have any other questions.


Thank you Michael! This is strikingly similar to the JWT auth logic.

Curiously, the documentation you provided here:

Has better samples than here:

Hey @kmwill23,

We will work on making better samples for generating JWT Tokens.

However, JWT Tokens are different than the Web SDK Signature generated via JWT API Credentials.


1 Like

is there (yet) anyway to start a meeting using API or websdk? can’t seem to find a working example

Hey @ramy.dridi,

Yes, checkout this doc which shows you how to start a meeting with the Web SDK:



We are creating meeting from host own Zoom account, NOT from our developer account?

So in our web sdk, when host user see “Start Meeting” button. How can I let host login to their zoom account and start the meeting as host from web sdk?


Hey @hemant,

To designate a host will be starting the meeting, you will reference this in the signature you generate here:

When you pass role: 1 into your signature, you’re letting the SDK know that you’re a host starting a meeting.


Hello @will.zoom, I think you misunderstood my question.

We want host to use their own zoom account to start meeting from web sdk as host. We are creating meeting on host own zoom account, not on our developer zoom account.

When we try to generate signature, we get an error “Signature is invalid”.

I have seen this in zoom documentation:

"To host a meeting through the Web SDK, the meeting ID will need to be on the same account as your API Key. In other words, your Web SDK app will be able to host meetings for users on your account. If your Web SDK app attempts to join a participant as host, but the user cannot be validated, they will join as a participant. If your meetings have “Join before host” disabled, users would enter the meeting’s Waiting Room until the host joins. "

It clearly mention that to host the meeting, the meeting ID should be on the same account as our API Key.

How can I let host use his/her zoom account instead of our developer account?

@will.zoom Can you please respond?

Hi @hemant,

In order to host/start a meeting via the Web SDK, the host user must also be under the account that your JWT credentials are associated with. At the moment, it’s not possible to start a meeting via the Web SDK as someone who is from a different account than that of the JWT credentials you’re using to generate your signature.

If you need someone from a different account to start the meeting, you will need to have the host of the meeting start the meeting via the start_url and Zoom App first, and then have the other participants join via the Web SDK.

Let me know if this helps to clarify,

Hi @will.zoom What is the reason of not allowing from web sdk? We have seen that it is allowed from iOS or Android SDK for host to start meeting from host own account.
When iOS and Android SDKs have this capability then what is the cause of not including this feature for web SDK?

Hello @will.zoom Do you think it is going to change for the web sdk in near future? Will web sdk be allowed to host meetings from their own account like we are able to do in iOS and Android SDK? Do you know any tentative date when this feature can be included in the web sdk?

Hey @hemant,

We are planning to make the Web SDK meeting authentication work with an OAuth app. You can follow this thread here for additional information and updates: