Running into a weird conflict error when trying to update participant attributes on a live voice interaction from my custom agent desktop app. I’m using the Embeddable Client App SDK and hitting PATCH /api/v2/conversations/voice/{conversationId} with a simple payload to set a custom attribute. The request fails with a 409 Conflict and the error code RESOURCE_CONFLICT. It’s particularly strange because the same call works fine if I wait 5 seconds after the initial connect event, but fails immediately after the conversation:update event fires.
Here’s the JSON payload I’m sending:
{
"participants": [
{
"id": "user-123",
"attributes": {
"custom:order.id": "ORD-9988"
}
}
]
}
I’ve checked the SDK docs and the REST API reference. Both say that updating participant attributes mid-conversation is supported. The attribute key exists in the system and is mapped correctly. Is there a race condition I’m missing here? Or is the SDK caching the participant object and sending stale data?