Session Handover Failing with 403 in CXone Studio when passing Cognigy Context

Hey everyone,

I’m hitting a wall trying to hand off a session from a NICE Cognigy voicebot to a CXone Studio script. The bot handles the initial intake, but when it tries to transfer control to the agent via the Studio handover endpoint, the connection drops immediately. The user hears a disconnect tone, and the session never makes it to the queue.

We’re running on the US-West platform. I’ve got the Studio script configured to listen for the handover, and the Cognigy side is using the CXone integration node to push the context. The issue seems to be in how the session token is being passed or validated during the switch.

Here’s the JSON payload I’m sending from the Cognigy webhook to the CXone API:

{
 "sessionId": "sess_12345abc",
 "userId": "usr_9876xyz",
 "contextData": {
 "intent": "billing_inquiry",
 "priority": "high"
 },
 "authToken": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

The response from CXone is a straight 403 Forbidden:

{
 "errorCode": "unauthorized",
 "message": "Invalid session token or expired credentials"
}

I’ve double-checked the API credentials in the CXone application settings, and they’re valid. The token itself isn’t expired if I paste it into the Swagger UI. I suspect the handover logic in Studio might be stripping the auth header or expecting a different format for the sessionId mapping.

Has anyone else dealt with this specific handover failure between Cognigy and Studio? I’m wondering if I need to use a specific REST proxy assignment in Studio to validate the token before the handover completes, or if there’s a known bug with the context payload size.