Create meeting settings approval type always 2

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

I am creating a meeting with type: 3, # Recurring meeting with no fixed time

My question is on created above meeting Can I call the registrants API

Hi @viral,

In order to leverage our registrant endpoints, your meeting will need to have a fixed time.

Thanks,
Will