Updating participant attributes via API during active voice call

Trying to push data from an external CRM into a live Genesys Cloud voice interaction. The goal is to update participant attributes mid-call without hanging up. We’re using the REST API to fetch the interaction and participant IDs, then hitting PATCH on the participant endpoint.

PATCH /api/v2/interactions/participants/{participantId}

Body:
{
 "attributes": {
 "crm_ticket_id": "TKT-9988",
 "vip_status": "true"
 }
}

The response is a 409 Conflict. The message says the interaction is locked or in an invalid state. We checked the docs and it mentions that some fields are immutable during active media sessions. But attributes should be writable. We’re using the Genesys Cloud Python SDK to make these calls, authenticated via JWT.

Is there a specific flag or header needed to bypass this lock? Or are we supposed to use a different endpoint for live updates? The Terraform state is fine, this is purely runtime API behavior. We’ve tried GETting the participant first to sync the version number but it still fails. Any code examples for updating live participant attributes would help.