# Start\_url is different

**URL:** <https://devforum.zoom.us/t/start-url-is-different/85158>\
**Category:** Meetings\
**Created:** [March 22, 2023, 6:43pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158 "2023-03-22T18:43:31Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [March 22, 2023, 6:43pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/1 "2023-03-22T18:43:31Z")

</div>

I created a meeting using createMeeting and cached start\_url and meetingId.  
Now using the same meetingId, when I call getMeeting, the start\_url is different. Trying to understand why that is the case?

Thanks,  
–Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [March 22, 2023, 11:28pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/2 "2023-03-22T23:28:39Z")

</div>

Hi @ram.mummidi ,

Could you share more details such as

- the full create a meeting request (with sensitive information removed)?
- whether the meeting was successfully started or if it is upcoming?

Thanks!

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [March 23, 2023, 1:31am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/4 "2023-03-23T01:31:10Z")

</div>

Here is the meeting request json  
{  
“topic”: “Zoom Create Meeting Test”,  
“start\_time”: “2023-04-02T01:00:00Z”,  
“duration”: 60,  
“schedule\_for”: “\*\*\*\*\*@.autodesk.com”,  
“settings”: {  
“host\_video”: false,  
“participant\_video”: false,  
“registrants\_confirmation\_email”: false,  
“registrants\_email\_notification”: false,  
“mute\_upon\_entry”: true,  
“approval\_type”: 0  
}  
}  
The meeting was upcoming.  
Thanks,  
–Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [March 23, 2023, 4:04pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/5 "2023-03-23T16:04:25Z")

</div>

Hi @ram.mummidi , please private message me the behavior showing the difference in start\_url results and I will try to reproduce.

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [March 23, 2023, 6:45pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/6 "2023-03-23T18:45:39Z")

</div>

How do I send a private message?  
Thank you,  
–Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [March 23, 2023, 7:13pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/7 "2023-03-23T19:13:37Z")

</div>

Just messaged you! You can respond there.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [March 24, 2023, 7:34pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/8 "2023-03-24T19:34:37Z")

</div>

Hi @ram.mummidi ,

Thanks for sending your info over. Responding here just in case it may help someone else. Are you querying GET a Meeting immediately after POST Create a Meeting?

Does any of the following apply to you?

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/b/f/bf6add2223f8675f60c262d1fa7245e1f4b05b3b.png)

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [March 24, 2023, 11:20pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/9 "2023-03-24T23:20:13Z")

</div>

Thank you @gianni.zoom. So this expected behavior. Thank you for confirming.

Have a good weekend,  
–Ram

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [March 25, 2023, 1:40am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/10 "2023-03-25T01:40:30Z")

</div>

Hi @gianni.zoom,

Thinking more about it, I am trying to understand. What does it mean by (after expiry).  
We are creating a meeting and any call of getMeeting for the same meeting, returns a different start\_url from the original createMeeting start\_url. And for every getMeeting call, start\_url keeps changing.  
Is this how the API is designed? If so, why is it so, is what I am trying to understand.

Thanks, --Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [April 1, 2023, 1:28am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/11 "2023-04-01T01:28:10Z")

</div>

Hi @ram.mummidi , when you query GET a Meeting, you are provided with a new start url that is valid for 2 hrs from the time of API call. It is designed this way to always provide a url with the longest expiration time for immediate use.

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [April 19, 2023, 6:18pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/12 "2023-04-19T18:18:12Z")

</div>

Thank you @gianni.zoom.  
I have one follow up question. If we are creating a meeting, let’s say 1 month down the line, the start\_url that is returned is valid only for 2-hours? So but the meeting is 1 month down the line. So, I am trying to understand the documentation? Can you please explain, what that 2-hours means?

Thank you,  
–Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [April 20, 2023, 11:50pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/13 "2023-04-20T23:50:50Z")

</div>

@ram.mummidi the start URL for the host expires within 2 hrs but a new one can be generated when calling GET a Meeting. Alternatively, while the designated host is logged in, they can use the join URL to start the meeting. The join URL never expires.

---

<div class="post-metadata">

