PATCH /api/v2/conversations/webchat/{id}/participants/{id} returns 400 on attribute update

Trying to set custom attributes mid-conversation via the Conversations API. The PATCH request to /api/v2/conversations/webchat/{id}/participants/{id} with attributes in the body keeps returning a 400 Bad Request. The payload looks standard:

{
 "attributes": {
 "priority": "high",
 "source": "portal"
 }
}

Docs say attributes are writable, but the error response is empty. Am I missing a required field or is this endpoint read-only for attributes?