Release of Zoom API Version 2 and Zoom Rooms API


On November 4th 2017 Zoom API Version 2 and Zoom Room APIs went live.

By default, Version 2 documentation will be presented, with links to Version 1. For reference here are the links for V1 and V2 Documentation and Playground:

Version 2:
Version 1:

Version 2:
Version 1:


Also now available is documentation on the Zoom Rooms API

Zoom Rooms API


Hi Joshua, 

    The authentication is not working for me for v2. I am using JWT for authentication. I am getting unauthorized error.

Please see attached screen shot.



Bearer <access_token>


Bearer access_token = <access_token>


Hi Joshua,

    Thanks, If I use token generated on zoom api playground then it works fine. But now problem is that the token I am generating doesn’t get validated, reason may be token generated is wrong. I am using library System.IdentityModel.Tokens.Jwt for C# .Net which referred from

Following is my piece of code of generating JWT -:

var encryptionKey = Convert.FromBase64String(apiSecret);
var securityTokenDescriptor = new SecurityTokenDescriptor
     Issuer = apiKey,
     Expires = DateTime.UtcNow.AddMinutes(Convert.ToInt32(20)),
     SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(encryptionKey),                              SecurityAlgorithms.HmacSha256Signature)
var tokenHandler = new JwtSecurityTokenHandler();
var securityToken = tokenHandler.CreateToken(securityTokenDescriptor);
var jsonWebToken = tokenHandler.WriteToken(securityToken);

Am I doing something wrong?



Hi, I solved the question I asked above by changing encryption key. Don’t use Convert.FromBase64String for getting bytes.

var encryptionKey = Encoding.UTF8.GetBytes(apiSecret);



Hi Joshua,

   For authentication process v2, user needs to provide JWT from his developer account or we need to compute it manually. Now I know how compute JWT but where can I locate JWT in zoom developer account? From Zoom api playground?

Thanks in advance


Not sure I understand the question. You need to generate it, the token made available for the playground is set to expire after 10 minutes, so you can’t use it for long.


Hi joshua,

    I have read the article and it is mentioned that you can get it from your developer account. I just want to confirm, may be I am missing something? See following -:


Hi Priyank, 

    we will be updating the blog post. As Joshua said, the jwt that you get from playground should not be used in your production application as it has a short expiry time.




Api : 


“uuid”: “unique_id”,
“id”: 123456789,
“host_id”: “unique_id”,
“topic”: “Zoom Meeting”,
“password”: “”,
“h323_password”: “”,
"status": 0,
“option_jbh”: false,
“option_start_type”: “video”,
“option_host_video”: true,
“option_participants_video”: true,
“option_cn_meeting”: false,
“option_enforce_login”: false,
“option_enforce_login_domains”: “”,
“option_in_meeting”: false,
“option_audio”: “both”,
“option_alternative_hosts”: “”,
“option_use_pmi”: false,
“type”: 8,
“start_time”: “”,
“duration”: 0,
“timezone”: “Asia/Hong_Kong”,
“start_url”: “”,
“join_url”: “”,
“created_at”: “2016-12-20T02:51:42Z”,
“occurrences”: [
“occurrence_id”: “1483210260000”,
“start_time”: “2017-01-01T02:51:00Z”,
“duration”: 60,
“status”: “available”


There is no meeting status in the meeting details obtained in API version 2  like the version 1    “status”: 0

How can I know the meeting is ended  through API version 2?



Hi Roger,

Please refer to


I’m also trying to generate token from C# code.

There seems to be issues with my version of System.IdentityModel.Tokens.Jwt and the code doesn’t work.

May I know the right version to use for using System.IdentityModel.Tokens.Jwt?

Currently, this line of code gives me error

using System.IdentityModel.Tokens.Jwt;