Updating participant attributes via PUT /api/v2/conversations/webchat/{conversationId} returns 400

I’m trying to update participant attributes mid-conversation using the Conversations API. Specifically, I need to push a new segment value to a webchat participant from our backend service.

The endpoint is PUT /api/v2/conversations/webchat/{conversationId}. The documentation suggests sending a JSON body with the updated participant object. Here is the payload I am constructing:

{
 "participants": [
 {
 "id": "participant-id-123",
 "attributes": {
 "segment": "high-value"
 }
 }
 ]
}

However, the response is consistently a 400 Bad Request with the message Invalid participant update. The participant ID is verified correct, and the conversation is active. I’ve tried including the full participant object with name and email as well, but the error persists.

Is there a specific format required for the attributes map during an update? Or does the API require the entire participant state to be sent rather than a partial update? The Terraform provider handles this differently, so I am unsure if the REST API has stricter validation rules for mid-flow updates.