Hi Josh,
Thank you for reaching out to us. I see that you're encountering a User_Permission_Denied error. This means that there's either no link between the manager account and customer account that you're querying or that your OAuth client credentials haven't been given access to the manager account.
If the issue is the former, you can either use ManagedCustomerService via the API or use the UI to create a link between your manager account and customer account. If the issue is the latter, you can check your client credentials access by logging into your manager account in the UI, then go into "Tools and Settings" > "Setup" > "Account Access". Under the "Users" tab, the email associated with your client credentials should be listed. If it is neither of these issues, could you please provide me with your SOAP request and response logs where this issue occurs so that I may further troubleshoot this issue?
Thank you,
Bryan, Google Ads API Team