Schedule Publishing API 409 Conflict During Bulk Agent Availability Update

Just noticed that our weekly schedule publication is failing with a 409 Conflict error when attempting to process bulk updates to agent availability via the WFM API. This is occurring specifically in our Chicago-based environment (America/Chicago timezone) during the standard Friday evening publish window.

The issue appears to be triggered when multiple agents submit shift swap requests simultaneously through the agent self-service portal, and the system attempts to reconcile these changes against the master schedule before the final publish. The error response payload indicates a resource conflict, but it does not specify which specific shift or agent is causing the collision.

Here are the steps to reproduce the issue:

  1. Create a test schedule with at least 50 agents assigned to standard 8-hour shifts in the America/Chicago timezone.
  2. Simulate concurrent shift swap requests between 5 pairs of agents using the POST /api/v2/wfm/scheduling/agent-shift-requests endpoint.
  3. Wait for the swap requests to reach a ‘pending’ status.
  4. Attempt to publish the schedule using POST /api/v2/wfm/scheduling/schedules/{scheduleId}/publish.
  5. Observe the 409 Conflict response with the following error body: {"errors": [{"code": "CONFLICT", "message": "Cannot publish schedule due to conflicting shift requests."}]}.

The documentation suggests that the system should automatically resolve non-overlapping swaps, but it seems to be locking the schedule state prematurely. I have verified that the swap requests do not violate any skill requirements or availability constraints, and all agents involved have sufficient permissions.

Is there a specific retry mechanism or a way to force-resolve these conflicts programmatically before publishing? Alternatively, is there a known limitation with concurrent swap processing in the current Genesys Cloud WFM version? Any insights into the underlying validation logic would be greatly appreciated, as this is blocking our weekly schedule rollout.