# Host cannot join meeting with registration enabled

**URL:** <https://devforum.zoom.us/t/host-cannot-join-meeting-with-registration-enabled/145497>\
**Category:** Meetings\
**Created:** [August 12, 2026, 2:27am UTC](https://devforum.zoom.us/t/host-cannot-join-meeting-with-registration-enabled/145497 "2026-08-12T02:27:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Evita](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/evita/32/59719_2.png) [@Evita](https://devforum.zoom.us/u/Evita)\
**Post date:** [August 12, 2026, 2:27am UTC](https://devforum.zoom.us/t/host-cannot-join-meeting-with-registration-enabled/145497/1 "2026-08-12T02:27:32Z")

</div>

### Format Your New Topic as Follows:

**API Endpoint(s) and/or Zoom API Event(s)**

[https://api.zoom.us/v2/meetings/${meetingNumber}/registrants](https://api.zoom.us/v2/meetings/$%7BmeetingNumber%7D/registrants)

**Description**  
I’m developing an app from which a user (authenticated via OAuth) can join a meeting (not webinar ATM), but not start it. As long as the meeting not require registration, all is fine as long as the role=0 (with role=1, the join fails silently and the meeting status changes from 1 to 3). I can live with role=0 (and assign cohost permission manually), but unfortunately, there doesn’t seem to be a way to programmatically join a meeting as host when registration is required, as role=0 requires a valid registration, but hosts can’t register (error 3027). Is there still a way for the host to bypass the requirement and join nonetheless, ideally one that doesn’t involve using a random email address to register under as a regular participant? E.g. somehow parsing the “start\_url” (which authenticates the host and joins the proper meeting automatically when pasted in a browser, but which doesn’t help in my case of constructing a meeting URL)?

**Error?**  
_No explicit error, but join process is stuck on meetingStatus = 1 if role=0, or skips from meetingStatus = 1 to 3 if role=1._

**How To Reproduce:**

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [August 12, 2026, 4:02pm UTC](https://devforum.zoom.us/t/host-cannot-join-meeting-with-registration-enabled/145497/2 "2026-08-12T16:02:39Z")

</div>

Yes. The host can bypass participant registration, but the supported path is to join **as the host** , not as a role `0` participant. Zoom’s Meeting SDK uses a [role `1` signature plus the host’s ZAK token](https://developers.zoom.us/docs/meeting-sdk/web/client-view/meetings-webinars/) to start the meeting as that Zoom user. Registration tokens are for the participant join path.

So you should not register the host under another email or try to extract a registration token from `start_url`. Retrieve the host’s ZAK using the [Get User Token flow](https://developers.zoom.us/docs/isv/workflows/start-meeting/), generate the Meeting SDK signature with role `1`, then pass that ZAK when joining through the SDK. Zoom explicitly documents this as the programmatic equivalent of giving the host their `start_url`.

The important distinction is that this **starts/hosts** the meeting. Zoom does not document a separate way for the meeting’s host to enter a registration-required meeting as a role `0` participant while bypassing registration. If role `1` is currently dropping from meeting status 1 to 3, verify that the ZAK belongs to the actual host and is being supplied through the [host authorization flow](https://developers.zoom.us/docs/meeting-sdk/auth/).

Recall.ai’s [Meeting Bot API](https://www.recall.ai/product/meeting-bot-api?utm_source=zoom&utm_medium=forum_answer) can handle the meeting-platform integration layer.

---

<div class="post-metadata">

**Author:** ![Evita](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/evita/32/59719_2.png) [@Evita](https://devforum.zoom.us/u/Evita)\
**Post date:** [August 13, 2026, 12:00am UTC](https://devforum.zoom.us/t/host-cannot-join-meeting-with-registration-enabled/145497/4 "2026-08-13T00:00:35Z")

</div>

Hi Amanda,

Thank you so much for your input.

Yes, I agree that that would be the logical consequence, but I cannot even _start_ a meeting with role:1. My app is not designed to do that, but even when removing all the roadblocks, I still get the failure of meetingStatus 1-\>3. I have also tried starting a brand-new meeting without registration and added the scope user:read:token (although I have previously only seen this when using OBF tokens, which I don’t use at all). The only time the join succeeds under role=1 is when I under my own developer login and attempt to join my own meeting. It doesn’t work for any other beta-testers attempting to join/start a meeting.

Any idea what other issues there might be that I’m missing?

Thanks again and best regards,

Evita
