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”