Zoom Create Meeting API Giving BAD Response (400)

Hi Team, we are seeing Bad Request Response while creating a type 2 (scheduled) meeting but it is working for type 1 (instant meeting)

Please find the request payload

{
  "topic": "Testing of Zoom",
  "type": 2,
  "startTime": "2024-03-03T01:25:00",
  "timezone": "UTC",
  "duration": 15,
  "password": "72zntv99",
  "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": 2,
    "registration_type": 1,
    "audio": "both",
    "auto_recording": "none",
    "enforce_login": true,
    "registrants_email_notification": false
  }
}

@b2csharedservices instant meeting doesn’t need to be scheduled. Is there a use case on why you would need to schedule an instant meeting?

we meant that the token we use for instant meeting is the same as the one for scheduled meeting - so we’re trying to figure out what is different. The payload is different which may have fields that are incorrect, but we have verified against a different zoom app with the same payload and it works fine

as per this doc, meeting type 1 and 2 are the only difference between the two types of meetings

@b2csharedservices ,

I’ve used your payload, with slight variations of the password and it works for both type 1 and type 2 meetings.

Does this only happen for a specific user?

Yes, this is happening for a specific zoom account since we got it working with a different zoom account in the same app.
We are seeing 400 errors in the zoom app. Is there a way to find out the reason behind this 400 (bad request) response?

@b2csharedservices I’m wondering if the email address is causing some malformed URL, which in turns causes the 400 response.

@chunsiong.zoom are you referring to the email account of the zoom app’s creator (my email - b2csharedservices@gmail.com) or the account that is trying to create the zoom meeting?
Also, how could we find out the reason behind the 400 response, does zoom store the reason for failure anywhere?

I’m referring to the email which causes error 400

If you have the response header from the error 400 request, it will be great

@chunsiong.zoom we are not logging anything apart from response status code right now.

Is there any way we could find out if the zoom account has meeting scheduling capabilities?
scheduling is working from the zoom web app and the desktop app, it’s only via our OAuth app it’s failing.

@b2csharedservices,

You should be able to see specific errors related to scope if your Oauth does not have access to create meetings.

@chunsiong.zoom we added additional logs to get the error codes as described in the create meeting api docs but looks like zoom is only responding with:

Create meeting failed with response: InboundJaxrsResponse{context=ClientResponse{method=POST, uri=https://api.zoom.us/v2/users/BOnq5ajeSASXaV6FcnzzZw/meetings, status=400, reason=Bad Request}}

we aren’t getting an error code

@b2csharedservices I’ve checked on this, your access token is invalid

@chunsiong.zoom is it because it expired? as per OAuth for user authorized apps access tokens have an expiry of one hour

@chunsiong.zoom is it because it has expired? as per OAuth for user authorized apps access tokens have an expiry of one hour

@b2csharedservices I’m not sure, but there is an expiry associated with request / access tokens.