A guide to Muxy MEDKit and GameLink SDK terminology
A user role that authorizes extension-wide changes which affect all channels running the extension.
Authentication tokens with the
A basic technique for scaling up by accumulating data from large numbers of viewers and subjecting the aggregated data to analysis of various kinds, such as ranking the popularity of particular responses.
Proof that a call into the Muxy API comes from a registered extension.
An unauthorized connection to Muxy servers uses a provided Extension Client ID to associate the connection with an extension, so that further calls can be authorized.
A connection to Muxy servers that identifies the user operating the connection and allows the appropriate access rights.
Provide a registered Client ID in an unauthorized call to establish a connection and obtain the credentials that authorize all subsequent calls into the Muxy SDK.
The authorization process is handled automatically from within an extension by Twitch and the MEDKit SDK, but must be performed explicitly when using the GameLink library.
A messaging protocol allows bidirectional data flow between extensions and Muxy servers.
Messages can be directed at all viewers or a subset (such as subscribers only, or single viewer IDs).
The broadcast messaging system also allows private backchannel communication for coordinating activity among extension instances across channels. Backchannel calls are authorized by a JWT with the
A user who is broadcasting a Muxy-powered Twitch extension.
To authenticate your extension to the Muxy server, you must have a valid Twitch Extension Client ID in the Twitch Developer Console, and register it with Muxy.
Once registered, the Twitch Extension Client ID becomes a valid Muxy Client ID.
The MEDKit SDK provides two data stores with different scopes for developer-defined data that is expected to be used mainly on extension startup.
The MEDKit SDK provides tools for defining, storing, and retrieving configuration data and real-time extension state data.
In the GameLink API, event subscriptions and notifications are handled slightly differently in different areas.
Extension Client ID
A unique identifier for a Muxy-powered Twitch extension, created in Twitch and registered with Muxy.
See Client ID, Authentication.
The GameLink API lets a game developer establish a permanent connection to Muxy backend servers to send and receive real-time data and events.
A JSON Web Token (JWT) is a credential that can grant access to resources. A JWT obtained from the Muxy SDK is associated with a user role that determines the level of access.
An authentication/authorization workflow with these steps:
The PIN expires when it is used or 5 minutes after being generated.
See also Stored refresh-token authorization.
The polling and voting service allows admins or broadcasters to set up and manage user polls that are displayed to all viewers, who can submit votes. The service accumulates votes and sends results in real time to the admin or broadcaster.
A JWT that can be stored and exchanged for a new authorization token when a current authorization token expires.
A refresh token is provided in response to the GameLink
See also Stored refresh-token authorization.
A caller's role (one of viewer, broadcaster, or admin) determines what functionality the caller is entitled to access. For example, an admin or broadcaster can set up and manage a poll, and viewers can submit votes in that poll.
The role of the calling user is encoded in the JWT that authorizes calls. Roles can be simulated in the sandbox environment for testing and debugging.
See also User role.
A staging area for testing and debugging API calls with simulated authorization.
Data is regularly wiped and the environment is not accessible from a “live” extension.
The MEDKit SDK and GameLink libraries all have methods to switch environments.
The MEDKit SDK provides four data stores with different scopes for developer-defined data that is expected to be accessed frequently in real time.
Stored refresh-token authorization
When a user authenticates using the PIN authorization method, the server provides a
The Muxy SDK provides tools for handling Twitch Extension Bits purchases of products that you offer through your extension.
The trivia service allows admins or broadcasters to set up and manage contests with multiple-choice questions, and viewers to choose answers.
A REST API call that requires no Authorization header, used to obtain authorization credentials for subsequent calls.
An unauthorized call to the
See also PIN authorization.
All connections to Muxy’s servers, whether through GameLink, a backend server, or from a Twitch extension, are associated with a user role that determines access rights. A user's role is encoded in the JWT that authorizes an API call. Access limitations are enforced on the server side.
Access levels range from anonymous viewer with limited access to resources, up to administrative access that can authorize extension-wide changes.
An end user of a Muxy-powered Twitch extension.
Calls submitted from a viewer's instance are authorized by a JWT with the
A messaging protocol for data exchanges between a game or Twitch extension and a Muxy server, using the GameLInk API.