{
“name”: “BPO_Tenant_Access_Client”,
“clientId”: “xK9mP2vL4nQ8rT1wY6”,
“clientSecret”: “secret_hidden”,
“grants”: [“client_credentials”],
“scopes”: [“analytics:read”, “routing:write”],
“divisionIds”: [“div_east_coast_ops”, “div_west_coast_ops”]
}
PUT /api/v2/oauth/clients/xK9mP2vL4nQ8rT1wY6
Response is a straight 400 with message “divisionIds is not a valid property”. Tried swapping it to a single divisionId string, got 403 on the token endpoint. The docs say you can restrict a client to a subset of divisions for BPO handoffs but the payload keeps rejecting the array.
We’ve got three different BPOs sharing the same org instance and each one needs isolated access to their own queue metrics. Client credentials flow is the only thing that’ll work for the backend scheduler. Every time the service account hits /api/v2/oauth/token with grant_type set to client_credentials, it pulls back a token that still sees everything across all divisions.
The routing settings are already locked down by division, but the OAuth layer is wide open. Tried adding a custom attribute to the client config, platform ignores it. Just want the token to respect the division boundaries without writing a middleware filter to strip out unauthorized queue data on every API call.
curl -X POST “https://api.mypurecloud.com/api/v2/oauth/token”
-H “Content-Type: application/x-www-form-urlencoded”
-d “grant_type=client_credentials&client_id=xK9mP2vL4nQ8rT1wY6&client_secret=…”
Anyone got the exact JSON structure that actually sticks on the update endpoint? The swagger spec doesn’t list division scoping under the OAuth client model at all. Keeps feeling like I’m hitting a wall with the client credentials flow.