HTTP/1.1 400 Bad Request
Content-Type: application/json
{
“errors”: [
{
“code”: “INVALID_REQUEST_BODY”,
“message”: “The field ‘weight’ is required for non-binary question types.”
}
]
}
Migrating our Zendesk CSAT logic to Genesys Cloud Quality Management is proving more complex than the ticket-to-interaction mapping we handled last week. In Zendesk, we simply attached a satisfaction survey tag to closed tickets and aggregated the scores. We are trying to replicate this by importing custom Quality Forms via the /api/v2/wfm/quality/forms endpoint. The goal is to map the Zendesk survey response fields to GC Quality form questions.
The payload structure seems correct based on the developer portal docs, but the API keeps rejecting the JSON with the 400 error above. Specifically, the form includes a “Likert Scale” question type (mapped from Zendesk’s 1-5 star rating). I assumed the weight would default to 1.0 if omitted, similar to how Zendesk handles default survey weights. However, GC seems to demand an explicit weight value for every non-binary question.
Here is the snippet causing the failure:
{
"name": "Zendesk CSAT Import",
"questions": [
{
"type": "likert",
"text": "How was your experience?",
"options": ["1", "2", "3", "4", "5"]
// "weight": 1.0 <-- Commented out initially
}
]
}
When I add "weight": 1.0, the form creates successfully. But this breaks our automation script that pulls the question structure directly from the Zendesk export JSON, which does not contain weight metadata. Is there a way to bypass this requirement or inject a default weight during the bulk import process? We want to avoid manually editing hundreds of form definitions before the migration goes live next Tuesday.
Also, does the WFM quality score calculation in GC handle the 1-5 scale differently than Zendesk’s average rating? We need to ensure the final quality scores align with our legacy Zendesk reports.
Thanks for any insights on the API constraints or migration workarounds.