Unable to fetch launch only polls of a meeting

Our requirement is to show poll percentage in our system admin can suppose set 10 polls in a meeting but in meeting host launch only 5 polls and students can answer the polls. Based on that we are calculating the percentage. currently we are hitting the API “/past_meetings/{meetingId}/polls” to get user wise responses. but the current fix we need the API to show only the polls which host launched during the meeting. There is one API “/meetings/{meetingId}/polls” and in response there is field “status”: “notstart”, and its remains notstart even if host launches the poll. So is it possible to do the thing which I am trying to do? or we need to relie on the total poll added and can’t distinguishes between add and launch.

I’ve run into similar challenges when trying to filter between “added” and “launched” polls. Unfortunately, it seems that Zoom’s API doesn’t directly offer a way to tell which polls were actually launched during a meeting. Here are a few potential workarounds that might help:

  1. Post-meeting Data Processing: Since /past_meetings/{meetingId}/polls returns responses only for polls that were actually launched and answered, you could filter the results based on the presence of user responses. By checking which polls have responses, you can infer that those were the ones launched during the meeting, effectively filtering out any polls that were added but not used.

  2. Poll Status via Meeting Events: If you’re working with Zoom webhooks, the polling.started event could be an option to monitor which polls are launched in real-time. This requires setting up webhook subscriptions, but it could allow you to log each poll’s poll_id when it starts, giving you a list of only the launched polls. This approach can work if you don’t mind recording this data outside of the API itself.

  3. Manual Tracking Based on Results: Another workaround, though somewhat manual, is to programmatically compare poll IDs from /meetings/{meetingId}/polls with those in /past_meetings/{meetingId}/polls. The IDs that match between these two endpoints indicate polls that were actually launched, while unmatched IDs from the /meetings/{meetingId}/polls response represent polls that were added but not launched.

Without a direct API or field to separate “added” from “launched,” relying on responses in the /past_meetings endpoint or tracking launches via webhooks seems to be the most accurate path for now.