Issue with "join_before_host" Parameter Not Retaining True Value

Zoom API Meeting join_before_host parameter not retaining true value - always returns false

Description:
I am experiencing an issue where participants are unable to join Zoom meetings before the host. Despite explicitly setting "join_before_host": true in the request payload, the response data consistently returns "join_before_host": false.

On the other hand, the "waiting_room": false parameter functions correctly, as expected, and is accurately reflected in the response data.

Could you please investigate this issue and provide guidance on resolving it?

Error:
The full error message or issue you are running into, where applicable.

How To Reproduce:

  1. Zoom Request Payload

const createZoomMeeting = async (props: IZoomMeetingProps) => €
const { topic, start_time, agenda, password, duration, host_email } = props;
const token = await generateZoomToken;
const headers = { headers: { Authorization: "Bearer ${token), ‘Content-Type’: "application/json } }
const meetingData = {
host _email, topic, type: 1,
start_time,
timezone: ‘UTC’ ,
agenda,
duration,
password,
settings: (
host_video: true,
participant_video: true,
cn_meeting: false,
in meeting: false,
join_before_host: true,
joh_time: 5,
mute_upon_entry: true,
watermark: false,
use_pmi: false,
approval_type: 2,
audio: "both’, auto recording: ‘cloud’, enforce_login: false,
enforce_login_domains: “',
alternative_host_update_polls: false,
close_registration: false,
show_share_button: true,
allow multiple_devices: true,
registrants_confirmation_email: true,
waiting_room: false,
request_permission_to_unmute_participants: false,
global_dial in_countries: [‘US’],
registrants_email_notification: true,
meeting authentication: false,
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,
auto_add _meeting_participants: false,

  1. Response

DB connected successfully!
~createZoomMeeting ~ response? .data: {
uuid: XXXX ,
id: 82830849251,
host_id: XXXXX ,
host_email: ‘XXXXXX@XXXX.ai’ ,
topic: ‘XXX : Interview Invitation’ ,
type: 1 ,
status: ’ waiting’,
timezone: ‘UTC’ ,
agenda: ‘XXXX : Interview Invitation’,
created_at: ‘2025-02-19T17:29:39Z’ ,
start_url: ‘xxxxx’ ,
join_url: ‘xxxxxx’,
password: ‘XXXX’
h323_password: *xxxxxx’,
pstn_password: ‘xxxxx’’ ,
encrypted_password: ‘xxxxx’,
settings: {
host_video: true,
participant_video: true,
cn_meeting: false,
in_meeting: false,
join_before_host: false,
jbh_time: 5,
mute_upon_entry: true,
watermark: false,
use_pmi: false,
approval_type: 2,
audio: ‘both’ auto_recording: ‘cloud’,
enforce_login: false,
enforce_login_domains: ‘’,
alternative_hosts: ‘’,
alternative_host_update_polls: false,
close_registration: false,
show share_button: false,
allow_multiple_devices: false,

  1. Error:
    join_before_host: false, ← Always returned as false.

Would appreciate any insights or potential solutions! Thanks in advance.

Hi,

It may be that the Waiting Room might be enabled and locked at the account level (which is causing the problem).

Cheers,
Harsh

Hi @FlairX
Just to add to what @Fario_Consulting shared, make sure to enable this setting in your account

Admin Tab > Account Management > Account Settings > Meeting > Schedule Meeting