Retrieve Phone Recording file_url or download_url in User-Managed App without Admin privileges

Hello :wave: ,

We are building an integration, that allows users to analyze their own Zoom Phone calls. We have a working Admin-Managed app, but for security and ease of adoption, we are moving to a User-Managed (OAuth) model to follow the principle of least privilege.

The Issue: To import the call, we need the download_url or file_url for the phone call recording. We are currently trying to use: GET /phone/call_logs/{id}/recordings

Even when the authenticated user is the one who made the call/recording, this endpoint returns a 400 (Error 105): “Authenticated user has not permitted access to the targeted resource,” unless the user has Account Owner or Admin privileges.

We noticed that checking the box “Allow this app to use my shared access permissions” during the OAuth flow can bypass this, but that option isn’t available or intuitive for standard “Member” level users.

Our Questions:

  1. Is there a user-level endpoint (similar to /meetings/{id}/recordings) that allows a non-admin user to retrieve the download_url or file_url for their own personal phone recordings?

  2. If not, what is the recommended workflow for a User-Managed app to download a recording file without requiring the user to be a Super Admin or manually configuring “Shared Access Permissions”?

Thank you

Hello @dev39 ,

I do remember that some phone api’s had a different interpretation of how they could secure the data, and you may be falling into this problem.

@elisa.zoom ,

Is this the problem with some user phone data being user restricted and some other being admin restircted?
Did we get a reponse from engineering?

John

Hey @dev39 ! thanks for tagging me here @expertswho
Looking into this! will come back with an update soon

Hi @dev39
Thanks for your patience here.
After doing some research and testing on my end, I confirmed what you are seeing and also confirmed this is all expected behavior

We do not have an additional endpoint to retrieve the download url or file url other than the one you have been using.

The only workaround is manually configuring “Shared access permissions”