Channel Points API: Grantable Control of Third-Party Rewards
Based on the current channel points API, a client may only access/update rewards for their own custom rewards. However, for some moderation tools, I believe managing custom rewards created by other clients and/or the Channel Owner's Dashboard would be beneficial.
Take for example a reward such as "Hydrate!", where, after 10 minutes you want this cleared from the reward queue if it hasn't been actioned already. To do this with the current API, a channel owner would have to first delete the existing "Hydrate!" reward and then recreate it using the script client. Repeating this for every reward to be controlled.
A potential way to implement this is a new Channel Points Reward dashboard called "Permissions" where channel owners can select which rewards can be controlled by which third-party clients. This dashboard would consist of a list of integrations where each integration has it's own list of rewards that it can control.
Even so, some integrations may wish to designate that they should have exclusive read/update/remove control over their own rewards (as in the current API) where they are created as "private" or "super-private" rewards. (private locks read/update/remove control, super-private would also lock enabled/disabled control)
For example:
Sound Alert can access the following rewards:
* Wowza (private)
* REEE (private)
* [Assign new reward]
Most rewards could then be added/removed to other integrations as the channel owner desires. Private rewards can still be assigned to other integrations to control their enabled state.
XYZ can access the following rewards:
* Silence Sound Alert for 10m (private)
* Twitch: Hydrate! (read/update/enable) [Edit] [Remove]
* Twitch: Name a world! (read/update/enable) [Edit] [Remove]
* Twitch: Text-to-speech (read/update/enable) [Edit] [Remove]
* Sound Alert: Wowza (enable) [Edit] [Remove]
* Sound Alert: REEE (enable) [Edit] [Remove]
* [Assign new reward]

-
IsaiahCreati commented
I too believe this restriction should be removed or changed. Instead of a full on dashboard, I was thinking of an additional required scope to edit all custom rewards. The current restriction severely hampers the ability to programmatically edit/change the rewards. Having to remove the old reward, then recreate it just to update the title, cost, is paused/resumed, enabled/disabled, etc. adds another step and feels redundant. Currently, rewards that are made programmatically cannot have custom images, so users are even less inclined to make them through a third party system.
Endpoint URL:
PATCH https://api.twitch.tv/helix/channel_points/custom_rewards