Live Recurring Meeting Past Scheduled End Time

I am trying to use the API with JWT to take action when a recurring meeting is live but is past its scheduled end time by a certain amount. It seems to be particularly difficult in the case where the current meeting end time has been modified (if it ends at a different time than the rest of the recurring schedule).

The scenario is that I have created a recurring meeting and set some of the meeting instances to end a little later than usual (same start time, longer duration). On one of the days with a later end time, I am trying to see if the meeting is live and over its normal end time.

API calls used:

  • List Meetings /users/{userId}/meetings ? type=live
    This call lists the meeting because it is live, but for the start_time and the duration it lists the last meeting in the recurrence, not the active meeting instance. This seems like it should return the currently live instance, along with its correct modified end time.

  • List Meetings /users/{userId}/meetings ? type=upcoming
    This call lists the meeting including live and future recurrences. However the duration listed for today’s meeting is the duration for the base recurring meeting, not the modified duration. Also, after the scheduled (modified) end time, the meeting is no longer listed. This is the only way I can seem to determine that the meeting is over its scheduled end time, when it is listed as live but not upcoming. Once it is in this state however, I can’t tell how far past its end time it has gone because it’s no longer listed.

  • Get a Meeting /meetings/{meetingId}
    This call lists the meeting with all upcoming or live instances under occurrences. Today’s occurrence has the correctly modified duration while the meeting is live, and the occurrence status is listed as “available”. However, similar to the previous call, when the meeting is past its scheduled (modified) end time, it no longer is listed here, even if it is still live.

  • Get Meeting Occurrence /meetings/{meetingId} ? occurrence_id={id}
    This call lists today’s occurrence while live and before its scheduled end time, with the correctly modified duration. However if the meeting is past its scheduled end time there is no way to determine the occurrence id in order to make this call.

  • Get Ended Meeting Instances /past_meetings/{meetingId}/instances
    This call does not return anything if the meeting is not ended yet.

  • Get Past Meeting Details /past_meetings/{meetingUUID}
    This call does not return anything if the meeting is not ended yet.

It seems that the only way to determine if a meeting is past its scheduled end time is to infer it from the above calls, in other words to see that it is a live meeting but not listed as upcoming. And I don’t see a way to determine when the actual end time is once it’s past, if the meeting is still live, so I can’t tell how far past its end time it is.

Is there an API call I’m missing that would help in this case?

Would it be possible or desirable to fix the List Meeting (live) call to return the active recurrence with correct duration etc?

I am using JWT type app. Thanks for your assistance.

Ed Henn
UC Davis School of Law

Hey @emhenn,

For finding how long a meeting is going over in real time:

https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetingdetail

You can check to see if the meeting is still live, and compare the original end_time with the current time.

Thanks,
Tommy

Tommy -

I’m testing that API call against a recurring live meeting right now, and both “duration” and “end_time” are returning no data. How should I get the original end_time?

Ed

Tommy -

I was running /metrics/meetings/{meetingId} ? type=live when I got blank fields for duration and end_time. I see that it returns data when run as ? type=pastOne. I will test this out with a recurring event that has the duration modified from the original to see if it returns the right info. Thanks,

Ed

Tommy -

I have tested this call against a new recurring meeting and I’m not getting the expected results. The meeting I created is recurring with 3 occurrences. The first occurrence is today, and I edited that occurrence to have a longer end time. I started the meeting so it would be live. Here’s what I get when calling Dashboard Meeting Details:

  • /metrics/meetings/{meetingId} ? type=live
    Meeting info is returned but duration and end_time are blank

  • /metrics/meetings/{meetingId} ? type=pastOne
    Returns error code 3001 “This meeting’s details info is not available or ID is not valid.”

  • /metrics/meetings/{meetingId} ? type=past
    Returns error code 3001 “Meeting ID is invalid or not end.”

I have tried this call again with type=pastOne on a few different recurring events that are currently live, and sometimes it returns data, but other times returns the 3001 error code. It doesn’t seem dependable, do you have any suggestions on how to use it properly? Thanks,

Ed

Hey @emhenn,

The query params or past and pastOf are for past meetings only.

The Get Meetings endpoint should get you the original end time, you just have to add the duration (scheduled duration) to the start_time.

Thanks,
Tommy

Hi Tommy -

Get Meetings endpoint /meetings/{meetingId} returns meeting details and a set of occurrences if it’s a recurring meeting. While the meeting is live and before the scheduled end time, the occurrence matching today’s date has the correct start_time and duration. However, once the meeting is past its scheduled end time, even if it is still live, that occurrence no longer shows up in the occurrences collection. So I can’t tell if a live meeting is past its end time by a specific amount. I can only tell it’s past its end time by seeing that it’s live, and no longer showing up in the occurrences collection. Any other suggestions? Thanks,

Ed

Hey @emhenn,

Let’s back up a little. Are you trying to find if the meeting went overtime after it has ended, or while it is still live?

Thanks,
Tommy

Live recurring meeting past scheduled end time. While still live, but past scheduled end time. Particularly when the meeting instance has been modified with a different duration than the rest of the recurrence.

Ed

Hey @emhenn,

You can use the meeting updated webhook to see if the meeting was modified:

Thanks,
Tommy