implementing an automated outbound dialer workflow using the CXone Personal Connection API. The objective is to initiate a call from a specific user’s personal device to an external number via a REST endpoint, bypassing the standard studio flow for this specific use case.
The endpoint documentation suggests that a POST request to /api/v2.0/connections/outbound should suffice, provided the correct headers and payload are included. We have verified that the OAuth token used for authentication is valid and has the necessary permissions for the connections scope.
Here is the structure of the request body we are sending:
{
"callerId": "+4930123456",
"callee": "+491761234567",
"user": {
"id": "abc-123-def-456"
}
}
The HTTP response we are receiving is a 400 Bad Request. The error message in the response body is quite generic:
{
"code": 400,
"message": "Invalid request payload",
"details": "One or more fields are missing or malformed."
}
We have cross-referenced the field names with the latest API documentation, and they appear to be correct. The callerId is a valid number associated with the tenant, and the user.id corresponds to an active agent in the system. We have also tried including the connectionType field set to personal, but the result remains the same.
It is possible that there is a specific format requirement for the phone numbers that is not explicitly stated in the documentation. We have attempted E.164 format without the leading plus sign, as well as with it, but neither variation has resolved the issue.
The environment is set to the EU region, and the API calls are being made from a Python script running on an internal server. We are using the requests library to handle the HTTP calls. The headers include Content-Type: application/json and Authorization: Bearer <token>.
We have also checked the audit logs for the user account, but there is no record of the failed request, which suggests the request is failing at the validation layer before it is processed by the connection service.
Is there a known issue with the Personal Connection API regarding payload validation? Are there any additional fields required for the outbound call trigger that are not documented?
We are currently stuck on this step and would appreciate any insights into what might be causing the validation failure.