Personal Connection API 400 Bad Request - Invalid Payload Structure?

Trying to get outbound calls working via the CXone Personal Connection API so we can trigger them from a Lambda function instead of relying on Studio flows for this specific use case. The docs are a bit sparse on the exact JSON structure required for the outbound action.

I’m sending a POST to /api/v2/interaction/outbound (or is it the personal connection specific endpoint? I’m assuming the standard outbound interaction creation works here). The auth token is valid since I can query user profiles just fine.

Here’s the payload I’m sending:

{
 "type": "voice",
 "to": "{"number": "+15550199", "type": "phone"}",
 "from": "{"number": "+15550100", "type": "phone"}",
 "outbound": {
 "campaignId": "my-campaign-id-here",
 "wrapUpCode": "completed"
 }
}

Getting a 400 Bad Request back. The error message is vague: Invalid request body.

I’ve tried changing the to and from fields to simple strings, but that didn’t help. Is the outbound object structure correct? I’m assuming I need to reference a specific campaign ID from CXone, but I’m not sure if I need to include the contact object explicitly or if the to field handles that.

Any chance someone has a working example of the JSON body for a simple outbound call trigger?