**Author:** ![ldnflds](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@ldnflds](https://devforum.zoom.us/u/ldnflds)\
**Post date:** [May 2, 2023, 6:36am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/14 "2023-05-02T06:36:51Z")

</div>

Hi Gianni, I have a similar problem to Ram in that I run an automated system that sets up 80-100 meetings a week across Zoom and Teams. The majority of these are scheduled months in the future. Meeting URLs are sent with the Gcal invite at time of setup.

Can I confirm: you’re asking your clients to add an entire extra workflow around the API to resend invites two hours before each meeting starts?

We try to avoid last-minute changes to invitations. For us, the process is unreliable and fragile, as many of our clients are government bodies with tightly secured Outlook calendar infrastructure that doesn’t always respond correctly to updates.

I can see in the docs that there’s something called a custCreate user that might make it possible to create meeting inivites with a life of 90 days - are they only available to organisations in ISV program?

Thanks for any suggestions. It’s useful at least to know why so many URLs are breaking, even if it’s not good news for us.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [May 8, 2023, 11:59pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/15 "2023-05-08T23:59:25Z")

</div>

Hi @ldnflds ,

Thanks for using Zoom!

> [@ldnflds](#):
>
> Can I confirm: you’re asking your clients to add an entire extra workflow around the API to resend invites two hours before each meeting starts?

I am not asking this, but sharing the functioning workflow to retrieve a valid start\_url with respect to our current API behavior. I understand the challenges of the expiration, particularly for the use case you described. Alternatively, while the designated host is logged in, they can use the join URL to start the meeting as the join URL never expires. Could this work for you?

> [@ldnflds](#):
>
> I can see in the docs that there’s something called a custCreate user that might make it possible to create meeting inivites with a life of 90 days - are they only available to organisations in ISV program?

> [@ldnflds](#):
>
> I can see in the docs that there’s something called a custCreate user that might make it possible to create meeting inivites with a life of 90 days - are they only available to organisations in ISV program?

Yes this is just for ISV accounts.

---

<div class="post-metadata">

**Author:** ![ldnflds](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@ldnflds](https://devforum.zoom.us/u/ldnflds)\
**Post date:** [May 9, 2023, 12:39am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/16 "2023-05-09T00:39:35Z")

</div>

Thanks Gianni,

Appreciate the response. I think I’ve now realised what I’m missing here.

Is this correct:

- Only the host needs the start\_url, and that has a two hour expiry
- Once the meeting is started, the join\_url can be used by anyone, and it does not change

This would much easier for us to deal with, as then we only need to worry about the host having the updated URL, and we have a console they use in which the URL can be updated.

Please let me know if this is the case. Thank you.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [May 9, 2023, 12:46am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/17 "2023-05-09T00:46:52Z")

</div>

Hi @ldnflds ,

> [@ldnflds](#):
>
> Is this correct:
> 
> - Only the host needs the start\_url, and that has a two hour expiry
> - Once the meeting is started, the join\_url can be used by anyone, and it does not change

Yes this is correct 🙂

---

<div class="post-metadata">

**Author:** ![ldnflds](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@ldnflds](https://devforum.zoom.us/u/ldnflds)\
**Post date:** [May 9, 2023, 12:48am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/18 "2023-05-09T00:48:08Z")

</div>

Thank you, that’s very useful

---

<div class="post-metadata">

**Author:** ![ram.mummidi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ram.mummidi/32/46702_2.png) [@ram.mummidi](https://devforum.zoom.us/u/ram.mummidi)\
**Post date:** [June 27, 2023, 3:57am UTC](https://devforum.zoom.us/t/start-url-is-different/85158/19 "2023-06-27T03:57:09Z")

</div>

Hi Gianni,

Hope you are doing well. I have another question, regarding meeting API.  
Is it possible to get a list of attendees, that are currently in meeting , that is in session? I see the there is an API for getting past meeting participants.  
I have a use case, 10-30 minutes into a meeting, we want to get a list of participants, who joined (Not all the registered participants), and send them an email.  
I see the API, to get the list of meeting participants. I am going to try that now, but based on documentation, it says, it returns a list of registered participant… doesn’t say anything about a meeting in session. Please let me, know if there is way to do it.

Thank you,  
–Ram

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [July 7, 2023, 3:12pm UTC](https://devforum.zoom.us/t/start-url-is-different/85158/20 "2023-07-07T15:12:53Z")

</div>

Hi @ram.mummidi ,

Thanks for your patience! I was out of office. You can get current meeting attendees participants via the `GET /metrics/meetings/{meetingId}/participants`[endpoint](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/dashboardMeetingParticipants). Use query parameter `type=live` 🙂
