Problems pulling meeting participants with past_meetings/{uuid}/participants

Description
I’m unable to pull meeting participants when the UUID contains a slash. I’ve tried both encoding and double-encoding the UUID before passing it and I’m not able to get results in either case. I’ve confirmed that the meeting statistics are still available in the dashboard on the website, but I’ve not been able to retrieve them via API.

Error
{
“code”: 3001,
“message”: “Meeting does not exist: XMP/pBuJSWipp2RWQ/cBw==.”
}

Which App Type (OAuth / Chatbot / JWT / Webhook)?
Querying API using powershell and JWT authentication

Which Endpoint/s?
past_meetings/{uuid}/participants

How To Reproduce (If applicable)
See attached screenshot. In the screenshot i first retrieve results for a uuid with no slash to show that the code works correctly. I then try the slash-containing uuid both unencoded, single-encoded, and double-encoded, all with the same results. I’ve also attempted to query the API using the same URIs using the Insomnia REST client to make sure powershell isn’t doing any kind of encoding/decodign in the background and gotten the same results. I also used the tester at https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants and been unable to retrieve results there as well.

Screenshots (If applicable)

Additional context
Add any other context about the problem here.

Hey @garrett,

Thanks for reaching out about this. Double encoding the slashes should typically take care of any issues with the URL itself. Is it possible that this was an instant meeting or that the Meeting ID might have expired by this point in time? If either of these are true, you won’t be able to query it as a past meeting.

Let me know when you have a chance, thanks!
-Will

Hey @will.zoom ,
Unfortunately I lost my session that had that meeting saved in it and I’ve been unable to find it again using the uuid. I also didn’t have enough sense to save any of the information about the meeting besides the uuid so i haven’t been able to re-locate it in the dashboard :roll_eyes:

I do recall though that when i looked on the meeting dashboard it was a recurring meeting and it was only like a week old, so I don’t think either of the two scenarios you mentioned would have applied. Would it still have been visible in the dashboard if it had expired?

Alternate question because there may be a better way to do what I’m trying to do anyway. Is there a way to tell if a user has attended any meetings in a certain timeframe? Our management is looking for usage metrics both for hosting and attending meetings. I’m using the ‘/report/users’ api to look for inactive users to find if they’ve hosted any meetings, but other than pulling all the meetings over a timeframe and checking the participants list i haven’t seen any obvious way to find out if a user has attended any meetings in the last ‘x’ days. It feels like there must be a more elegant and less brute-forcey way to accomplish this.

Hey @garrett,

Ah, I see! I’m wondering if it’s possible that the meeting was deleted, which is why you’re no longer seeing it in your dashboard? If the meeting was in your upcoming meetings a week ago, you’re correct in that this probably was not an instant meeting/expired meeting.

In regards to what you’re ultimately trying to accomplish, have you considered utilizing our Participant Joined webhook to track the Meeting IDs that a user has joined? You’re correct in that we don’t have an endpoint to explicitly call this data, but this webhook could help you to keep track of what meetings a user has attended over the course of time.

Thanks,
Will

Hey Will,
I don’t think it was deleted, i just don’t have the right information to find it. When I used the dashboard before i just searched by meeting ID (not UUID) and looked for the meeting that occurred at the correct time since there were multiple instances as it was a recurring meeting. Since I didn’t have enough sense to save the rest of the information about the meeting I don’t think there’s much more we can do on this unless I find another example.

Appreciate the tip about the webhook, I’ll look into that and see if we can make use of that to get the information we need.

Thanks for the help!

Hey @garrett,

Thanks for clarifying, and please do let me know if you run across this again—I’ll be happy to dig into it.

Best,
Will