Meeting not coming up in /past_meetings/:meetingId while comes up in /meetings/:meetingId when using PMI

Description
a. I have setup to use PMI for scheduled meetings in my meeting profile.
I have scheduled a meeting for my time 14:00 - 14:15, I started the meeting with a client and ended it… from the profile dashboard I see the meeting moved from previous section. Now the time is 14:40.
I can get the meeting when I invoke /meetings/:meetingId (which I believe is only for scheduled and live meetings). I am unable to get the details from /past_meetings/:meetingId (Getting 3001,“Meeting does not exist:”)

Error
The full error message or issue you are running into.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
Knowing the endpoint/s can help us to identify your issue faster. Please link the ones you need help/have a question with.
Using OAuth User based auth (tried account based app as well) and I am the owner of the meeting.

Which Endpoint/s?
Knowing the API endpoint/s can help us to identify your issue faster. Please link the ones you need help/have a question with.] /past_meetings/:meetingId

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Request URL / Headers (without credentials) / Body
  2. See error

Screenshots (If applicable)
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

It looks like the scheduled meetings - even if I start the meeting from a client and end it… the status toggles between “status”: “waiting” and “started” and even after the end date of the meeting is complete the status goes back to “waiting”.

Am I missing something?

Able to get the data from {{baseUrl}}/past_meetings/:meetingId

Is there a time after which only the meeting is available in this end point?

Hi @ajay.prabhakaran ,

Thanks for reaching out about this.

To confirm, did your meeting have more than 1 participant? Unless it has 2 or more participants, it will not be returned by this endpoint and is not considered a past meeting occurrence if only the host joined.

Let me know—thanks,
Will

Hi Will,
I think I found the issue - seems that when you have Use Personal Meeting ID (PMI) when scheduling a meeting set - it doesn’t work (/past_meetings/:meetingId doesn’t return). I tried using both meetingId and uuid as parameter. Let me explain.

I have two use cases where it works for use case 1. but not for use-case 2

  1. Schedule a meeting with host1 (Disable - Use Personal Meeting ID (PMI) when scheduling a meeting in host1 profile - meeting join URL has meeting ID instead of PMI)
    a. Before Host1 starts the meeting (/meetings/:meetingId - returns 200- status waiting and /past_meetings/:meetingId returns 404 Code 3001)
    b. Host 1 starts the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    c. Participant 1 joins the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    d. Participant 1 leaves the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    e. Host1 ends the meeting (/meetings/:meetingId - returns 200- status waiting and /past_meetings/:meetingId returns 200 with the details and I can get participant details from past_meetings/:meetingId/participants)
  2. Schedule a meeting with host1 (Enable - Use Personal Meeting ID (PMI) when scheduling a meeting in host1 profile - meeting join URL has PMI)
    a. Before Host1 starts the meeting (/meetings/:meetingId - returns 200- status waiting and /past_meetings/:meetingId returns 404 Code 3001)
    b. Host 1 starts the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    c. Participant 1 joins the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    d. Participant 1 leaves the meeting (/meetings/:meetingId - returns 200- status started and /past_meetings/:meetingId returns 404 Code 3001)
    e. Host1 ends the meeting (/meetings/:meetingId - returns 200- status waiting and /past_meetings/:meetingId returns 404 Code 3001 and past_meetings/:meetingId/participants also returns 404 Code 3001)

Let me know if I have explained the two use-cases and how I can find past meeting when host is using PMI.

Rgds, Ajay

Just to add to this, what I have been using (in case of PMI based meeting) is the meetingID/uuid returned from /meetings/:meetingId. It looks like this uuid is different to what is noted in /past_meetings/:meetingId/instances, from which when I take the uuid and invoke past_meetings/:meetingId, it works fine.

Q - How can one link up (via API) a new scheduled meeting to the participants who attended the meeting once completed (assuming 2 people joined the meeting - host and participant).
a. In cases where the meetingID is based on generated number, It looks to be straightforward to take the meetingID/uuid from GET /meetings/:meetingId and use in /past_meetings/:meetingId
b. In case where the meetingID is based on PMI, whats the key to get the instance uuid from GET /meetings/:meetingId?

Hi @ajay.prabhakaran ,

Thanks for clarifying. Regarding PMI meetings, these will have a new, unique ID generated in addition to the standard PMI. Please see this post which explains this in some more detail:

