I can create a registration-unrequired meeting online, but not with the API

API Endpoint
POST /users/{userId}/meetings

Description
I’m trying to create a meeting with settings that when a URL is shared to join this meeting, the person joining (by clicking the link), is not asked to register. I can do this by manually by creating a meeting on Zoom’s website. I make sure “Require authentication to join” is not checked. However, if I try to do this using the API, there is no setting or combination of settings that will allow a join URL to be clicked in such a way that it does not require registration.

I want an end user to click the join link, and only be asked for his name, not register with an email address.

I can do this through the web GUI, but not through the API.

I even used an end point (GET /meetings/1234567) to get the specific meeting settings of a meeting I created by hand, then I used those exact settings to create a new meeting with the API. They were not the same. The meeting created by hand did not require an account, but the meeting created with the API (using the same settings) required an account.

Why is this? Is this a bug, or is this just not possible? Or am I doing something wrong?

Thank you so much for helping me with this! :slight_smile:

The meeting settings from the manually-made meeting are these. I used these same settings when trying to make a meeting with the API.

"settings": {
  "host_video": false,
  "participant_video": false,
  "cn_meeting": false,
  "in_meeting": false,
  "join_before_host": true,
  "jbh_time": 0,
  "mute_upon_entry": true,
  "watermark": false,
  "use_pmi": false,
  "approval_type": 2,
  "audio": "voip",
  "auto_recording": "none",
  "enforce_login": false,
  "enforce_login_domains": "",
  "alternative_hosts": "",
  "alternative_host_update_polls": false,
  "close_registration": false,
  "show_share_button": false,
  "allow_multiple_devices": false,
  "registrants_confirmation_email": true,
  "waiting_room": false,
  "request_permission_to_unmute_participants": false,
  "registrants_email_notification": true,
  "meeting_authentication": false,
  "encryption_type": "enhanced_encryption",
  "language_interpretation": { 
    "enable": false 
  },
  "approved_or_denied_countries_or_regions": { 
    "enable": false 
  },
  "question_and_answer": {
    "enable": true,
    "allow_anonymous_questions": true,
    "question_visibility": "answered",
    "attendees_can_upvote": false,
    "attendees_can_comment": false,
    "allow_submit_questions": true
  },
  "breakout_room": { 
    "enable": false 
  },
  "internal_meeting": false,
  "continuous_meeting_chat": {
    "enable": false,
    "auto_add_invited_external_users": false,
    "auto_add_meeting_participants": false
  },
  "participant_focused_meeting": false,
  "push_change_to_calendar": false,
  "resources": [],
  "auto_start_meeting_summary": false,
  "auto_start_ai_companion_questions": false,
  "allow_host_control_participant_mute_state": false,
  "alternative_hosts_email_notification": true,
  "show_join_info": false,
  "device_testing": false,
  "focus_mode": false,
  "meeting_invitees": [],
  "private_meeting": false,
  "email_notification": true,
  "host_save_video_order": false,
  "sign_language_interpretation": { 
    "enable": false 
  },
  "email_in_attendee_report": false,
},

Hi there,

There may be something in your configuration here that’s conflicting with something else; I’ve found that the best course of action is to not specify anything that you don’t want to just use the default values for. Here’s an example of a config I use for meeting creation that has never prompted a user to log in:

{
default_password: true,
settings: {
alternative_hosts_email_notification: false,
audio: “voip”,
continuous_meeting_chat: {
enable: false,
auto_add_invited_external_users: false,
},
email_notification: false,
encryption_type: “enhanced_encryption”,
focus_mode: false,
host_video: true,
meeting_authentication: false,
mute_upon_entry: false,
jbh_time: 0,
join_before_host: true,
participant_video: true,
private_meeting: true,
registrants_confirmation_email: false,
registrants_email_notification: false,
use_pmi: false,
waiting_room: false,
watermark: false,
},
timezone: “UTC”,
type: 2,
}

Thanks, Alex.

I tried your settings, and when it still didn’t work, it occurred to me that I had another function “updateMeeting” that was being called, which was overriding my “newMeeting” settings with wrong settings.

But it seems to be working now. Thanks.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.