CXone Personal Connection API 400 Bad Request: Invalid phone number format?

I’m trying to trigger an outbound call from our internal scheduling tool using the CXone Personal Connection API. The goal is to let agents schedule follow-up calls that ring their softphone directly, bypassing the standard queue routing for now.

I’ve got the OAuth token generation working fine via the client credentials flow. The issue is hitting the POST endpoint. I keep getting a 400 Bad Request with a vague error message about invalid parameters. I’ve double-checked the docs and the payload structure looks right, but something is off.

Here’s the code I’m using in Python:

import requests

headers = {
 'Authorization': f'Bearer {access_token}',
 'Content-Type': 'application/json'
}

payload = {
 "to": "+61298765432", 
 "from": "+61212345678",
 "connectionType": "PSTN",
 "callRecording": False
}

response = requests.post(
 'https://api.nicecxone.com/v2/pcc/outbound-calls',
 headers=headers,
 json=payload
)
print(response.status_code)
print(response.json())

The error response is just:
{"message": "Invalid request parameters", "errorCode": "VALIDATION_ERROR"}

I’ve tried:

  • Removing the country code from the to field.
  • Adding the callId parameter (though it’s supposed to be optional for creation).
  • Checking the connectionType enum values in the Swagger spec.
  • Verifying the from number is actually a valid DID in the account.

The to number is a valid mobile number in Sydney. The from number is a verified DID. I don’t see any specific field validation errors in the response body, just the generic message.

Is there a hidden requirement for the to number format? Or is the endpoint path wrong? I noticed some older docs reference /v2/pcc/calls instead of /v2/pcc/outbound-calls. I tried both and got 404 on the former.

Any ideas what I’m missing here?