Could someone explain the correct sequence for updating participant attributes on a live voice interaction using the Genesys Cloud Platform API? I am building a custom Zapier step that needs to push CRM data back into the interaction context while the agent is still on the call. I am using the PUT /api/v2/conversations/voice/interactions/{interactionId} endpoint. My current approach involves extracting the participantId from the initial webhook payload and then sending a JSON body containing the participants array with updated attributes. However, I am consistently hitting a 409 Conflict error with the message “Interaction is currently being modified by another process” or sometimes a 400 Bad Request if the JSON structure is slightly off. I have tried including the interactionVersion in the request header, but it seems like the version number increments rapidly during an active call, making it hard to keep up. Here is the snippet of the JSON payload I am sending in the PUT request: { "participants": [ { "id": "{participantId}", "attributes": { "crm_lead_score": "85", "last_purchase_date": "2023-10-27" } } ] }. I am not trying to modify the state or disposition, just the custom attributes. Is there a specific header I am missing, or should I be using a different endpoint like the Data Action API instead? I have checked the documentation on PATCH vs PUT and it seems PATCH might be more appropriate for partial updates, but I am unsure how to structure the path for nested attributes in that context. Any working examples of the exact JSON structure for a PATCH request to update attributes on a specific participant would be very helpful. I am working in London time so I can test quickly if you suggest a specific approach.