Python requests OAuth2 Client Credentials 401 on Genesys Cloud

Trying to automate OTel span injection for Data Actions. Need an access token via Client Credentials flow using standard requests in Python. Getting a 401 Unauthorized back from the auth endpoint. The client_id and secret match the integration settings.

import requests
res = requests.post('https://api.mypurecloud.com/oauth/token', data={'grant_type': 'client_credentials'})
print(res.status_code)

What am I missing? The docs say POST is required, but maybe the headers are off?