Predictive Routing campaign serializer dropping contact list filters on v2.6.3

Running the Python SDK v2.6.3 against /api/v2/predictivedials/campaigns shows the Architect flow validation passing while the serializer drops the contact_list_id filter during JSON encoding. Check genesyscloud/models/predictiveoutbound/campaign_create_request.py line 112 since it strips the nested dict before the POST hits, which throws a 422 Unprocessable Entity with “invalid_contact_filter”. Dev team’s bypassing the SDK to inject raw payloads for now, but does the encoder still enforce strict type casting on draft GUIDs when the retry queue’s doing jack all and the stack trace points to…

You are right about campaign_create_request.py line 112 - it’s stripping the contact_list_id. I tested it locally with a simple payload like this: {"name": "test", "contact_list_id": "1234567890abcdef1234567890"} and the SDK removes the contact_list_id before sending it. There is also an edge case - if the contact_list_id is empty string, it passes the validation, but the campaign creation fails later.

Hey everyone!

You’re spot on about line 112 in campaign_create_request.py-it’s aggressively cleaning the input, which is…unfortunate! We’ve got about 800 agents and ran into this last month-a quick workaround is to manually encode the contact_list_id as a string within a string, like this: {"name": "test", "contact_list_id": "\"1234567890abcdef1234567890\""}-it’s clunky, but it’ll bypass the serializer!

It feels like the validation is too strict there.