Create meeting settings approval type always 2

Whenever I create a meeting, the approval_type returned after the meeting is created is always 2 (No registration required). I’m ensuring the JSON posted has the correct approval type, I’ve tried both 0 and 1. Other settings are being set correctly, such as join_before_host and the audio settings.

I wonder if there is other requirements needed in order to have different approval_types, but I’m not sure what those would be or how to go about finding them.

Any help would be appreciated.


Hi @markl,

Can you share you account ID along with request payload that was sent to so that we can take a closer look?


Email has been sent. It will be from the same address that this account is associated with.

Thank you,


Wanted to chime in and say that I observe the exact same situation reported by @markl: I create a new meeting with approval type set to manual but this value seems to be ignored by the API. Here is the payload I send to the API:

POST<... omitted for security reasons ...>/meetings HTTP/1.1
Accept: application/json, text/json, application/xml, text/xml, application/x-www-form-urlencoded
Authorization: Bearer <... omitted for security reasons ...>
User-Agent: ZoomNet/DEBUG (+
Cookie: cred=54F2831C313384245F75D327E6240351; _zm_mtk_guid=cf9fc66415da4395bead61f9cc1da999
Content-Type: application/json; charset=utf-8
Content-Length: 779

{"type":2,"topic":"ZoomNet Integration Testing: new Scheduled Meeting","password":"abc123","agenda":"This is the description","start_time":"2019-05-17T15:55:52Z","duration":30,"timezone":"UTC","settings":{"host_video":null,"participant_video":null,"cn_meeting":null,"in_meeting":null,"join_before_host":null,"mute_upon_entry":null,"watermark":null,"use_pmi":null,"approval_type":1,"registration_type":1,"audio":"telephony","auto_recording":null,"enforce_login":null,"enforce_login_domains":null,"alternative_hosts":null,"close_registration":null,"registrants_confirmation_email":null,"waiting_room":null,"global_dial_in_countries":null,"contact_name":null,"contact_email":null},"tracking_fields":[{"field":"firstfield","value":"azerty"},{"field":"secondfield","value":"def456"}]}

and here is the response:

HTTP/1.1 201 Created
Date: Mon, 18 Mar 2019 15:55:52 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 1581
Connection: keep-alive
Server: ZOOM
x-zm-trackingid: WEB_480e08bd584e70d5ebcca900592afcd7
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: cred=9F85FB1FC7F3CD53297463F0EDC00F2F; Path=/; Secure; HttpOnly
Strict-Transport-Security: max-age=31536000
X-XSS-Protection: 1; mode=block

{"uuid":"pCsabxfeQtGcPOkgwXvDqQ==","id":957673463,"host_id":"8lzIwvZTSOqjndWPbPqzuA","topic":"ZoomNet Integration Testing: new Scheduled Meeting","type":2,"status":"waiting","start_time":"2019-05-17T15:55:52Z","duration":30,"timezone":"UTC","agenda":"This is the description","created_at":"2019-03-18T15:55:52Z","start_url":"","join_url":"","password":"abc123","h323_password":"538822","pstn_password":"538822","settings":{"host_video":false,"participant_video":false,"cn_meeting":false,"in_meeting":false,"join_before_host":false,"mute_upon_entry":false,"watermark":false,"use_pmi":false,"approval_type":2,"audio":"telephony","auto_recording":"none","enforce_login":false,"enforce_login_domains":"","alternative_hosts":"","close_registration":false,"registrants_confirmation_email":true,"waiting_room":false,"global_dial_in_countries":["US"],"contact_name":"My name","contact_email":""}}

Notice the approval_type in the request is set to 1 (which stands for ‘manual’), but it’s set to 2 in the response.

I know this issue if from January but I recently observed the same issue so I was wondering if there is any progress made in the investigation?

I’m also having this issue. I cannot change the approval_type for a meeting. Is this available only for webinars?

I was able to change the approval type just now in my testing. Can you walk me through your flow?

Tim, look at my post from March 18. You’ll see the payload I posted and the response from the API. You’ll notice that approval_type in the request is set to 1 but it’s set to 2 in the response.

Hi @desautelsj @rafael ,

I tried reproducing your issue and was able successfully change the approval type in my testing.

@desautelsj I used the exact JSON body provided by you in my request and was still able to change the approval type.

@rafael can you please make sure that you are passing the correct value of meetingId in your request?

@ojus.zoom thank you for looking into this situation. I just want to point out that the original post back in January and my follow up observation in March had nothing to do with “changing” the approval type. The issue we described is that the approval type specified in the original request is being ignored.

@desautelsj, are you still facing the same issue? I did create a new meeting with the JSON body provided by you, and the approval type in the response was the same as the one in the original request (i.e. 1).

As far as I can tell, nothing has changed: I send a request containing "approval_type":1 and the response contains "approval_type":2.

Hi @desautelsj,

Apologies for the inconvenience caused.

I will help you troubleshoot this issue. Since this would require us requesting private credentials from you, can you please send us a support ticket at ?


Hi @desautelsj,

After speaking with our developers, I was able to confirm that, if the meeting is an instant one, i.e. set to type 1, then it is expected behavior that the approval type would be “no registration required”, i.e: 2. At this time, the instant meetings do not require registration, and we will be sure to update that in our docs.

Please follow our updates in our changelog.


Please be advised that I am able to reproduce the same problem with a scheduled meeting, i.e. set to type 2.

Here is the JSON in my request (notice type=2 and approval_type=1):

{“type”:2,“topic”:“ZoomNet Integration Testing: scheduled meeting”,“password”:“p@ss!w0rd”,“agenda”:“The agenda”,“start_time”:“2019-07-10T19:50:58Z”,“duration”:30,“timezone”:“UTC”,“settings”:{“host_video”:null,“participant_video”:null,“cn_meeting”:null,“in_meeting”:null,“join_before_host”:null,“mute_upon_entry”:null,“watermark”:null,“use_pmi”:null,“approval_type”:1,“registration_type”:null,“audio”:null,“auto_recording”:null,“enforce_login”:null,“enforce_login_domains”:null,“alternative_hosts”:null,“close_registration”:null,“registrants_confirmation_email”:null,“waiting_room”:null,“global_dial_in_countries”:null,“contact_name”:null,“contact_email”:null},“tracking_fields”:[{“field”:“field1”,“value”:“value1”},{“field”:“field2”,“value”:“value2”}]}

And here is the response (notice approval_type=2):

{“uuid”:“IMCR9S2TR6KtF83BdIecbg==”,“id”:984829862,“host_id”:“8lzIwvZTSOqjndWPbPqzuA”,“topic”:“ZoomNet Integration Testing: scheduled meeting”,“type”:2,“status”:“waiting”,“start_time”:“2019-07-10T19:50:58Z”,“duration”:30,“timezone”:“UTC”,“agenda”:“The
agenda”,“created_at”:“2019-06-10T19:51:00Z”,“start_url”:“”,“join_url”:“ “,“password”:“p@ss!w0rd”,“h323_password”:“454923”,“pstn_password”:“454923”,“settings”:{“host_video”:false,“participant_video”:false,“cn_meeting”:false,“in_meeting”:false,“join_before_host”:false,“mute_upon_entry”:false,“watermark”:false,“use_pmi”:false,“approval_type”:2,“audio”:“both”,“auto_recording”:“none”,“enforce_login”:false,“enforce_login_domains”:””,“alternative_hosts”:"",“close_registration”:false,“registrants_confirmation_email”:true,“waiting_room”:false,“global_dial_in_countries”:[“US”],“contact_name”:“Jeremie

Hi @desautelsj,

Please find the attached screenshots:
Screenshot 1 is the request body, you can see that the meeting type is 2, and the approval type is set to 1 .

Screenshot 2 is the response body and you can see the meeting type is 2 and the approval type is set to 1 .

Can you please let me know if you are able to replicate the behavior in postman or Send a test request section of the API?

I am able to reproduce using Zoom’s API test request. Here is the request:

and here is the response:

This example is using the JSON I posted about an hour ago (with type=2).


can you post the complete screenshot of the request and response, where the meeting type is set to 2 ?




@desautelsj, I will help you troubleshoot this issue via email.