Agent Preference API 400 Bad Request on Time Off Overrides

Stuck on a 400 Bad Request error when attempting to update agent shift preferences via the PATCH /api/v2/wfm/scheduling/agents/{agentId}/preferences endpoint. The request payload includes valid JSON with updated availability windows for the upcoming Chicago timezone week, but the response body returns a generic validation failure without specific field errors.

We are using the Genesys Cloud WFM SDK version 1.8.4 in our Python automation scripts. The issue seems to trigger specifically when the new preference window overlaps with an already approved time-off request for that agent. Standard shift swap logic allows this overlap under certain conditions, but the preference update API appears to reject it outright.

Has anyone encountered similar validation strictness in the preferences API? We need to ensure agent self-service updates don’t break when time-off is involved. Any insights on the correct payload structure or a workaround for these overlapping windows would be greatly appreciated.