# "Approve Registrant" does not return "join\_url"

**URL:** <https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383>\
**Category:** API and Webhooks\
**Created:** [April 29, 2020, 10:12am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383 "2020-04-29T10:12:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [April 29, 2020, 10:12am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/1 "2020-04-29T10:12:09Z")

</div>

## **Description**

I’d like to approve registered participants manually through the API.

For this I’m using the [Update Meeting Registrant Status](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantstatus) API - and setting the action to “approve”.

But once I make this call, I don’t get the “join\_url” returned [with the registrant’s unique code]

And without the “join\_url” - I’m not able to provide the participant the URL to join the meeting.

NOTE: I always create the meeting with “approval\_type” set to “1” and “registration\_type” set to “2” - when calling the [Create a meeting](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate) API

 ![](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/a/a95636ccbbb657a1b13cb8c6bb55b5cb00df019a.png)

## **The workaround we’ve tried**

We’ve tried a workaround for this - which is to automatically approve the registrant (if they’re already authorized by our system). We do this by setting the “approval\_type” to “0” [in the “Create a Meeting” API call]

But we have another issue when we try this method: participants can get access to the meeting URL - can bypass our system completely. To solve this problem, we’re using the “Meeting Registration Created” webhook - and then denying anyone coming in directly through the meeting URL.

But…we have an issue with this as well. The above webhook doesn’t get fired when the meeting URL is accessed from the Zoom mobile apps.

## Summary

In summary, we’re stuck.

I think it would be ideal if you could return the “join\_url” when we approve registrants through the API.

PS: Our app is an OAuth Account Level app.

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [April 29, 2020, 10:14am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/2 "2020-04-29T10:14:37Z")

</div>

We’ve already reported the [“Meeting Registration Created” Webhook-not-getting-fired issue](https://devforum.zoom.us/t/webhook-meeting-registration-created-is-not-fired-when-joined-from-mobile/14592/3).

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 2, 2020, 1:17pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/3 "2020-05-02T13:17:14Z")

</div>

@tommy Can you please take a look at this issue? Thank you!

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 6, 2020, 12:08am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/4 "2020-05-06T00:08:02Z")

</div>

Hey @vaidy,

Are you able to get the join\_url from the [List Meeting Registrants endpoint](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants)?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 6, 2020, 6:04am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/5 "2020-05-06T06:04:30Z")

</div>

Thanks for your response, Tommy.

To answer your question, yes, we are getting the join\_url in list\_registrants.

However that is a workaround that we’re hesitant to use - because we’d need to call it every time a pre-authenticated student tries to join their Zoom class.

As mentioned earlier, our goal is to automatically allow authenticated students on our system into their respective Zoom meetings - whenever they try to join a zoom class.

Since we don’t know which students will want to join which class beforehand, we only add them as meeting\_registrants at the last responsible moment (which is whenever they indicate that they want to join a class).

So, we’d need to call list\_registrants soon after **every** student is registered - and then search for our new student from that list. This is something that we’d like to avoid, since it’s not very efficient.

Is there any chance that you could provide the join\_url in the approve\_registrant response?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 12, 2020, 4:20pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/6 "2020-05-12T16:20:14Z")

</div>

Hey @vaidy,

Gotcha, I have asked our engineers to provide the join\_url in the approve registrants response. I will keep you updated (ZOOM-160331).

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 12, 2020, 4:41pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/7 "2020-05-12T16:41:51Z")

</div>

Thanks Tommy!

Looking forward to seeing this added.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 13, 2020, 5:16pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/8 "2020-05-13T17:16:12Z")

</div>

Hey @vaidy,

After speaking with our engineers, they do not plan on returning the join\_url after approving a registrant.

That being said, **an email is sent** to the registrant with the join\_url after they are approved.

Or if you want to handle the join\_url logic programmatically you will have to use the [List Meeting Registrants endpoint](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants).

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 14, 2020, 12:28am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/9 "2020-05-14T00:28:39Z")

</div>

Oh! That’s a bummer.

Can I ask why they choose not to send it in the Approve response? I’m sure they have a good reason, will help me understand your API design better.

---

<div class="post-metadata">

