/meetings/{meetingID} for scheduled meeting never "finishes"

When using a Scheduled Meeting type and a host elects to End the meeting, the status on that meeting changes to “waiting” and not “finished”. Further, when the duration of the meeting has expired, the status remains “waiting”. Curiously, the meeting can be restarted after the start_time + duration has expired.

Here is the API response highlighting the description above.

"{“uuid”:“NknKODQrT0yUcDZhx50U+Q==”,“id”:***********,“host_id”:“pzBbxhWAQsSA_GZVVLnLZg”,“topic”:“Quick Start Video Lesson”,“type”:2,“status”:“waiting”,“start_time”:“2020-05-08T15:20:00Z”,“duration”:60,“timezone”:“America/Phoenix”,“agenda”:“Class Meeting”,“created_at”:“2020-05-08T15:20:39Z”,“start_url”:"https://us02web.zoom.us/s/83509455418?zak=eyJ6bV9za20iOiJ6bV9vMm0iLCJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJjbGllbnQiLCJ1aWQiOiJwekJieGhXQVFzU0FfR1pWVkxuTFpnIiwiaXNzIjoid2ViIiwic3R5IjoxLCJ3Y2QiOiJ1czAyIiwiY2x0IjowLCJzdGsiOiJnTTlLbW55NlJqc3ZUMkJqeTd0Z202U3VrV2RNa1JkSXEyQU1oazNzMmJnLkVnSUFBQUZ4OVQ3QXhRQUFIQ0FnWW1sWVUzRk5ReXRzUldaU2IyUkRTR1JYY0hJcmNuSlZVbVJtT1VzNFdYVUFERE5EUWtGMWIybFpVek56UFFSMWN6QXkiLCJleHAiOjE1ODg5NjQ2NjIsImlhdCI6MTU4ODk1NzQ2MiwiYWlkIjoid3E1SElqRGJTVE9Va29GcDBQOEtjdyIsImNpZCI6IiJ9.FQmLVSe5ONb9jTQKrGLxlLuBS6r7B7rtPXuyvscJXlc",“join_url”:“https://us02web.zoom.us/j/83509455418?pwd=anNzRDd6TWcwem0yY2FFRUVobmNnZz09”,“password”:“5f8a51e8d2”,“h323_password”:“898586”,“pstn_password”:“898586”,“encrypted_password”:“anNzRDd6TWcwem0yY2FFRUVobmNnZz09”,“settings”:{“host_video”:false,“participant_video”:false,“cn_meeting”:false,“in_meeting”:false,“join_before_host”:false,“mute_upon_entry”:true,“watermark”:false,“use_pmi”:false,“approval_type”:2,“audio”:“both”,“auto_recording”:“none”,“enforce_login”:false,“enforce_login_domains”:"",“alternative_hosts”:"",“close_registration”:false,“registrants_confirmation_email”:true,“waiting_room”:true,“registrants_email_notification”:true,“meeting_authentication”:false}}"

Which App Type (OAuth / Chatbot / JWT / Webhook)?

Which Endpoint/s?

How To Reproduce (If applicable)

  1. Create a Scheduled meeting
  2. Start it
  3. End it
  4. Check the meeting status under /meetings/{meetingID}
  5. Wait for the duration + start_time, check the meeting status under /meetings/{meetingID}

Screenshots (If applicable)

Additional context

*This post has been edited to remove any meeting / webinar IDs

Scheduled (non-recurring) meetings can be updated or re-started within 30 days, so the meeting stays as “waiting” until it expires.

The rules on that ID expiration are described here, not sure where else they are noted:

If you want to see ended meetings for a meeting ID, you can use another endpoint:

https://api.zoom.us/v2/past_meetings/{id}/instances, which will show you the UUID of any ended meeting that used that ID. (doc)

With that UUID, you can make calls to other “past meeting” endpoints:


Hat trick!

I have a feeling you may answer this one in my latest question, but I’ll ask here anyway!

The API for past_meetings very specifically uses UUID instead of meetingID. Are they in fact both asking for the same value, or is the UUID the uuid value passed back by /meetings/{meetingID}?

So far I’ve only been keeping track of the meetingID, not the UUID.

1 Like

Hey @kmwill23,

The meeting UUID is different. You can use the meeting ID to get the meeting UUID with the Get Past Meeting instances endpoint:

Thanks @samly for the detailed solution! :slight_smile: