Getting 403 Forbidden when listing OAuth clients via API for WFM scope audit

I’m trying to write a quick script to audit our OAuth clients because we need to make sure our WFM integration tokens have the right scopes. I thought it would be straightforward to just list all the clients and check the permissions, but I’m hitting a wall with authentication.

I’m using the Python SDK and trying to call the oauth_api.get_oauth_clients() method. Here’s the snippet I’m working with:

from genesyscloud import oauth_api
from genesyscloud.oauth.client import OAuthClient

api_instance = oauth_api.OAuthApi(configuration)
try:
 result = api_instance.get_oauth_clients()
 for client in result.entities:
 print(client.name, client.scopes)
except Exception as e:
 print("Exception when calling OAuthApi->get_oauth_clients: %s\n" % e)

The error I’m getting is pretty clear but unhelpful:

Exception when calling OAuthApi->get_oauth_clients: (403) Reason: Forbidden HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json; charset=utf-8'})

I’ve checked the token I’m using. It’s got admin:oauth_client:read and admin:oauth_client:write. I even tried adding admin:organization:read just in case, but no luck. The documentation mentions something about requiring specific org-level permissions, but it’s not clear which ones.

Is there a specific scope I’m missing? Or is the Python SDK endpoint different from what the docs say? I just need to pull this list so I can verify the WFM adherence flags are being applied correctly to the right clients. I’ve been staring at this for two hours and it’s driving me crazy.