IMPORTANT notice about reporting endpoints and participant identifiers in the Meeting API

Earlier this week, there was a change to the Meeting API that affected the responses from the Dashboard and Reporting endpoints. We have compiled a list of questions that will hopefully give everyone a sense of how this change will affect them and what to expect going forward.

Read the original announcement about the Dashboard and Reporting changes.

What gives?! Why was there no notice on this change?

The nature of this change didn’t trigger Zoom’s regular change protocols, but as we can see, this has had an unexpected impact on our customers. We apologize for the inconvenience and disruption.

What can I, as a developer, expect from now on?

After hearing feedback from you, we have rolled back some of the changes. Developers will be able to access the registrant_id value again. The id and participant_user_id fields will be null for meeting guests (but not the host).

I have application logic that depends on the participant_user_id or id. What field should I use instead?

You should key your logic off of the registrant_id value. This value will be filled in independent of whether the guest is a member of the app’s Zoom account or not. If this doesn’t fulfill your needs, please take a look at the email display rules to get a better understanding of what is available for your use-case.

How will this impact webhooks?

Right now, webhook responses will contain id and participant_user_id but this behavior will be turned off by the end of March 2023. We recommend keying any logic off of the registrant_id value, which is available in the webhook response.

1 Like

Hi,
How can we use the Get a webinar registrant API command without having the registrantId?

https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/webinarRegistrantGet

GET /webinars/{webinarId}/registrants/{registrantId}

1 Like

Hi,
How can we use the Get a webinar registrant API command without having the registrantId?

https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/webinarRegistrantGet

GET /webinars/{webinarId}/registrants/{registrantId}

???

I asked your support several times, and no one had an answer. What do I do now that you have disabled this option? How can I get the reports after the meeting?

We are having the same issue!

You will still have access to the registrant_id in the API responses from these endpoints

  • GET /v2/metrics/meetings/{meetingId}/participants
  • GET /v2/metrics/meetings/{meetingId}/participants/qos
  • GET /v2/metrics/meetings/{meetingId}/participants/{participantId}/qos
  • GET /v2/metrics/meetings/{meetingId}/participants/sharing
  • GET /v2/metrics/meetings/{meetingId}/participants/qos_summary
  • GET /v2/metrics/webinars/{webinarId}/participants
  • GET /v2/metrics/webinars/{webinarId}/participants/qos
  • GET /v2/metrics/webinars/{webinarId}/participants/{participantId}/qos
  • GET /v2/metrics/webinars/{webinarId}/participants/sharing
  • GET /v2/metrics/webinars/{webinarId}/participants/qos_summary
  • GET /v2/report/meetings/{meetingId}/participants
  • GET /v2/past_meetings/{meetingId}/participants

Hello,
If I how can I get the participant data without have the id?
https://api.zoom.us/v2/webinars/{WEBINAR_ID}/registrants/{registrant_key}

I use to get the registrants id from:
https://api.zoom.us/v2/report/webinars/{webinar_id}/participants
But now the id comes out NULL.

Please help ASAP!

GET /v2/metrics/webinars/{webinarId}/participants seems to want a meeting id, when I give it a webinar Id I get this error
$code
[1] 3001

$message
[1] “Meeting does not exist: 95805672752.”

You will still have access to the registrant_id in the API responses from these endpoints

  • GET /v2/metrics/meetings/{meetingId}/participants
  • GET /v2/metrics/meetings/{meetingId}/participants/qos
  • GET /v2/metrics/meetings/{meetingId}/participants/{participantId}/qos
  • GET /v2/metrics/meetings/{meetingId}/participants/sharing
  • GET /v2/metrics/meetings/{meetingId}/participants/qos_summary
  • GET /v2/metrics/webinars/{webinarId}/participants
  • GET /v2/metrics/webinars/{webinarId}/participants/qos
  • GET /v2/metrics/webinars/{webinarId}/participants/{participantId}/qos
  • GET /v2/metrics/webinars/{webinarId}/participants/sharing
  • GET /v2/metrics/webinars/{webinarId}/participants/qos_summary
  • GET /v2/report/meetings/{meetingId}/participants
  • GET /v2/past_meetings/{meetingId}/participants

I’ll check with engineers about this.

1 Like

What about /report/webinars/{webinarId}/participants

This endpoint is not listed in the “Affected endpoints:” list

participant ID has been blanked for external users and that is affected our sync/integration

The participant ID will not be filled in for external users from here on out. It will be better to use the registrant_id value instead.

Hi @shariq.torres
I’m talking about GET /report/webinars/{webinarId}/participants

I use this API call to get the webinar participants and then with the registrantId I got back from this API call I do another API call - this time GET /webinars/{webinarId}/registrants/{registrantId} in order to get the details on a specific user who has registered for the Webinar/

But now since you removed the registrantId from the GET /report/webinars/{webinarId}/participants API response - how can I do the GET /webinars/{webinarId}/registrants/{registrantId} call?

Regards,
Ram

I checked with the engineers to make sure that something else didn’t break while they were making the change to this endpoint, and they confirmed that the endpoint should still be taking webinar IDs. Can you confirm that this was a webinar ID?

Yes it is a webinar Id.
I noted this issue on the forum last fall: How much history can be accessed via the API - #7 by ChrisU

I originally was trying the metrics endpoint when I started setting things up for my org, because zoom said it would allow me to go back more than 90 days (the docs said we could go back 6 months).

Looking for answers as well :pray:

Zoom Developers.

Make sure that the History is preserved for a minimum of 12 months for regulatory compliance. The state agency that I do work for requires infrastructure service providers, i.e., Zoom to provide a minimum of 12 months auditable history records from the reporting applications, including those built from API services.

If this does not happen, then we may be forced to switch to another infrastructure provider such as Microsoft Teams or Google Meets to remain in compliance.

Richard

Still waiting for a response on this. Nothing has been fixed, but the api results just changed again, returning another column, which broke my code.

@shariq.torres I wanted to confirm that the documentation for the /metrics/meetings/{meetingId}/participants endpoint is incorrect about the following information:

Provide registrant_id as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a meeting registrant. This is not supported for live meeting types.

From my understanding, registrant_id is included in the response for all participants, including for live meetings, regardless of whether is explicitly requested. Is this correct? In other words, can we rely on registrant_id to continue to be returned in the response for all meetings, live and past?

1 Like