Unable to paginate using next_page_token when calling /report/webinars/{webinarId}/participants

I am connecting to /report/webinars/{webinarId}/participants to retrieve a participant report.

the total_records is 3, so when I retrieve it with a page_size >= 3, all is fine.

However if I change the page_size < 3, e.g. if I send to:

/report/webinars/{webinarId}/participants?page_size=2

Then I get 2 results back with a next_page_token.

If I then make a request to :
/report/webinars/{webinarId}/participants?page_size=2&next_page_token={next_page_token}

I get the same 1st 2 results again. I tried omitting the page_size in case that is the issue:

/report/webinars/{webinarId}/participants?next_page_token={next_page_token}

But that returns error code 300 (The next page token is invalid or expired).

I am using a JWT to access, if it matters.

Hey @nelson, thanks for reaching out and using Zoom!

Correct, when you do not include the page_size with the next_page_token you get a The next page token is invalid or expired error. You must use both when paginating.

As for your issue of getting the 1st 2 results again when using the next_page_token, I was unable to reproduce this issue. Pagination worked as intended when I tried.

Are you passing in the webinarId or the webinarUUID?

Thanks,
Tommy

I am passing the webinarId (not the webinarUUID). I am still having this issue. Is there a minimum page_size that pagination will work at? Are you using JWT? And does it matter if I regenerate a new JWT for each request?

Hey @nelson,

Yes I am using JWT, and I just tested generating a new JWT for each request and that all works as expected.

What is the webinarId so I can take a closer look?

Thanks,
Tommy

The webinar ID is 847-288-134

Thanks @nelson,

Were the participants users on your Zoom account, or external participants?

One of them was an internal user, but the other one was an external one.

Thanks, still can’t reproduce.

Can you send me your request url for each page, and the corresponding responses?

Thanks,
Tommy

Thanks for the help. I managed to figure it out. The problem was with the separator in the query string. Due to some historical reason, my code was generating:

https://api.zoom.us/v2/report/webinars/847288134/participants?page_size=1&amp;next_page_token=xxxxxxxxxx

instead of the correct

https://api.zoom.us/v2/report/webinars/847288134/participants?page_size=1&next_page_token=xxxxxxxxxx

Happy to help @nelson!

Glad the issue was resolved :slight_smile:

Thanks,
Tommy