# Upload virtual background files API returns error 4711 with server-to-server OAuth App

**URL:** <https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582>\
**Category:** API and Webhooks\
**Tags:** api\
**Created:** [January 30, 2026, 4:46am UTC](https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582 "2026-01-30T04:46:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jaron.davis](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jaron.davis/32/73365_2.png) [@jaron.davis](https://devforum.zoom.us/u/jaron.davis)\
**Post date:** [January 30, 2026, 4:46am UTC](https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582/1 "2026-01-30T04:46:56Z")

</div>

**API Endpoint(s) and/or Zoom API Event(s)**

Upload virtual background files​ v2 API

**Description**  
_I am receiving this response when I attempt to upload virtual background files to my account via API’s:_

```json
{
    "code": 4711,
    "message": "Invalid access token, does not contain scopes:[account:write:virtual_background_files:master]."
}

```

However, my access token very clearly confirms the scope is there:

```json
{

    "access_token": " *********",

    "token_type": "bearer",

    "expires_in": 3599,

    "scope": "account:read:settings:admin account:write:virtual_background_files:admin account:delete:virtual_background_files:admin account:write:virtual_background_files:master account:delete:virtual_background_files:master",

    "api_url": " *************"

}

```

**How To Reproduce**  
_I was able to reproduce this simply from postman, but I initially encountered the issue while troubleshooting an app I’m working on and thought I was going crazy._

Is this a known bug? I wasn’t able to find anything digging through these forums.

---

<div class="post-metadata">

**Author:** ![expertswho](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/expertswho/32/60945_2.png) [@expertswho](https://devforum.zoom.us/u/expertswho)\
**Post date:** [January 30, 2026, 9:11am UTC](https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582/2 "2026-01-30T09:11:48Z")

</div>

hi @jaron.davis ,

Welcome to the community.

Can you check this works IRL?

Please go to [Zoom.us](http://Zoom.us), log in as the user and upload a virtual background to check if it is available.  
The virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account you are using

[https://support.zoom.com/hc/en/article?id=zm\_kb&sysparm\_article=KB0060387#h\_2ef28080-fce9-4ac2-b567-dc958afab1b7](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0060387#h_2ef28080-fce9-4ac2-b567-dc958afab1b7)

all the best

John

---

<div class="post-metadata">

**Author:** ![jaron.davis](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jaron.davis/32/73365_2.png) [@jaron.davis](https://devforum.zoom.us/u/jaron.davis)\
**Post date:** [January 30, 2026, 3:46pm UTC](https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582/3 "2026-01-30T15:46:42Z")

</div>

Hi John,  
Thanks for responding. Yes, I have confirmed at the account level that it is enabled and I can manually upload a virtual background.

---

<div class="post-metadata">

**Author:** ![desautelsj](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/desautelsj/32/23584_2.png) [@desautelsj](https://devforum.zoom.us/u/desautelsj)\
**Post date:** [January 31, 2026, 1:19am UTC](https://devforum.zoom.us/t/upload-virtual-background-files-api-returns-error-4711-with-server-to-server-oauth-app/141582/4 "2026-01-31T01:19:57Z")

</div>

@jaron.davis I previously helped two people with what I believe is the exact same problem([here](https://devforum.zoom.us/t/issues-regarding-file-zoom-us/91878) and [here](https://devforum.zoom.us/t/issue-with-downloading-meeting-recording-transcript/135084)). The funny thing is: the second person I helped was named Jaron. It wasn’t you, was it?
