Or look at it another way.
Two ClientID’s try to change the price of the same product at the same time. And when one wins, the other kicks in to set the price back again. And so on.
It’s not just a matter of all items being deleted but Two or more ClientID’s trying to edit the same reward.
Same issue comes it two clientID’s are handling redemptions, one decides to refund/cancel as you are out of stock, and the other accepts as you are in stock. Which one wins?
This is why the API is setup to only allow ClientID’s to modify and manage the things they have created.
Not just to prevent rogue deletions but two Client’s trying to write to the same reward/redemptions
Example:
You add an Twitch extension, that Twitch extension adds channel point rewards for that extension.
A minute later your ClientID cronjobs, and decides to delete rewards it doesn’t have on file/thinks should exist.
The Twitch Extension no longer operates correctly because your code automatically deleted the extensions rewards.