Event's API does not expose the tracking_sources for the default access_link; Registration Link | Community
Skip to main content
New Member
April 20, 2026
Question

Event's API does not expose the tracking_sources for the default access_link; Registration Link

  • April 20, 2026
  • 0 replies
  • 2 views

Summary

 

After upgrading from Webinars to Webinar Plus (Zoom Events), we lost critical API functionality for tracking which registration source each registrant came from. The Webinars API exposes tracking sources via a public endpoint, but the Zoom Events API has no equivalent endpoint, it does have tracking source but no way to retrieve these via API

 

Background & Use Case

 

We manage webinars/events for multiple employer groups. Each group has a dedicated landing page on our platform that displays upcoming events with a registration link specific to that group. Our backend dynamically pulls upcoming events and resolves the correct registration link per group so we can:

  1. Display the right link on each group’s page
  2. Track which group a registrant came from
  3. Report registration analytics per group

Our registrant base includes employees, spouses, dependents, and referred clients — they do not all share a company email domain, so Zoom’s built-in “Company” field aggregation does not work for our use case.

 

What works with Webinars (current behavior)

What’s broken/missing with Zoom Events

  1. No public API for tracking sources on Events

The Events default “Registration Link” (access link) supports up to 300 tracking sources configurable in the dashboard, but there is no public API endpoint to retrieve them. The only endpoint that returns this data is a private internal API used by the Zoom Events dashboard:

GET https://events.zoom.us/api/v2/e/events/{eventId}/sources?linkId={linkId}&pageNo=1&pageSize=100

This endpoint returns 401 when called with a Server-to-Server OAuth token or ZAK token — it requires browser session authentication and is not accessible to Zoom Apps.

  1. No registrant-to-access-link mapping

As a workaround, we attempted to use access links as a substitute for tracking sources — creating a named access link per group (e.g., “GroupName Link”). The links work for registration, but:

  • The GET /v2/zoom_events/events/{eventId}/registrants endpoint does not return which access link a registrant used
  • The access_link_id query parameter on the registrants endpoint is ignored (returns all registrants regardless)
  • The ticket detail endpoint (GET /v2/zoom_events/events/{eventId}/tickets/{ticketId}) does not include an access_link_id or source field
  • Multiple group-join access links share the same ticket_type_id, so there is no way to determine which specific link a registrant used

The Zoom Events analytics dashboard also does not appear to display this per-registrant source data, it appears that it still relies on the natural tracking_sources to track each registrant’s source in the Analytics pages and reports, which is fine, but the Event’s tracking sources are not exposed in the API

 

What we’re asking/requesting

 

Any one of the following would resolve this:

  1. Expose tracking sources via the public Events API — equivalent to GET /v2/webinars/{id}/tracking_sources, for the default Registration Link’s tracking sources
  2. Add an access_link_id field to the registrant/ticket response — so we can map each registrant to the access link they registered through
  3. Make the private sources endpoint accessible to Server-to-Server OAuth tokens — events.zoom.us/api/v2/e/events/{eventId}/sources

We upgraded to Webinar Plus specifically to use Zoom Events, and this gap means we have less functionality than we had with standard Webinars. We cannot track registration sources per group, which is core to our platform’s reporting and link management. This affects our ability to serve multiple employer groups from a single event.

 

When we contacted zoom support about this, they replied with this, which sounded like a configuration issue, is this true?

We have confirmed this issue is configuration-related and not within the scope of your account’s Developer Support Plan, as such this case will be closed.

 

I even tried posting all of the above on the devforum.zoom.us site it’s been a few days and my post is still pending.