Unable to correctly pass start_time in Create Meeting API

When calling the Create Meeting API, I’m scheduling a meeting with start_time selected from a calendar control, and passing it to the back-end for calling the API.

app.post('/meeting', (req, res) => {
  console.log("Start date = " + req.body.start_time);   // prints "2022-08-17T14:00"
  var options = {
    method: "POST",
    uri: "https://api.zoom.us/v2/users/" + email + "/meetings",
    body: {
      topic: "My topic",
      start_time: req.body.start_time, 
      timezone: "Australia/Sydney",
      type: 2,
      default_password: false,
      duration: 40,
      settings: {
        host_video: "true",
        participant_video: "true",
      },
    },
    auth: {
        'bearer': token
    },
    headers: {
        'User-Agent': 'Zoom-api-Jwt-Request',
        'content-type': 'application/json'
    },
    json: true
  };

etc

Response:

{
  uuid: 'Uimr3qXfTkmNKldBbcnt6g==',
  id: 85939021364,
  host_id: 'nm7n_nOkQRWwdcrU6FaD1w',
  host_email: [...],
  topic: 'My topic',
  type: 2,
  status: 'waiting',
  start_time: '2022-08-16T04:19:08Z',   // why did it become current time in GMT?
  duration: 40,
  timezone: 'Australia/Sydney',
  created_at: '2022-08-16T04:19:08Z',
  start_url: [...],
  password: 'aLdvH8',
  h323_password: '950774',
  pstn_password: '950774',
  encrypted_password: 'RDBLQXdZQy9tRmpHYjFyUjVDWkl2Zz09',
  settings: {
    host_video: true,
    participant_video: true,
    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: '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',
    approved_or_denied_countries_or_regions: { enable: false },
    breakout_room: { enable: false },
    alternative_hosts_email_notification: true,
    device_testing: false,
    focus_mode: false,
    private_meeting: false,
    email_notification: true,
    host_save_video_order: false
  },
  pre_schedule: false
}

I pass the start_date in the correct format (yyyy-MM-ddTHH:mm:ss without Z) and using timezone, but it ignores it and uses the current time instead, appending Z to it in GMT format. What am I doing wrong? I looked at many similar posts but didn’t find a solution.

I noticed one thing though: in older similar posts there’s screenshots of the create meeting API with start_time as “string” (example), but the current API says “date-time” instead of “string”. So am I passing the wrong type? If so, how do I convert it to the right type and format?

@rdeveloper welcome to zoom forum, you might want to post this in the API section of this forum.

nonetheless, I’ve managed to replicate your issue. you might be missing the SS in the datetime format.

Instead of this value
// prints "2022-08-17T14:00"
pass in "2022-08-17T14:00:00"

Apologies for posting it in the wrong section! But thank you, that seemed to have been the issue!