In regards to your questions:

How can one link up (via API) a new scheduled meeting to the participants who attended the meeting once completed (assuming 2 people joined the meeting - host and participant).

I would recommend leveraging our Participant Joined webhook:

In cases where the meetingID is based on generated number, It looks to be straightforward to take the meetingID/uuid from GET /meetings/:meetingId and use in /past_meetings/:meetingId

Correct.

In case where the meetingID is based on PMI, whats the key to get the instance uuid from GET /meetings/:meetingId?

You will want to use the unique ID generated for the PMI meeting, discussed in the attached post above.

Let me know if this helps!

Best,
Will

Thanks for the clarification.

When a meeting is created using personal meeting ID, a unique meeting ID is also created as seen in the create meeting response. But I am unable to use this unique meeting ID returned by create meeting response to query /past_meetings once this meeting is completed (at least 2 participants joined). I also tried to use the uuid which is returned from the get meeting call using the unique meeting ID returned by create meeting - but that seems to be a different value to what is in /past_meetings/:meetingId/instances.

Q - how can I get the specific uuid (from create meeting or get meeting response?) or is there any other API which can give me the instance uuid?

Also, we do not use webhooks. So could you let me know Rest API GETs with the meeting ID (unique ID) to get to the /past_meetings/:meetingID as we are looking to get information about participants joined.

Hi @ajay.prabhakaran,

Happy to help.

  1. But I am unable to use this unique meeting ID returned by create meeting response to query /past_meetings once this meeting is completed (at least 2 participants joined).

Can you share the exact request URL you’re using?

  1. how can I get the specific uuid (from create meeting or get meeting response?) or is there any other API which can give me the instance uuid?

You can retrieve meeting UUIDs for past meetings using this endpoint:

  1. could you let me know Rest API GETs with the meeting ID (unique ID) to get to the /past_meetings/:meetingID as we are looking to get information about participants joined.

This should be possible using the original endpoint you were using. Please share the request you’re making in point 1 and I’ll be happy to help debug!

Thanks,
Will

Hi Will,

Thanks for your time and patience.

Sequence of APIs I am using are
a. POST https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate to create a meeting which returns id (unique for PMI based meetings)
b. Run the meeting with at least 2 participants.
c. Invoke GET https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting based on id received in a. to retrieve uuid
d. Invoke GET https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingdetails based on either id received in a. or uuid received in c. (neither work).

As per your suggestion, GET on https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings, is not queryable based on id from a. or uuid from c. Please let me know how can I query this either in request or from response.

Rgds, Ajay

Hi @ajay.prabhakaran,

d. Invoke GET https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingdetails based on either id received in a. or uuid received in c. (neither work).

Can you please share the ID or UUID you’re using that didn’t work?

Thanks,
Will

Hi Will,

Meeting 1 (using PMI) : 99714154854 - https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting works, but https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingdetails doesnt return details
Meeting 2 (not using PMI): 97369206907 https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting works, and https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingdetails return details

Rgds, Ajay

Hi @ajay.prabhakaran,

Thanks for sharing these examples. In taking a look, I can see that Meeting 99714154854 was last used for a meeting in May, and the ID is now expired. This is why it will not be returned by the Past Meeting Details endpoint.

Meeting 97369206907, however, was held recently and is still active.

Let me know if this helps to clarify,
Will

Meeting with ID (99714154854) was created on Jan 12th using PMI.

As mentioned, reproducible steps
a. Create a meeting using PMI (e.g 12345) → returns unique meeting ID (e.g 56785)
b. Start the meeting as host and get 1 participant to join
c. End the meeting
d. https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingdetails cannot be queried by unique meeting ID (e.g 56785). It can be queried by PMI (e.g 12345), but only gives the last instance.

To get a specific instance I need to go to https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings, and this API is not queryable using unique meeting ID (e.g 56785). So I cannot know which instances are for unique meeting ID (e.g 56785).

Let me know if a call for this would help find closure to this issue?

Rgds, Ajay

Hi @ajay.prabhakaran,

To clarify, if a meeting has only 1 participant, it will not be returned by the past meetings endpoint.

If you’d like, I’m happy to hop on a call and cover any questions about this. I will DM you a link to schedule some time.

Thanks!
Will