{ "code": 300, "message": "The next page token is invalid or expired." }

API Endpoint(s) and/or Zoom API Event(s)
Meeting participants endpoint - Zoom Meeting API

Description
When we make the first call to the meeting participants endpoint, it works fine. When we make the second call using the next_page_token from the first response, we get the error message “The next page token is invalid or expired.”

Error?
{ “code”: 300, “message”: “The next page token is invalid or expired.” }

How To Reproduce

This API call works:
URL: “https://api.zoom.us/v2/report/meetings/{{ double url encoded meeting instance id }}/participants”
Query Parameters: “page_size”: “300”
Headers: N/A

This API call doesn’t work (i.e. the second page of data):
URL: The same URL as the first call
Query Parameters: “next_page_token”: “{{ token from prior call’s response }}”, “page_size”: “300”
Headers: N/A

Specifically, it appears to only be happening when the meeting instance ID has forward slashes in it.

The Zoom documentation says that these UUIDs should be double URL encoded.

** If you provide a meeting UUID that begins with a / character or contains the // characters, you must double encode the meeting UUID before making an API request.*

That works for the first request, but on the second request the next_page_token is throwing the errors above.

Any updates on this issue?

Hey @ethanaaron ,

I assume that you are also double encoding the UUID on the second request correct?

Correct, we’re double encoding the UUID for both requests. The request URLs are identical, the query parameters are the only difference.

@ethanaaron

In your subsequent request, it’s within 15 minutes of the initial one correct? I’m not really sure why this would be happening.

When you make the request, do you see that the headers are indeed all there, and that the query params are being passed to the request.

This endpoint doesn’t have many parameters so I’m not really sure what could be happening here other than perhaps the query string is empty for some reason.

The subsequent request is within ~ 1 minute of the initial request.

The query parameters and headers are included in the requests.

Is there someone I can speak with to troubleshoot this? Would love to get this resolved quickly.