Participant attributes not persisting via PATCH /api/v2/conversations/voice/{id}/participants

We are trying to update participant attributes during a live voice call from our custom agent desktop. I am sending a PATCH request to /api/v2/conversations/voice/{id}/participants with the correct conversation ID and participant ID. The request returns 204 No Content which usually means success. However, when I immediately fetch the conversation details, the attributes are gone. It feels like the write is ignored. Here is the payload I am sending. Is there a specific format required for the attributes object?