We are updating managed metadata columns for document library with ~26k documents.
We update items via this url
https://${TENANT}.sharepoint.com/sites/${SITE}/_api/Web/Lists(guid'${listGuid}/items(${id})
...
headers["X-HTTP-Method"] = "MERGE";
headers["IF-MATCH"] = "*";
After trying to update file attributes like this:

we had Account/Region left unchanged, third column updated properly.
We can't change Account and Region columns anymore.
Please notice WssId is not -1 in those requests. We changed WssId to -1 in our requests and new files got properly updated. but not the old ones.
What we have now - approximately 2k files got 'stuck', their Account/Region attributes can't be changed via REST API anymore. Even after changing attributes via UI.
Every time we call REST API to change Account/Region for those files - api call reports OK, data not changed, new version is created.
How can we update those files?
Thank you for reporting this issue. We will be triaging your incoming issue as soon as possible.
Did test to update Managed Metadata field by Managed Metadata InternalName(the third field you shared), works fine.
Steps:


_api/web/lists/getbytitle('Mydoc2')/items(id)
Request headers:
X-RequestDigest: digest value
If-Match: *
X-HTTP-Method: MERGE
Content-Type: application/json; odata=verbose
Request Body:
{
"m45df7e9fd814aea84e793e00511c2a4": "101 SharePoint 11|eaceb040-526f-482d-9a11-0227ebb55347",
"f7dddcdca3604eb0aced66834e0040a1":"B|86116c77-4761-41f6-9b51-08a49ab851d5",
"__metadata": { "type": "SP.Data.MyDoc2Item" }
}
Finally!
I tried this way some time ago, but failed since was trying to put value in following format
"WssId;#Label|guid" and it wasn't working.
Format "Label|guid" worked well.
Thank you for your help, @OS-Lee !
I still think there is a bug in API which shall be fixed.
It's very tricky way to update managed metadata column, which involves multiple depenent call for getting actual internalname.
If this steps documented for managed metadata column it will be very helpful to developers.
Issues that have been closed & had no follow-up activity for at least 7 days are automatically locked. Please refer to our wiki for more details, including how to remediate this action if you feel this was done prematurely or in error: Issue List: Our approach to locked issues
Most helpful comment
Finally!
I tried this way some time ago, but failed since was trying to put value in following format
"WssId;#Label|guid"and it wasn't working.Format
"Label|guid"worked well.Thank you for your help, @OS-Lee !
I still think there is a bug in API which shall be fixed.