Create meeting API approval_type problem

Description
Since around Aug 21-22 our calls to the create meeting endpoint are not creating meetings with the specified approval_type of 1. Instead the approval_type in the returned data is 2 and we have to manually edit the meeting to turn on registrations before re-running the calls to add registrants.
Nothing has changed with the system that makes the requests and there seems to be no correlation between this happening and the specified user. We have several licenced users we use to create meetings and several meetings are created every day per user. There’s no correlation between the user and which meetings fail to be set to approval_type 1. Just looking at an isolated user, some meetings are fine and others fail. I’ve checked all user settings and they’re identical across all users.
This has not been a problem until a few days ago, and nothing has changed on our end. Please can you shed any light into why this is happening?

Error
The specified approval_type isn’t being set for newly created meetings

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
api.zoom.us/v2/users/{userId}/meetings

How To Reproduce (If applicable)
URL: api.zoom.us/v2/users/email of user/meetings POST
Payload:
{“topic”:“Meeting name”,“type”:2,“start_time”:“2021-08-24T18:15:00-04:00”,“duration”:90,“settings”:{“host_video”:true,“participant_video”:true,“mute_upon_entry”:true,“waiting_room”:true,“approval_type”:1,“registrants_email_notification”:false}}

Response:
array (
‘uuid’ => ‘xxxx’,
‘id’ => xxxx,
‘host_id’ => ‘xxxx’,
‘host_email’ => ‘xxxx’,
‘topic’ => ‘Meeting name’,
‘type’ => 2,
‘status’ => ‘waiting’,
‘start_time’ => ‘2021-08-24T22:15:00Z’,
‘duration’ => 90,
‘timezone’ => ‘America/New_York’,
‘created_at’ => ‘2021-08-24T21:30:07Z’,
‘start_url’ => ‘xxxx’,
‘join_url’ => ‘xxxx’,
‘settings’ =>
array (
‘host_video’ => true,
‘participant_video’ => true,
‘cn_meeting’ => false,
‘in_meeting’ => false,
‘join_before_host’ => false,
‘jbh_time’ => 0,
‘mute_upon_entry’ => true,
‘watermark’ => false,
‘use_pmi’ => false,
’approval_type’ => 2,
‘audio’ => ‘both’,
‘auto_recording’ => ‘none’,
‘enforce_login’ => false,
‘enforce_login_domains’ => ‘’,
‘alternative_hosts’ => ‘’,
‘close_registration’ => false,
‘show_share_button’ => false,
‘allow_multiple_devices’ => false,
‘registrants_confirmation_email’ => true,
‘waiting_room’ => true,
‘request_permission_to_unmute_participants’ => false,
‘global_dial_in_countries’ =>
array (
0 => ‘US’,
),
‘global_dial_in_numbers’ =>
array (
0 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘Chicago’,
‘number’ => ‘+1 3xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
1 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘New York’,
‘number’ => ‘+1 6xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
2 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘Washington DC’,
‘number’ => ‘+1 3xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
3 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘Houston’,
‘number’ => ‘+1 3xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
4 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘San Jose’,
‘number’ => ‘+1 6xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
5 =>
array (
‘country_name’ => ‘US’,
‘city’ => ‘Tacoma’,
‘number’ => ‘+1 2xxxx’,
‘type’ => ‘toll’,
‘country’ => ‘US’,
),
),
‘registrants_email_notification’ => false,
‘meeting_authentication’ => false,
‘additional_data_center_regions’ =>
array (
),
‘encryption_type’ => ‘enhanced_encryption’,
‘approved_or_denied_countries_or_regions’ =>
array (
‘enable’ => false,
),
‘breakout_room’ =>
array (
‘enable’ => false,
),
‘alternative_hosts_email_notification’ => true,
‘device_testing’ => false,
),
‘pre_schedule’ => false,
)

Hey @rtwuk,

Can you share some example users with us at developersupport@zoom.us? We will be happy to take a closer look.

Thanks,
Will

Hey,

I am also facing the same issue as mentioned above I am setting approval_type to 0 in create meeting api but by default it is being set to 2

curl for create meeting:

curl --location --request POST ‘https://api.zoom.us/v2/users//meetings
–header ‘Content-Type: application/json’
–header 'Authorization: XXXXXXXXXXXXXXXXXXXXXX
–data-raw ‘{
“topic”: “string”,
“type”: 2,
“pre_schedule”: true,
“start_time”: “2021-09-09T23:56:00Z”,
“settings”: {
“approval_type”: 0
},
“duration”: 2
}’

Response:

approval_type is coming as 2 only

note: edited meeting specific detail for security purpose

{
“uuid”: “XXXX=”,
“id”: 819,
“host_id”: “7FeXXXXXXX”,
“host_email”: “”,
“topic”: “string”,
“type”: 2,
“status”: “waiting”,
“start_time”: “2021-09-09T23:56:00Z”,
“duration”: 2,
“timezone”: “Asia/Calcutta”,
“created_at”: “2021-09-09T13:01:53Z”,
“start_url”: “”,
“join_url”: “”,
“settings”: {
“host_video”: false,
“participant_video”: false,
“cn_meeting”: false,
“in_meeting”: false,
“join_before_host”: false,
“jbh_time”: 0,
“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,
“show_share_button”: false,
“allow_multiple_devices”: false,
“registrants_confirmation_email”: true,
“waiting_room”: true,
“request_permission_to_unmute_participants”: false,
“global_dial_in_countries”: [
“US”
],
“global_dial_in_numbers”: [

    ],
    "registrants_email_notification": true,
    "meeting_authentication": false,
    "encryption_type": "enhanced_encryption",
    "approved_or_denied_countries_or_regions": {
        "enable": false
    },
    "breakout_room": {
        "enable": false
    },
    "alternative_hosts_email_notification": true,
    "device_testing": false
},
"pre_schedule": true

}

Hi @akash.p,

I noticed that you’re setting pre_schedule to true — can you try setting this to false and let me know if you’re still seeing this behavior?

Thanks,
Will