Why does getting a list of moderators/vips require broadcaster permissions?

When making a call to the “/helix/chat/chatters” endpoint to fetch the viewer list it requires broadcaster or moderator permissions with the “moderator:read:chatters” scope set in the token you pass and the token can match either the userid of the broadcaster or a moderator of the broadcasters channel.

Why is this not the case for fetching a list of moderators from " /helix/moderation/moderators" or VIP users from " /helix/channels/vips" as well? It makes sense restricting the add/remove calls from these endpoints to a token bound to the userid of the broadcaster but how does restricting the read call to only the broadcaster userid make sense?

You can fetch the viewer list with moderator permissions but you cannot fetch the list of moderators or VIP users. The viewer list returned by the “chatters” endpoint does not differentiate between which users have which “role” in the chatroom and the only way to determine which users are moderator, VIP’s, and standard users is to have a token generated by the broadcaster themself - a token that will need to be re-authorized from time to time.

“The ID in the broadcaster_id query parameter must match the user ID in the access token.”

Why is this a good idea for simply querying a user list to determine which user has which “role” in the chatroom? How do you determine a users role without a token generated by the broadcaster with the highest level of privilege? Could a “role” enum value be added to the user struct of the main “chatters” endpoint result or ? …

Potentially becuase these endpoints (Get Mods/Get VIPs) were created before any endpoints (or helix could) supported the use of a moderator style token.

It’s was discussed during todays stream, and we hope that a number of endpoints are currently broadcaster only will be moved to support/allow a moderator token calling it as well.

This includes, off the top of my head,

  • Get Banned Users
  • Get Moderators
  • Get VIPS

But thats all we have on the matter, a discussion on it in Discord and todays stream.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.