Trying to push external CRM data into a live voice conversation using the Conversations API. I’m hitting a 409 Conflict when I try to update participant attributes via PATCH. The error payload is vague, just saying “Resource conflict.”
Here’s the payload I’m sending:
{
"participants": [
{
"id": "abc-123-def",
"attributes": {
"crmId": "998877",
"priority": "high"
}
}
]
}
I’ve verified the participant ID is correct and the call is still in connected state. If I remove the attributes block and just update hold status, it works fine. Seems like the attributes endpoint is locking up or rejecting the merge.
Is there a specific format for nested attributes in the voice API? I noticed the docs show flat key-value pairs, but my external system outputs nested JSON. Tried flattening it, same 409.
Also checked the conversation history endpoint, the attributes aren’t persisting there either. Just wondering if there’s a known bug with attribute updates during active media streams or if I’m missing a header. Using Authorization: Bearer <token> and Content-Type: application/json.