# Webhooks recording\_completed Event download\_token

**URL:** <https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844>\
**Category:** API and Webhooks\
**Created:** [October 22, 2018, 7:59pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844 "2018-10-22T19:59:04Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aloe\_Engineering](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/aloe_engineering/32/244_2.png) [@Aloe\_Engineering](https://devforum.zoom.us/u/Aloe_Engineering)\
**Post date:** [October 22, 2018, 7:59pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/1 "2018-10-22T19:59:04Z")

</div>

I can’t find an answer in the documentation so I figured I’d ask here.

What is the “download\_token” string in webhook events of type “recording\_completed” used for ?

---

<div class="post-metadata">

**Author:** ![michael\_p.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_p.zoom/32/18105_2.png) [@michael\_p.zoom](https://devforum.zoom.us/u/michael_p.zoom)\
**Post date:** [October 22, 2018, 9:01pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/2 "2018-10-22T21:01:04Z")

</div>

Hi Aloe Engineering,&nbsp;

The download\_token is the token used to download the recording. Without it, you won’t be able to download.&nbsp;

Thanks

---

<div class="post-metadata">

**Author:** ![ryan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ryan/32/37137_2.png) [@ryan](https://devforum.zoom.us/u/ryan)\
**Post date:** [January 9, 2019, 4:49pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/3 "2019-01-09T16:49:48Z")

</div>

Can you provide a bit more detail here?

From what I can tell, if the cloud recording is publicly available then you can just fetch the file using the `download_url` in the payload.

If the cloud recording is not publicly shared, then what are we supposed to do with the `download_token`? My hunch of adding it as a query param to the download url didn’t work.

---

<div class="post-metadata">

**Author:** ![Aloe\_Engineering](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/aloe_engineering/32/244_2.png) [@Aloe\_Engineering](https://devforum.zoom.us/u/Aloe_Engineering)\
**Post date:** [January 30, 2019, 7:12pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/4 "2019-01-30T19:12:35Z")

</div>

Hi Michael,

The v2 REST API endpoint that retrieves cloud recordings does not include the download\_token along w/ the download\_url and play\_url.

How can we access a download\_url that requires a download\_token from the v2 REST API ?

---

<div class="post-metadata">

**Author:** ![michael\_p.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_p.zoom/32/18105_2.png) [@michael\_p.zoom](https://devforum.zoom.us/u/michael_p.zoom)\
**Post date:** [January 31, 2019, 4:38pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/5 "2019-01-31T16:38:11Z")

</div>

Hi @Aloe_Engineering,

Right now it’s best to use our [Marketplace webhooks](https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events) and not our [v2 Webhooks](https://marketplace.zoom.us/docs/api-reference/zoom-api/webhooks/webhook) as they will be deprecated in the near future. There you won’t need to use a download token to access the download\_url.

Thanks

---

<div class="post-metadata">

**Author:** ![michael\_p.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_p.zoom/32/18105_2.png) [@michael\_p.zoom](https://devforum.zoom.us/u/michael_p.zoom)\
**Post date:** [February 1, 2019, 8:02pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/6 "2019-02-01T20:02:40Z")

</div>

Hi Ryan

Yes adding it as a query param works, \<download\_url\>?access\_token=\<download\_token\>.

---

<div class="post-metadata">

**Author:** ![zoom-test](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/zoom-test/32/2531_2.png) [@zoom-test](https://devforum.zoom.us/u/zoom-test)\
**Post date:** [September 23, 2019, 9:14pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/7 "2019-09-23T21:14:22Z")

</div>

Since I don’t see anything added to the docs on the webhooks for the `download_token` I’m asking this here.

When you request a meeting’s recording info through the API, (ex: /v2/meetings/uuid/recordings) you do not get a `download_token` for the recording files. If we then want to download the files where authentication is enforced what do we use then?

Will it work to use the oauth token in the header for the download request for a file? Or do I need to do something else?

---

<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:** [September 23, 2019, 9:45pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/8 "2019-09-23T21:45:47Z")

</div>

Hey @zoom-test,

Here is how to download recordings that are private / password protected:

> [@BUG downloading cloud recordings with access token set results in an invalid response](https://devforum.zoom.us/t/bug-downloading-cloud-recordings-with-access-token-set-results-in-an-invalid-response/4292/25):
>
> @patricio.giacomino, @matt, @ryan As of now to download a private or password protected cloud recording you must use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the download\_url from the [Get Recordings Endpoint](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist) or the download\_url from the [Recording Completed Webhook](https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events/recording-completed) and add the access\_token query param to the end of the url with your JSON Web Token as the value. Example: https://api.zoom.us/recording/download/{{ Download Path }}?access\_token={{ JWT Token }} [19%20PM] The only way to use OAuth to download a …

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![udi](https://avatars.discourse-cdn.com/v4/letter/u/8dc957/32.png) [@udi](https://devforum.zoom.us/u/udi)\
**Post date:** [October 11, 2019, 7:23am UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/9 "2019-10-11T07:23:23Z")

</div>

Can you update doc with it?

> **[Recording Completed - Recording Events - Webhook Reference - API Reference](https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events/recording-completed)**
>
> Recording Completed
> 
> 
> 
> All users with a Pro or a higher plan have access to Cloud Recordings. An account owner or account admin can enable Cloud Record...

---

<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:** [October 11, 2019, 11:22pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/10 "2019-10-11T23:22:31Z")

</div>

Hey @udi,

Yes we will update our docs! 🙂

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 21, 2020, 6:58pm UTC](https://devforum.zoom.us/t/webhooks-recording-completed-event-download-token/1844/11 "2020-08-21T18:58:03Z")

</div>

Closed on August 21, 2020, 6:58pm UTC


