How can I create a meeting that allows registration?

I’m making a meeting from the API, like this:

POST
https://api.zoom.us/v2/users/1234567/meetings
“type” => “3”,
“settings” => [
“host_video” => true,
“participant_video” => true,
“join_before_host” => true,
“mute_upon_entry” => true,
“auto_recording” => “cloud”,
“waiting_room” => false,
“approval_type” => 1,
“registration_type” => 1,
],

Then I try to request a list of registrants like this:
GET
https://api.zoom.us/v2/meetings/123456789/registrants

But I get this error:

code:300
message:Registration has not been enabled for this meeting

So my question is: How can I enable registration for this meeting? What are the correct settings to use?

I’m using JWT.

Thanks.

Hey @magmatic,

Make sure you have at least a Pro account to use the registration feature.

Can you please provide your Create Meeting response body JSON so I can debug?

Thanks,
Tommy

Hi @tommy … We’ve been discussing this over on this thread.

Our observation is that new meeting API calls with approval types 0 & 1 always result in a new meeting being created – but always with approval type 2, a non-registration open meeting.

Paid Pro account with single user. Here’s my post with JSON from the other thread.


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”: 835024 redacted ,
“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
}
}

@tommy Any thoughts on this discrepancy?

@Tommy resolved this over on another thread … my error … all is well now.

1 Like

Happy to hear you figured it out! :slight_smile:

Thanks,
Tommy