2 October 2026
Product catalog
We have narrowed the Category tree locking used by Create Category endpoints for requests that specify a
parent, and by the Set Stores, Add Store, and Remove Store update actions. These requests previously took the same project-wide lock as Change Parent, so unrelated, concurrent Category writes could fail with an InvalidOperation error even though they did not conflict with each other. They now lock only the Category nodes they actually need.Applications that create or update many Categories concurrently, such as Category imports through the Import API or third-party synchronization tools, should see fewer of these conflicts and no longer need to retry as often to work around them.
Change Parent still locks the whole Category tree, because it can change the ancestor path of every Category below it. For details on lock scopes and conflict handling, see Category tree locking.