WFM Shift Swap API 409 Conflict During High-Volume Agent Self-Service Window

What’s the best way to handle concurrent shift swap requests via the /api/v2/wfm/schedules/agentswaps endpoint when multiple agents attempt to trade overlapping shifts simultaneously during our weekly planning window?

We are experiencing a significant spike in 409 Conflict errors specifically when agents use the self-service portal to propose trades. The environment is running Genesys Cloud Release: 2024-05 (Patch 2) with BYOC Edge Version: 10.2.1 hosted in AWS us-east-1. Our timezone is America/Chicago.

The issue appears when two agents, both scheduled for the same shift block, attempt to swap with a third agent who is available for either slot. If the third agent accepts the first proposal within milliseconds of the second, the second request fails with a 409 error citing a version mismatch on the schedule object. The error payload indicates:

{
 "errors": [
 {
 "message": "Resource version mismatch. The schedule has been modified since this request was initiated.",
 "code": "CONFLICT"
 }
 ]
}

This is disrupting our shift coverage planning. Agents are frustrated because the UI does not clearly indicate that their trade was rejected due to a race condition, leading them to retry manually, which further congests the API. We have verified that the Accept-Language header is set correctly and that the If-Match header contains the correct ETag from the initial GET request.

Is there a recommended retry logic or a specific flag in the request body to handle optimistic locking more gracefully? We are considering implementing a client-side delay, but that feels like a workaround rather than a solution. We need a reliable way to ensure that valid trade requests are not lost due to timing issues during peak planning hours (09:00-11:00 CST). Any insights on best practices for handling these concurrent modifications in the WFM module would be appreciated.