# Downloading cloud recordings forbidden

**URL:** <https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522>\
**Category:** API and Webhooks\
**Created:** [April 12, 2023, 2:46am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522 "2023-04-12T02:46:56Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [April 12, 2023, 2:46am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/1 "2023-04-12T02:46:56Z")

</div>

I’m having issues when trying to download cloud recordings. Sometimes the download works okay, and sometimes I get errorCode 401 or 300 saying the download is forbidden.

I’m using the download\_token from the recording.completed webhook payload and I’m passing it in the HTTP headers as described in the documentation. (I’ve also tried passing it in via the URL `?access\_token=)

I’m using curl and PHP. I’ve also tried just using curl on the command line and I get the same results - some URLs download okay, others fail.

I have one specific example that fails every time, here is the data returned from Zoom:  
{“status”:false,“errorCode”:401,“errorMessage”:“Forbidden”}

Thanks in advance,  
Kevin

---

<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 12, 2023, 6:56pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/2 "2023-04-12T18:56:49Z")

</div>

Hi @rmrkevin , what kind of app are you making requests with? I am going to private message you for additional details as well.

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [April 15, 2023, 2:01am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/4 "2023-04-15T02:01:50Z")

</div>

Hello @gianni.zoom , I just wanted to follow up and see if you received my email with the details you asked for? Thanks.

---

<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 18, 2023, 5:10am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/5 "2023-04-18T05:10:38Z")

</div>

Just followed up with you @rmrkevin ! Sorry, I did not see your notifications.

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [April 30, 2023, 2:25am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/6 "2023-04-30T02:25:54Z")

</div>

Hi @gianni.zoom, I still need your help with this please. Can you keep this ticket open and put it back in your queue?

A little more info …  
The cloud recordings download just fine with JWT tokens, but as you know JWT is being turned off next month. If you change the JWT token to a S2S OAuth token then you get the 401 Forbidden error.

Thanks,  
Kevin

---

<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 1, 2023, 4:23pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/7 "2023-05-01T16:23:54Z")

</div>

Hi @rmrkevin ,

Ahh I see. Can you please confirm the following so we can rule everything out?

[401 error when downloading recording with Server-to-Server OAuth token - #17 by gianni.zoom](https://devforum.zoom.us/t/401-error-when-downloading-recording-with-server-to-server-oauth-token/74351/17)

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [May 1, 2023, 4:36pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/8 "2023-05-01T16:36:46Z")

</div>

Hi @gianni.zoom , thanks for picking up this thread again. I looked in my scope settings and it is checked but greyed-out. I’m attaching a screen shot.

Some additional info, I’m now getting a “300 Forbidden” error.

{“status”:false,“errorCode”:300,“errorMessage”:“Forbidden”}

 ![scope](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/5/f/5f9808249d40fead71aa15280a2ded544fa1c102.png)

---

<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 1, 2023, 7:51pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/9 "2023-05-01T19:51:01Z")

</div>

Thanks @rmrkevin , I need to do some testing on my end and sync internally with teammates. I’ll try to get back to you ASAP.

---

<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 2, 2023, 3:32pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/10 "2023-05-02T15:32:07Z")

</div>

Hi @rmrkevin ,

I can reproduce. I just submitted a bug ticket as high priority (ZSEE-91225). I’ll share progress as it becomes available. Thanks!

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [May 2, 2023, 4:14pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/11 "2023-05-02T16:14:09Z")

</div>

Hi @gianni.zoom ,thanks so much! 👍🏻

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [August 5, 2023, 3:36am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/12 "2023-08-05T03:36:04Z")

</div>

Hi @gianni.zoom … it’s been 3 months with no updates on this issue. Our JWT app will cease working at the end of this month and we will completely lose our entire back office Zoom integration. Please post updates/fixes asap so we can meet the Sept 1st deadline. Thanks!

---

<div class="post-metadata">

**Author:** ![rrosas](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rrosas/32/49333_2.png) [@rrosas](https://devforum.zoom.us/u/rrosas)\
**Post date:** [August 6, 2023, 3:15am UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/13 "2023-08-06T03:15:46Z")

</div>

Greetings from México @rmrkevin!

I’m going thru a similar issue (migrating from JWT to s2s) but in my case when I use the recordings endpoint the response does not include the download\_url parameter (so i can’t download my recordings like I did when using the jwt app). Hope my comment helps draw more attention to your post and also help others in the same situation. 👍

---

<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:** [August 8, 2023, 4:41pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/15 "2023-08-08T16:41:29Z")

</div>

Hi @rmrkevin ,

Apologies! I thought I had responded months ago!

After discussing with the developers, we do not currently support OAuth tokens with the download\_url from the recording webhook although I’ve submitted a feature request for this May 9th (ZSEE-92020).

If you want to download the recording after 24 hours you have to do so via API such as via GET meeting recordings API and use the download URL to download the recording with JWT or Oauth token. It works fine with the meeting API.

---

<div class="post-metadata">

**Author:** ![rmrkevin](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rmrkevin/32/47505_2.png) [@rmrkevin](https://devforum.zoom.us/u/rmrkevin)\
**Post date:** [August 8, 2023, 9:34pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/16 "2023-08-08T21:34:23Z")

</div>

Hi @gianni.zoom ,  
Thanks for the update, but that is super disappointing to hear that the mandated OAuth model will not provide the same functionality as the soon to be obsolete JWT version.  
How would I get updates regarding the status of the feature request ZSEE-92020?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [August 9, 2023, 9:35pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/17 "2023-08-09T21:35:03Z")

</div>

Closed on August 9, 2023, 9:35pm UTC

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

---

<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:** [August 10, 2023, 9:25pm UTC](https://devforum.zoom.us/t/downloading-cloud-recordings-forbidden/86522/18 "2023-08-10T21:25:06Z")

</div>

Hi @rmrkevin ,

Thanks for your feedback! This feature request is on backlog and not actively trackable to the public, but we will release info in our developer announcements.
