Zoom Phone - Assets Library

I am unable to upload an audio file to the personal library of a regular user via REST api. If I try to upload to my admin user personal library it works, but I cant upload to any other user.

I’m trying to migrate our greetings from our old Avaya system to Zoom and we have hundreds of greetings to upload so I wanted to do it via API and also assign them to the user which all works fine but ONLY for my admin account…

My Server to server app has phone:write:admin scope and my code uploads fine but not to any other account but my personal account.

I’m getting bad request ONLY when I change the user id to another user. If the user didnt exist the endpoint would return “Not found” rather than “Bad Request”. Any information??

Hi @ctc.aaron
Thanks for reaching out to us!
Could you please share with me the endpoint you are calling and a request body sample that you are using please so I can try and replicate this issue on my end?

I omitted the audio file’s base64 encoded string because its a 36 second greeting exclusive to our company. I have tested this audio file and my code which works flawless only when I upload to my personal user account ( which is what i’m signed into on web and is also an admin ) but I am NOT passing the “me” parameter so in theory that shouldn’t matter…

Server to Server OAuth application
Method: POST
Endpoint: phone/users/{userId}/audios/batch
Scopes: phone:write:admin
Payload: { "attachments": [ { "name": "Test", "audio_type": "audio/mpeg", "base64_encoding": "<ASCII BASE64 CONVERTED AUDIO FILE>" } ] }

Expected result: {"audios":[{"name":"Test.mp3","audio_id":"<AUDIOID>"}]}
Actual Result: “Bad Request”

There has to be a way for an admin to automate uploading greetings directly into users personal libraries. We’re migrating into Zoom and i’m trying to make the process as seamless as possible for our users. Please help me haha

Any update? I noticed that there is a page that involves permissions and adding the “app” to user accounts ( which in theory shouldn’t matter for a server to server oauth app with admin write scope ) and tried auto approving for all users and still not able to upload on behalf of my users.

Seems like such an oversight considering the app is created by an admin with admin permissions. I should be able to control anything of my users if I want. Why have such a restriction?

Hi @ctc.aaron
Thanks for your patience here.
I was able to do some testing on my end and also replicated this behavior on my end.
It looks like this is the expected behavior, we do not support adding/getting other people’s audio, not even when using a Server to Server Oauth app that is indeed an admin-level app.

This endpoint can only get/post audio for the person who created the token.

Why is that? Zooms API design choices are so stupid sometimes. I’m an admin, running an admin level app, why can I not control my users in full? I can block numbers, delete voicemails, but can’t upload greetings for our users? Makes zero sense.

How can I onboard all our users greetings from another phone system?

Seems like just a Zoom Phone oversight as a whole not just the API. This is ridiculous. Trying to reach out to my account manager about it.

Hi @ctc.aaron
I understand that if you are the admin, you would want to control users in full, unfortunately, for this endpoint, that is the expected behavior.
I will go ahead and make a feature request on your behalf about this.

I discovered that it also applies to the entirety of the phone system management. You literally cant even manage users greetings properly from the regular admin web portal. It doesn’t seem like Zoom understands the meaning of an organization administrator to be quite frank.

Also, if this a design choice by the team, why does it show you can pass a userid? Why would the API not be restricted to user level by only accepting the “me” parameter? That really doesn’t make sense?

Also, is the feature request you submitted on my behalf an internal only thing? I was hoping I could get a link to that or reference id to that feature request that I can pass along to our “Zoom Customer Success Manager” in hopes of expediting something even though I honestly doubt it at this point considering we have yet to hear anything regarding SAML limitations which would be an even bigger priority in my opinion.

Hi @ctc.aaron
I totally understand how this can impact your application and the way you manage users.

I will go ahead and reach out to the Documentation team to fix this and will look further into this.
The feature request is internal yes, but I will keep you updated and will also work closely with the Phone team on this matter

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