Join Before Host always false

Zoom API Meeting join_before_host always return false
{{ZOOM_API_URL}}/users/me/meetings

I created a meeting with API and want to make participants able to join the meeting directly before the host joins. I have disabled the waiting room in the zoom account settings and set the join_before_host params to true but the response to creating a meeting join_before_host is always false why is that?

How To Reproduce

  1. Create meeting with API
    {
    “topic”: “Daily Standup Meeting”,
    “type”: “2”,
    “start_time”: “2024-11-26T11:00:00”,
    “duration”: “60”,
    “timezone”: “UTC”,
    “settings”: {
    “waiting_room”: false,
    “join_before_host”: true
    }
    }
  2. Response API
    {
    “uuid”: “XXXXXXXxlwQDZ6H5Q==”,
    “id”: 91399642551,
    “host_id”: “XXXXXXX-WA44Pp3bQ”,
    “host_email”: “XXXXXXX@gmail.com”,
    “topic”: “Daily Standup Meeting”,
    “type”: 2,
    “status”: “waiting”,
    “start_time”: “2024-11-26T11:00:00Z”,
    “duration”: 60,
    “timezone”: “UTC”,
    “created_at”: “2024-10-01T02:49:07Z”,
    “start_url”: “Error - Zoom”,
    “join_url”: “Error - Zoom”,
    “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”: “local”,
    “enforce_login”: true,
    “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,
    “global_dial_in_countries”: [
    “US”
    ],
    “global_dial_in_numbers”: [
    {
    “country_name”: “US”,
    “number”: “+1 305 224 1968”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 309 205 3325”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “Chicago”,
    “number”: “+1 312 626 6799”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “Houston”,
    “number”: “+1 346 248 7799”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 360 209 5623”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 386 347 5053”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 507 473 4847”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 564 217 2000”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “New York”,
    “number”: “+1 646 558 8656”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 646 931 3860”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 669 444 9171”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “San Jose”,
    “number”: “+1 669 900 9128”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 689 278 1000”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 719 359 4580”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “number”: “+1 253 205 0468”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “Tacoma”,
    “number”: “+1 253 215 8782”,
    “type”: “toll”,
    “country”: “US”
    },
    {
    “country_name”: “US”,
    “city”: “Washington DC”,
    “number”: “+1 301 715 8592”,
    “type”: “toll”,
    “country”: “US”
    }
    ],
    “registrants_email_notification”: true,
    “meeting_authentication”: true,
    “authentication_option”: “signIn_b3zgYPnQTo6Vg8WEFvOocQ”,
    “authentication_name”: “Sign in to Zoom”,
    “authentication_domains”: “”,
    “encryption_type”: “enhanced_encryption”,
    “approved_or_denied_countries_or_regions”: {
    “enable”: false
    },
    “breakout_room”: {
    “enable”: false
    },
    “internal_meeting”: false,
    “continuous_meeting_chat”: {
    “enable”: true,
    “auto_add_invited_external_users”: false,
    “channel_id”: “web_sch_c386368e2042486cbe015b24037edaa2”
    },
    “participant_focused_meeting”: false,
    “push_change_to_calendar”: false,
    “resources”: ,
    “alternative_hosts_email_notification”: true,
    “show_join_info”: false,
    “device_testing”: false,
    “focus_mode”: false,
    “meeting_invitees”: ,
    “enable_dedicated_group_chat”: true,
    “private_meeting”: false,
    “email_notification”: true,
    “host_save_video_order”: false,
    “sign_language_interpretation”: {
    “enable”: false
    },
    “email_in_attendee_report”: false
    },
    “pre_schedule”: false
    }

Hi @fikri2347
Thanks for reaching out to us!
Make sure to enable the feature “Allow participants to join before host” in your account settings to use this feature when scheduling meetings.
To do so, head to the Admin Tab > Account Management > Account Settings > Meeting tab > Allow participants to join before host

I have done that and now participants can join before the host starts, however I also want to create a meeting that cannot start before the host, when I set join_before_host to false it always gives true

Hi @fikri2347
When you need a meeting that cannot start before the host, make sure to pass the field join_before_host set to false in your request body

Hi @elisa.zoom thanks for helping me

