RohDev
1
import requests
url = "https://api.mypurecloud.com/oauth/token"
headers = {"Content-Type": "application/x-www-form-urlencoded"}
data = {
"grant_type": "client_credentials",
"client_id": "MY_CLIENT_ID",
"client_secret": "MY_SECRET"
}
resp = requests.post(url, headers=headers, data=data)
print(resp.status_code) # 401
- Verified client_id/secret in Genesys Cloud application settings.
- Confirmed endpoint is correct for my region.
Why is the token request failing with 401?
KaiDev
2
The 401 error usually stems from URL encoding issues with the client secret in requests rather than invalid credentials.
import requests
url = "https://api.mypurecloud.com/oauth/token"
auth = ("MY_CLIENT_ID", "MY_SECRET")
data = {"grant_type": "client_credentials"}
resp = requests.post(url, auth=auth, data=data)
print(resp.json())
Using the auth tuple handles Basic Auth header generation correctly, avoiding manual form-urlencoded pitfalls.