Some definitions around Webinar and Meeting Types

We are going to have a process in our app to lookup meetings and webinars and link them to an event entity in our tool and we have some questions about definitions for the get meeting(s) and webinar(s) endpoints.

  1. List Meetings has a type Query Parameter. The scheduled option there says it includes all “unexpired” past meetings. Can you define unexpired? When does a past meeting expire?

  2. Get a Meeting doesn’t say whether it is limited to unexpired past meetings or not. Does it allow you to search for meetings from the past beyond “expiration” or only unexpired meetings like List Meetings does?

  3. List Webinars does not have a query parameter for filtering between past and future webinars. Is there also an expiration date for webinars when they would no longer show up in that query? And if so, does that an expiration time period apply to that ability to find webinars with Get a Webinar?

  4. List Meetings and Get a Meeting have a meeting type field in the Meeting Object. Can you define exactly what an instant meeting is (option #1)? Is it a meeting that is run by clicking “New Meeting” from the Zoom App if “using the PMI” for that is not turned on?

NGPVAN/EveryAction Team

Hi @NGPVANEveryAction,

  1. A non-recurring meetingID will expire 30 days after the meeting is scheduled for.
  2. If a meeting has expired, use Past Meetings to retrieve it’s details – or subscribe to our Meeting Events to store data on the time/date or each meeting ID so you won’t have to pull for this data.
  3. We’re working on adding this into that endpoint, check our Changelog for its release. As above, you can retrieve data on all occurrences of webinars through our Webinar Events.
  4. An instant meeting can be one where, for example, a user goes to the client and generates a meeting ID and invites a participant, or they go to a user within the Zoom client and click “Meet With Video”. These non-scheduled meetings would be instant meetings. Any instance of a PMI being used for an instant meeting would have a UUID unique to the occurrence.

Hi @michael.harrington ,

Thank you for your responses!

Just for extra clarity, when you say use past meetings to get expired ones you mean, right? Get/Meetings/{meetingID} will not return expired events, correct? (PS for this specific use case we need to allow users to look up meetings, so the webhook will not work).

For #3 you said:

In the meantime, can you tell me what set of webinars the List Webinars (GET/users/{userId}/webinars) endpoint will include? Is it all upcoming webinars and all past webinars up to 30 days old, or does it go farther back than that?


@michael.harrington Any thoughts on the above?


Hi @NGPVANEveryAction - pardon me for not getting back to you sooner!

Yes, this is correct.

I do not believe /users/{userId}/webinars will include expired webinars.

One suggested workaround for the use of Meeting/Webinar Events is to store this data within a customer-specific database and reference from there if the historical webinars are not available.

Hi @michael.harrington Thanks for the follow-up but I do have some more questions.

  1. Do webinars also expire after exactly 30 days?
  2. Can you confirm with confidence that /users/{userId}/webinars will not include expired webinars?
  3. On the meetings side, Get Past Meeting details has an acceptable amount of data about the meeting but on the Webinars side, List Past Webinar Instances ( GET/past_webinars/{webinarId}/instances) only shares occurrences, there does not seem to be an equivalent way to get the details of a past webinar. Am I missing something, or is this an area where there isn’t API coverage currently.

Unfortunately using the events to store a database on our end is not a possible implementation.

NGPVAN EveryAction Team

Hey @NGPVANEveryAction,



Here are the equivalent Past Webinar Details endpoints: