Register user to webinar via API

Posting solution and clarity for anyone else:

When creating a session or event via API for Zoom Events platform, webinarId or meetingId =/= eventId or sessionId.

Furthermore, you cannot create a a webinar or meeting programmatically for Zoom Events through the Create an Event or Create a Session endpoint, or through the Meeting and Webinars API endpoints to try to assign to a Zoom Event or Sessions instance. Zoom Event and Webinar/Meeting APIs are independent.

When you create a multi event session in ZE you can use this API and this API to get a list of sessions and details for an exact session. Both of these APIs will return the meeting or webinar id which you can then use to call webinar and meeting APIs. Additionally, you can create a single session which you can then set as a meeting or webinar but this will live in ZE and the same rules as above apply.

Please note, however, you cannot do things like use webinar/meeting APIs to perform POST (create) or PATCH (update) operations like add/create registrants/users in Zoom Events.

Regarding visibility of webinar or meeting id in the Zoom web portal and why some can see, but not others as “upcoming” – only Zoom Events Hub owners can see upcoming Zoom Events in their web portals. Members of the hub, despite creating a particular Zoom Event and being a host, will not see these as upcoming in their portals. This is because all the Zoom Events are using the Hub Owner’s license.

To alternatively register users for a Zoom Event programmatically, please do the following:

  1. Get access token ( setup right scopes)
  2. List all events to get the event_id
  3. List tickets types: get /zoom_events/events/{eventId}/ticket_types. As it is a free event, they are just getting one type.
  1. Create a ticket with the email and the ticket type: post /zoom_events/events/{eventId}/tickets

With that, they get the event_join_link.