I’m trying to get a bearer token for our custom digital channel integration using the client_credentials grant type. The goal is to have a backend service poll the CXone API without user context.
Here is the raw cURL command I’m running:
curl -X POST https://platform.dev01.nice-incontact.com/oauth/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET'
The response is consistently a 401 Unauthorized. The JSON body just says "error": "invalid_client".
I’ve triple-checked the credentials. They work fine for authorization_code flows in the browser. I even regenerated the secret just to be sure. The app has the admin scope assigned in the developer portal.
Is there a specific setting I’m missing on the application profile to allow this grant type? Or am I hitting a different endpoint than I should be for the Mexico region?
Here’s the exact error payload:
{
"error": "invalid_client",
"error_description": "Client authentication failed"
}
Nothing in the logs on our side shows a network timeout. It’s an immediate auth rejection. What am I missing here?