Create meeting settings approval type always 2

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.

Thanks,

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”:“https://zoom.us/s/984829862?zak=eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjbGllbnQiLCJ1aWQiOiI4bHpJd3ZaVFNPcWpuZFdQYlBxenVBIiwiaXNzIjoid2ViIiwic3R5IjoxMDAsIndjZCI6ImF3MSIsImNsdCI6MCwic3RrIjoiUFgxX1NfNFVTcXd1YVpXV1lHb1NKTzBZVWkyS2VwWE1fVmRIQ3JqQ0JNby5CZ1VnVWtoMk55OU9ibGhwVWxKcVFrRlJNR3BpTVRkeFRVSkdkakpsU1hOaFEwTkFPV0V3T0RKbVpqRTRZakV5TmpkbE0yVXpNRGs1TVRkak9UaG1ZV1ppWVRJMllqVm1aalpqWVdGaU56UTNOV1prTnpOalpHSXpOV1poWVdNNFpqZzRNQUFNTTBOQ1FYVnZhVmxUTTNNOUFBTmhkekUiLCJleHAiOjE1NjAyMDM0NjAsImlhdCI6MTU2MDE5NjI2MCwiYWlkIjoiVmpab0VBcklUNXktSGxXeGtWLXRWQSIsImNpZCI6IiJ9.9w038R-mEKnRE6mVaDpHl9OJMK2INqfXcjr6WmrtR5U”,“join_url”:“https://zoom.us/j/984829862?pwd=Y2pDbmVZQmpjMW4xU0gyajlkZTVKdz09 “,“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
Desautels",“contact_email”:"desautelsj@hotmail.com”}}

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).

@desautelsj

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

Thanks

Request:

Response:

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

Thanks

Hi, I am facing the same problem. Meeting type is set to scheduled, and I’m unable to change approval_type (it’s always 2, event if I make a specific PATCH request with this field only). May I ask how did you resolved this issue?

Hi @aboutroots,

Are you using a free account? If yes, you cant create a meeting that requires registration. This is the reason, the API returns, “approval_Type:2”. If you want to continue using the API, please upgrade your account to a PRO or higher level. You can visit here to know more about zoom plans.

Let me know if you have any questions.

Thanks,
Ojus

Yes, indeed I am using a free account. I didn’t know about that limitation, it makes sense. I must say that I would expect a status of 403 or a note in the api documentation about that, though :smile: thanks!

Hi @aboutroots,

Thank you for the feedback. I will pass it on to our documentation engineers so that they could make the necessary changes.

Thanks,
Ojus

1 Like

@Ojus I have a pro account- there appears to be yet another undocumented limitation on the use of approval type 1. It does not seem to work if meeting type is 3. If I set meeting type to 8 then I can use approval type 1, but the REST API for adding a registrant stops working. Apparently one can only add registrants via the API if approval type is 0 (which defeats the whole purpose of what I’m trying since it allows anyone in). I’m trying to restrict participation in a meeting to just those registrants that have been approved. Is it possible to do this?

Hey @dtzoom,

This is possible. Please share your request url and body so I can debug.

Thanks,
Tommy

I have this same problem. Paid account, request meeting with registration, approval_type 1 (registration required, manually approve, unique URLs), but the response is approval_type 2 (no registration, generic meeting URL).

My goal is to use an external database to manage meeting creation, registration, and participant meeting communications. I need to have registration enabled so every participant has their own access URL, i.e. no sharing of a generic meeting URL.

Request:

curl --location --request POST ‘https://api.zoom.us/v2/users/me/meetings
–header ‘Content-Type: application/json’
–header ‘Authorization: Bearer redacted
–data-raw ‘{
“topic”: “Test API Meeting request type 1, get type 2”,
“type”: 2,
“start_time”: “2020-06-15T18:00:00”,
“duration”: 60,
“timezone”: “America/Los_Angeles”,
“password”: “redacted”,
“agenda”: “approval type request is 1, response is 2. This is a paid account with one user.”
},
“settings”: {
“host_video”: true,
“participant_video”: true,
“cn_meeting”: false,
“in_meeting”: false,
“join_before_host”: false,
“mute_upon_entry”: false,
“watermark”: false,
“use_pmi”: false,
"approval_type": 1, :grinning:
“audio”: “both”,
“auto_recording”: “local”,
“alternative_hosts”: “none”,
“close_registration”: true,
“waiting_room”: true,
“contact_name”: “MLD Foundation”,
“contact_email”: “zoom@MLDfoundation.org”,
“registrants_email_notification”: true,
}
}’

And the Response:

{
“uuid”: “redacted”,
“id”: 835024redacted,
“host_id”: “redacted”,
“topic”: “Test API Meeting request type 1, get type 2”,
“type”: 2,
“status”: “waiting”,
“start_time”: “2020-06-16T01:00:00Z”,
“duration”: 60,
“timezone”: “America/Los_Angeles”,
“agenda”: “approval type request is 1, response is 2. This is a paid account with one user.”,
“created_at”: “2020-06-11T22:02:44Z”,
“start_url”: “https://us02web.zoom.us/s/83502410199?zak=redacted”,
“join_url”: “https://us02web.zoom.us/j/83502410199?pwd=redacted”,
“password”: “redacted”,
“h323_password”: “redacted”,
“pstn_password”: “redacted”,
“encrypted_password”: “redacted”,
“settings”: {
“host_video”: true,
“participant_video”: true,
“cn_meeting”: false,
“in_meeting”: false,
“join_before_host”: true,
“mute_upon_entry”: false,
“watermark”: false,
“use_pmi”: false,
"approval_type": 2, :cry:
“audio”: “both”,
“auto_recording”: “none”,
“enforce_login”: false,
“enforce_login_domains”: “”,
“alternative_hosts”: “”,
“close_registration”: false,
“registrants_confirmation_email”: true,
“waiting_room”: true,
“global_dial_in_countries”: [
“US”
],
“global_dial_in_numbers”: [
{redacted
}
],
“registrants_email_notification”: true,
“meeting_authentication”: false
}
}

Hey @OregonDean,

It appears you are including the settings object outside of the request body.

Please try the following JSON:

{
  "topic": "Test API Meeting request type 1, get type 2",
  "type": 2,
  "start_time": "2020-06-15T18:00:00",
  "duration": 60,
  "timezone": "America/Los_Angeles",
  "password": "redacted",
  "agenda": "approval type request is 1, response is 2. This is a paid account with one user.",
  "settings": {
    "host_video": true,
    "participant_video": true,
    "cn_meeting": false,
    "in_meeting": false,
    "join_before_host": false,
    "mute_upon_entry": false,
    "watermark": false,
    "use_pmi": false,
    "approval_type": 1,
    "audio": "both",
    "auto_recording": "local",
    "alternative_hosts": "none",
    "close_registration": true,
    "waiting_room": true,
    "contact_name": "MLD Foundation",
    "contact_email": "zoom@MLDfoundation.org",
    "registrants_email_notification": true,
  }
}

Thanks,
Tommy

@tommy That was it … all is working properly now. Thanks. Now, do you have a fix to reattach all of the hair I pulled out while trying to debug? Thanks again!

1 Like

Hey @OregonDean,

Haha unforutnatly I do not, but that sounds like something I would need too! :wink:

Happy to hear that fixed it, let us know if you have any other questions!

Thanks,
Tommy

Not working for "approval_type": 0,

Solution here: Approval type “0” Required meeting overridden by some accounts

1 Like

Thanks for sharing your solution @fernando.moobi! :slight_smile:

-Tommy