Thank you. I have notified the engineering team in charge of these endpoints and shared your ticket number. It is in their hands now.
Original Message:
Sent: 11-18-2025 09:06
From: Zsolt Belicza
Subject: Conflict between platform SDK and API
Hi, the case number is Case #0003913812. let me know if you need anything else. it should be a relatively easy thing to fix.
thanks,
Zsolt
------------------------------
Zsolt Belicza
Uc, Cc Architect
Original Message:
Sent: 11-18-2025 06:56
From: Jerome Saint-Marc
Subject: Conflict between platform SDK and API
Hello,
That appears to be a problem in the API Endpoint contract (mismatch with the response returned from the Platform API Server).
The SDKs are automatically generated out of the Platform API's OpenAPI v2.0 (swagger) definition.
The ContractDefinition model has a "type" property, but defined as an array of string in the OpenAPI v2.0/Swagger definition. And your response contains a string for the "type" property.
"ContractDefinition": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "type": { "type": "array", "items": { "type": "string" } }, "pattern": { "type": "string" }, "items": { "$ref": "#/definitions/ContractItems" }, "selfUri": { "type": "string", "format": "uri", "description": "The URI for this object", "readOnly": true } }}
Could you let me know what your case number is?
We need one ticket anyway to get engineering team involved.
Once you share it, I'll reach out to the Platform API team to let them know about this issue.
Thank you.
Regards,
------------------------------
Jerome Saint-Marc
Senior Development Support Engineer
Original Message:
Sent: 11-18-2025 04:36
From: Zsolt Belicza
Subject: Conflict between platform SDK and API
Hi all,
I am trying to fetch the newly introduced decision tables via the new business rules API using the latest Java SDK version 236.0.0
Java code used: businessRulesApi.getBusinessrulesDecisiontable(myId);
this fails with the error:
16/11 20:29:30,151 [c.z.models.architect.BusinessRuleDecisionTableModel] ERROR- Cannot construct instance of `java.util.ArrayList` (although at least one Creator
exists): no String-argument constructor/factory method to deserialize from String value ('string')
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2784] (through reference chain: com.mypurecloud.sdk.v2.model.DecisionTable["publishedContract"]->com.mypurecloud.sdk.v2.model.DecisionTableContract["rowAuthoringSchema"]->com.mypurecloud.sdk.v2.model.ContractJsonSchema["definitions"]->java.util.LinkedHashMap["string"]->com.mypurecloud.sdk.v2.model.ContractDefinition["type"])
this is returned in the response: notice that type is string (not a list)
"additionalProperties": false,
"definitions": {
"string": {
"title": "String",
"description": "A text value",
"type": "string"
},
ContractJsonSchema uses a map in which we have ContractDefinition class which is defined as:
private List type = null;
As you can see List is not compatible during deserialization with String. I feel that the SDK is wrong and this type should be defined as String and not a list. I raised a Genesys case and the case owner states that I should ask this on the forum. I completely disagree as this appears to be a bug so the forum wont be able to help.
has anyone seen a similar issue? I cant be the only one using this API? would you agree this is a bug that has to be fixed?
#PlatformSDK
------------------------------
Zsolt Belicza
Uc, Cc Architect
------------------------------