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:
Request URL / Headers (without credentials) / Body
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”.
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.
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
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)
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.
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?
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).
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.
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.
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?
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?
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 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.
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.