Bug in data returned from API create meeting endpoint

When creating a new meeting with the API, the data returned for the “start_time” is not the start time submitted, but instead a duplicate of “created_at”

[start_time] => 2021-02-23T03:58:42Z
[duration] => 60
[timezone] => America/New_York
[agenda] => https://connector.cympl.com/admin/appointments/108359/update/
[created_at] => 2021-02-23T03:58:42Z

I’m using an OAuth app type.

The API endpoint is https://api.zoom.us/v2/users/me/meetings

Hi @jeffmezick,

Thanks for reaching out about this, and happy to help.

Can you share the full request body you’re passing that returns this response, including the start time exactly as you’ve formatted it? This will help to debug, as depending on what info you provide in the request body can affect the response.

Thanks!
Will

Hi Will, thanks for replying.

I’m using cURL and here’s an example of the command which contains an example of the request body I’m sending:

curl -s -w “%{http_code}” -X POST -H “Authorization: Bearer TOKEN” -H “Content-Type: application/json” -d ‘{“topic”: “Appointment with Customer Name”, “type”: 2, “start_time”: “2021-02-23T19:00:00Z”, “duration”: 60, “agenda”: “LINK TO APPOINTMENT”, “settings”: { “registrants_email_notification”: false }}’ “https://api.zoom.us/v2/users/me/meetings

Did you already fix this? I just did another test thought and this time I didn’t get the duplicate “created at” time in the response:

[start_time] => 2021-02-25T20:00:00Z
[duration] => 60
[timezone] => America/New_York
[agenda] => https://connector.cympl.com/admin/appointments/108366/update/
[created_at] => 2021-02-23T19:35:25Z

Thanks again,
-Jeff

Hey @jeffmezick,

Thank you for providing more information. I’m not aware of this being a known issue, there haven’t been any updates and I haven’t been able to reproduce this on my end. I’m thinking this was either related to a copy and paste error or perhaps an intermittent issue with the API itself. It’s difficult to be sure.

If you see this again, please respond to this topic as soon as you can and we’ll investigate this issue right away.

Thanks,
Max

Hey Max, I think I figured it out. You can duplicate this by trying to schedule a meeting through the API for some time in the past. My application allows users to schedule from a calendar view, and while testing I clicked on a date that has already passed. I guess this isn’t really a bug but it might be better to return an error, rather than to just schedule the meeting for the exact moment the API was called and still return a 201 success code. I was error checking by comparing the start_time returned to what I sent, otherwise I would never have seen it.

Below is a json_decoded array of the output (it’s easier to read), followed by the cURL I sent. The only edits I made were to remove the token and links.

Array
(
[uuid] => Nnvn7rlUTIGN2MhCQmUxvw==
[id] => 83314285241
[host_id] => Ivj_AQxaRUOh1NrlMR2rsQ
[host_email] => jeff@cympl.com
[topic] => Appointment with Jeff Was Here
[type] => 2
[status] => waiting
[start_time] => 2021-02-24T05:23:13Z
[duration] => 60
[timezone] => America/New_York
[agenda] => Some agenda stuff goes here.
[created_at] => 2021-02-24T05:23:13Z
[start_url] =>
[join_url] =>
[password] => v38Vyd
[h323_password] => 489720
[pstn_password] => 489720
[encrypted_password] => eU1PbjZrUFRyOEJ3dVAxVmlGQlRYZz09
[settings] => Array
(
[host_video] =>
[participant_video] =>
[cn_meeting] =>
[in_meeting] =>
[join_before_host] =>
[jbh_time] => 0
[mute_upon_entry] =>
[watermark] =>
[use_pmi] =>
[approval_type] => 2
[audio] => voip
[auto_recording] => none
[enforce_login] =>
[enforce_login_domains] =>
[alternative_hosts] =>
[close_registration] =>
[show_share_button] =>
[allow_multiple_devices] =>
[registrants_confirmation_email] => 1
[waiting_room] => 1
[request_permission_to_unmute_participants] =>
[registrants_email_notification] =>
[meeting_authentication] =>
[encryption_type] => enhanced_encryption
[approved_or_denied_countries_or_regions] => Array
(
[enable] =>
)

        [breakout_room] => Array
            (
                [enable] => 
            )

    )

)

curl -s -w “%{http_code}” -X POST -H “Authorization: Bearer TOKEN” -H “Content-Type: application/json” -d ’
{
“topic”: “Appointment with Jeff Was Here”,
“type”: 2,
“start_time”: “2021-02-21T20:00:00Z”,
“duration”: 60,
“agenda”: “Some agenda stuff goes here.”,
“settings”: {
“registrants_email_notification”: false
}
}’ “https://api.zoom.us/v2/users/me/meetings

Hey @jeffmezick,

Thanks for sharing your findings. :slight_smile:

I can confirm that if you schedule a meeting with the start_time being in the past, the start_time will default to the current time. We will work on improving the error messaging around this.

-Tommy

1 Like