# Cloud\_recording:delete:recording\_file:master

**URL:** <https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620>\
**Category:** Cloud Recordings\
**Created:** [March 27, 2026, 2:17pm UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620 "2026-03-27T14:17:39Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![idressos](https://avatars.discourse-cdn.com/v4/letter/i/43a26b/32.png) [@idressos](https://devforum.zoom.us/u/idressos)\
**Post date:** [March 27, 2026, 2:17pm UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620/1 "2026-03-27T14:17:39Z")

</div>

Scope `cloud_recording:delete:recording_file:master` does not seem to be available for Server-to-Server OAuth apps. There is however `cloud_recording:delete:recording_file:admin`, which I can’t understand what it does. When calling the API to delete a cloud recording file, even if the `cloud_recording:delete:recording_file:admin` scope is available, the API returns error that the `cloud_recording:delete:recording_file:master` is missing.

---

<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:** [March 30, 2026, 11:21pm UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620/2 "2026-03-30T23:21:25Z")

</div>

Hi @idressos, Zoom’s [Primary (master) account APIs](https://developers.zoom.us/docs/api/ma/) are for a **primary account** , which in practice is the **parent Zoom account that manages one or more separate [subaccounts](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0066764)**. That is different from an **admin** , which is just a **user role inside a single account**. Zoom’s own role model is [owner, administrator, or member](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0060684). So “primary/master” describes an **account relationship** , while “admin” describes a **permission level for a user**. A primary account can have admins, but not every admin belongs to a primary account, and an admin on a regular account does not automatically imply subaccount management.

In Zoom’s [granular scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-granular/), `cloud_recording:delete:recording_file:master` appears to be the scope for a **primary account** , while `cloud_recording:delete:recording_file:admin` appears to be the scope for a **normal account admin**. In practice, a primary account is the parent account in Zoom’s [Primary (master) account APIs](https://developers.zoom.us/docs/api/ma/) model, where one account manages separate subaccounts. An admin is different. That is just a role inside a single account. So the split here is really **parent-account access vs single-account admin access** , not “more admin” vs “less admin.”

The confusing part is that Zoom’s docs do not clearly explain why the regular Meeting API recording-file delete flow would require the master scope instead of the admin scope, rather than the Meeting Master API flow. So the safest conclusion is narrower: the docs support a **master vs admin scope distinction** , but they do **not** fully explain this specific error.

If Zoom returns `cloud_recording:delete:recording_file:master`, that could be caused by the endpoint being used, the account’s primary/subaccount structure, or a Zoom-side issue, and it should be escalated with the exact endpoint, app type, token scopes, and account structure.

If you need a fallback, Recall’s [Meeting Bot API](https://www.recall.ai/product/meeting-bot-api?utm_source=zoom&utm_medium=forum_answer) can handle recording capture and retrieval across meeting platforms.

---

<div class="post-metadata">

**Author:** ![idressos](https://avatars.discourse-cdn.com/v4/letter/i/43a26b/32.png) [@idressos](https://devforum.zoom.us/u/idressos)\
**Post date:** [April 4, 2026, 9:11am UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620/3 "2026-04-04T09:11:10Z")

</div>

My app is of type `Server-to-Server OAuth` and is running on account-level. I think that is the maximum privilege level, I am not aware (and it is not specified in the docs) that there is something else above this.

In the account, my user is an administrator and has all privileges.

Zoom API is returning specifically:

`Invalid access token, does not contain scopes:[cloud_recording:delete:recording_file:master].`

When configuring the app scopes through the Zoom App Marketplace, there is no such scope available. There is only `cloud_recording:delete:recording_file:admin` - and I have granted that scope to the app.

To be honest this straight up just seems like bug.

---

<div class="post-metadata">

**Author:** ![idressos](https://avatars.discourse-cdn.com/v4/letter/i/43a26b/32.png) [@idressos](https://devforum.zoom.us/u/idressos)\
**Post date:** [June 10, 2026, 3:58pm UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620/4 "2026-06-10T15:58:34Z")

</div>

Update Jun-10-2026:

I have found that in order to be able to give the `cloud_recording:delete:recording_file:master` scope to your app, you must literally be account owner. Doesn’t work for admins.

---

<div class="post-metadata">

**Author:** ![idressos](https://avatars.discourse-cdn.com/v4/letter/i/43a26b/32.png) [@idressos](https://devforum.zoom.us/u/idressos)\
**Post date:** [July 11, 2026, 9:19am UTC](https://devforum.zoom.us/t/cloud-recordingrecording-file-master/142620/5 "2026-07-11T09:19:51Z")

</div>

Update Jul-11-2026:

Even though as account owner I am able to give `cloud_recording:delete:recording_file:master` to my app, it doesn’t work. The tokens generated through the API do not contain the scope.

It looks like the mechanisms around this scope are broken in Zoom API.

Someone please advise.
