Account settings not reflected in meetings created via the API

API Endpoint(s) and/or Zoom API Event(s)

Description
(reposting from Settings not reflected in meetings created via the... - Zoom Community since I didn’t realize there were separate dev and non-dev forums)

I’ve set up both our main Zoom account and the sub-accounts under it with several settings, but those settings are not being reflected in meetings created in a sub account (after the setting changes were made) via the API.

For example: I modified the settings to always record to cloud, disable the waiting room, and allow participants to join before the host. I then created a meeting via the API and joined on one device via the join URL and then on another device via the host start URL. The host was prompted to admit the waiting participant, and the recording never started (nor did I see a way to activate recording).

We need the account settings to control all meetings created in our account since the API calls to create meetings won’t be under our control (we’re using a third party scheduling service that schedules meetings on our behalf). I’m doing preliminary work to make sure that our account settings have the effect that the business requires.


Hey @daniel,

What parameters did you include in the Create Meeting request that you made to generate your test meeting? It sounds like the defaults for this endpoint might be overriding your account-level settings. In the API request, the default value of join_before_host is false, and the default for auto_recording is none.

You mentioned that the API calls to create meetings won’t be under your control. Does that mean you don’t have any influence over the parameters included in these requests?

Hi Amanda,

I’ve tried both omitting all params but also including the following, all without success:

{
      join_before_host: true,
      settings: {
        auto_recording: 'cloud',
      },
    }

But yes, we won’t have any influence over the parameters included in these requests since we’re using a third party SaaS to schedule meetings, so it’s very important for our account settings to take precedence over all parameters that might be passed via the API.

Hi @dnelson1, thanks for the additional context. It sounds like you have limited control over how the API is called, because it must be done through the host’s account settings. That can complicate things, but there are still a few tests you can run locally using Zoom’s Create Meeting API to confirm what settings produce the behavior you want. Once you see which request parameters work, you can figure out whether the root cause lies in the host’s Zoom account settings or the third-party integration.

The goal is to confirm that you can create a meeting with the desired behaviors (e.g., no waiting room, join before host, auto recording) using the Create Meeting endpoint. If you manage to do so, you’ll know exactly which settings are required—and can then check whether the host’s account or the third-party provider might be overriding them.

When looking at the settings in the Create Meeting api, a few things come to mind:

  1. Try the waiting_room vs. join_before_host settings
  • If waiting_room is set to true, it overrides join_before_host. Participants end up waiting, no matter what.
  • Try setting waiting_room: false and join_before_host: true. This should allow participants to bypass the waiting room and join as soon as they have the meeting link (assuming the host account also allows this).
  1. Configure the join-before-host time (jbh_time)
  • When join_before_host is true, you may need to explicitly define jbh_time. This parameter determines how many minutes before the official start time participants can join.
  • Try using jbh_time: 0 if you want participants to join at any time without waiting for the host.
  1. Verify the auto recording setting
  • According to the docs, your auto_recording parameter seems correct. Just make sure it aligns with any relevant account or group-level settings for recording.
  1. Check host-level Zoom settings
  • Even if you set everything correctly in the API request, the host’s Zoom account can still override those fields based on its default meeting settings.
  • Ensure the host’s account settings allow participants to join before the host and that the waiting room is disabled if that’s your preference.

You can test these parameters locally by directly calling the Create Meeting API from your own setup. Observe the results to confirm whether participants can join without waiting and if the meeting auto-records. If it works as expected, then the issue likely originates from the host’s Zoom account defaults or the way the third-party integration is constructing its API request

1 Like

Hi Amanda,

It looks like the main issue was a licensing issue. We were creating users with type: 1 via the API, but didn’t realize that “basic” meeting users can’t record.

It’s still placing people into a waiting room, so I still need to figure out what settings need to be set, but auto-recording to the cloud is happening, and doesn’t look like it can be disabled by the host, which is how I set the account settings.

Thank you for your help,

Daniel