The settings I’m doing right now are waiting room disable and join before meet enable.

I tried to create a meeting with join_before_host true and it worked, but when I tried join_before_host false it didn’t work it always had a value of true.

@fikri2347 Sure thing!
Could you share with me the request body that you are passing in both cases?
It works for me with true or false

Currently the zoom account is set like this:

  1. Waiting room (disable)
  2. Join before host (enable)

Here is the first req and the result:

// Request Body
{
    "type": 2,
    "start_time": "2024-10-07T12:02:00Z",
    "duration": 60,
    "agenda": null,
    "timezone": "UTC",
    "password": "",
    "settings": {
        "host_video": false,
        "participant_video": false,
        "join_before_host": true,
        "waiting_room": false
    }
}

// Response
{
    "id": 99187241110,
    "topic": "Zoom Meeting",
    "type": 2,
    "status": "waiting",
    "start_time": "2024-10-07T12:02:00Z",
    "duration": 60,
    "timezone": "UTC",
    "settings": {
        "host_video": false,
        "participant_video": false,
        "join_before_host": true,
        "waiting_room": false,
        "registrants_email_notification": true,
        "meeting_authentication": true,
        "authentication_option": "signIn_b3zgYPnQTo6Vg8WEFvOocQ",
        "authentication_name": "Sign in to Zoom",
        "authentication_domains": "",
        "encryption_type": "enhanced_encryption",
        "approved_or_denied_countries_or_regions": {
            "enable": false
        },
        "breakout_room": {
            "enable": false
        },
        "internal_meeting": false,
        "continuous_meeting_chat": {
            "enable": true,
            "auto_add_invited_external_users": false,
            "channel_id": "web_sch_d28c1dbe22b84698b72536491b2affc1"
        },
        "participant_focused_meeting": false,
        "push_change_to_calendar": false,
        "resources": [],
        "alternative_hosts_email_notification": true,
        "show_join_info": false,
        "device_testing": false,
        "focus_mode": false,
        "meeting_invitees": [],
        "enable_dedicated_group_chat": true,
        "private_meeting": false,
        "email_notification": true,
        "host_save_video_order": false,
        "sign_language_interpretation": {
            "enable": false
        },
        "email_in_attendee_report": false
    },
    "pre_schedule": false
}

Here is the second req and the result:

// Request body 2
{
    "type": 2,
    "start_time": "2024-10-07T12:02:00Z",
    "duration": 60,
    "agenda": null,
    "timezone": "UTC",
    "password": "",
    "settings": {
        "host_video": false,
        "participant_video": false,
        "join_before_host": false,
        "waiting_room": true
    }
}

// Response
{
    "id": 95308228143,
    "topic": "Zoom Meeting",
    "type": 2,
    "status": "waiting",
    "start_time": "2024-10-07T12:02:00Z",
    "duration": 60,
    "timezone": "UTC",
    "settings": {
        "host_video": false,
        "participant_video": false,
        "join_before_host": true,
        "waiting_room": false,
        "registrants_email_notification": true,
        "meeting_authentication": true,
        "authentication_option": "signIn_b3zgYPnQTo6Vg8WEFvOocQ",
        "authentication_name": "Sign in to Zoom",
        "authentication_domains": "",
        "encryption_type": "enhanced_encryption",
        "approved_or_denied_countries_or_regions": {
            "enable": false
        },
        "breakout_room": {
            "enable": false
        },
        "internal_meeting": false,
        "continuous_meeting_chat": {
            "enable": true,
            "auto_add_invited_external_users": false,
            "channel_id": "web_sch_56b05f1168204e83a7c48ee93da24f26"
        },
        "participant_focused_meeting": false,
        "push_change_to_calendar": false,
        "resources": [],
        "alternative_hosts_email_notification": true,
        "show_join_info": false,
        "device_testing": false,
        "focus_mode": false,
        "meeting_invitees": [],
        "enable_dedicated_group_chat": true,
        "private_meeting": false,
        "email_notification": true,
        "host_save_video_order": false,
        "sign_language_interpretation": {
            "enable": false
        },
        "email_in_attendee_report": false
    },
    "pre_schedule": false
}