**Author:** ![herogp](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/herogp/32/12414_2.png) [@herogp](https://devforum.zoom.us/u/herogp)\
**Post date:** [May 15, 2020, 4:32am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/10 "2020-05-15T04:32:27Z")

</div>

Hi, **in Webinars there is a way to get the information of a specific registrant** ([Get a Webinar Registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantget)), **why do not include this feature for Mettings?**

---

<div class="post-metadata">

**Author:** ![pingchp](https://avatars.discourse-cdn.com/v4/letter/p/d07c76/32.png) [@pingchp](https://devforum.zoom.us/u/pingchp)\
**Post date:** [May 15, 2020, 10:03am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/11 "2020-05-15T10:03:12Z")

</div>

I’m agreed with thread starter.

Zoom should have return join\_url when execute [Update Meeting Registrant Status] to approve registrant status.  
Because some developer need to save join\_url in their database to use for send an url via SMS or via their private email server.

Not efficiency to run [List Meeting Registrants] every time when need to fetch join\_url.

Oh! and I have a question.

What if I set to Automatically Approve when register so I can get join\_url from [Add Meeting Registrant] right away then I run [Update Meeting Registrant Status] to change from ‘Approved’ to ‘Pending’ will this work ? If it’s work then I don’t have to run [List Meeting Registrants] anymore. ps. I’m not trying yet.

Thanks !

---

<div class="post-metadata">

**Author:** ![pingchp](https://avatars.discourse-cdn.com/v4/letter/p/d07c76/32.png) [@pingchp](https://devforum.zoom.us/u/pingchp)\
**Post date:** [May 15, 2020, 12:17pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/12 "2020-05-15T12:17:41Z")

</div>

OK, I know how to fix the problem. Just use webhook Meeting Registration Created after add registrant and boom done. I’ve got join\_url 😛

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 15, 2020, 1:25pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/13 "2020-05-15T13:25:15Z")

</div>

@tommy

> [@tommy](#):
>
> After speaking with our engineers, they do not plan on returning the join\_url after approving a registrant.

Since this is a no-go, can you guys fix the [registrant-webhook-not-firing-from-android issue](https://devforum.zoom.us/t/webhook-meeting-registration-created-is-not-fired-when-joined-from-mobile/14592/3)?

If that bug is fixed, we can move forward with a reasonable solution. Otherwise, we’re stuck 😑

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 20, 2020, 5:35pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/14 "2020-05-20T17:35:41Z")

</div>

Hey @pingchp, @herogp,

Yep, that is the best way! Use the Registrant [Created](https://marketplace.zoom.us/docs/api-reference/webhook-reference/meeting-events/meeting-registrant-created) / [Approved](https://marketplace.zoom.us/docs/api-reference/webhook-reference/meeting-events/meeting-registration-approved) webhooks to get single registrant instance.

I will ask engineering to add the join\_url to the [Registrant Approved Webhook](https://marketplace.zoom.us/docs/api-reference/webhook-reference/meeting-events/meeting-registration-approved). (ZOOM-162957)

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 20, 2020, 5:36pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/15 "2020-05-20T17:36:10Z")

</div>

Hey @vaidy,

We will work on fixing the android issue asap.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vaidy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vaidy/32/4311_2.png) [@vaidy](https://devforum.zoom.us/u/vaidy)\
**Post date:** [May 21, 2020, 12:27am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/16 "2020-05-21T00:27:23Z")

</div>

Thanks @tommy

We haven’t tested whether the issue happens in iOS. Can you take care of that as well? Thanks.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [May 26, 2020, 8:41pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/17 "2020-05-26T20:41:29Z")

</div>

Hey @vaidy,

Yes, we will look into it, please stay updated on this thread:

> [@Webhook meeting.registration\_created is not fired when joined from Mobile](https://devforum.zoom.us/t/webhook-meeting-registration-created-is-not-fired-when-joined-from-mobile/14592/9):
>
> Hey @leenasn, @vaidy, Can you please send me a screenshot of this page? Update I found the screenshot in your post above, we are investigating. Thanks, Tommy

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![johnrix](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/johnrix/32/21971_2.png) [@johnrix](https://devforum.zoom.us/u/johnrix)\
**Post date:** [June 2, 2020, 3:18pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/18 "2020-06-02T15:18:30Z")

</div>

I have encountered precisely the same issue as @vaidy today in my own integration work. To date, I have not needed to implement any webhook functionality and having to do so for the sake of this issue, which IMO boils down to an API deficiency, is frustrating and disappointing.

Is it possible to get any more clarity on why the engineering team cannot update the [Update Meeting Registrant Status](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantstatus) API to return the join\_url when approving a registrant? (My best guess would be as it requires changing the HTTP status code of the response from 204 to 200, which might break some integrations.)

Failing that, I like @herogp’s suggestion to replicate the Webinar ‘Get Meeting Registrant’ API over to ordinary meetings (which to be honest, I was mildly surprised was not already present).

The proposed workaround of using the List Meeting Registrants API is the avenue I have had to proceed down before finding this discussion thread, but as already pointed out, it is a poor and heavy-handed workaround.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 8, 2020, 4:29pm UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/19 "2020-06-08T16:29:46Z")

</div>

Hey @johnrix,

> [@johnrix](#):
>
> Is it possible to get any more clarity on why the engineering team cannot update the [Update Meeting Registrant Status](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantstatus) API to return the join\_url when approving a registrant? (My best guess would be as it requires changing the HTTP status code of the response from 204 to 200, which might break some integrations.)

That is one of the reasons. Currently the best way to get the join\_url is the [List Meeting Registrants API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants).

We understand the deficiency here and are working on a solution now with Webhooks, and will look into adding a response body to the [Update Meeting Registrant Status API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantstatus).

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![johnrix](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/johnrix/32/21971_2.png) [@johnrix](https://devforum.zoom.us/u/johnrix)\
**Post date:** [June 16, 2020, 1:17am UTC](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383/20 "2020-06-16T01:17:58Z")

</div>

Thanks @tommy. Will keep an eye out for updates!

[Next page](https://devforum.zoom.us/t/approve-registrant-does-not-return-join-url/15383.md?page=2)
