Information
Get connection information for the selected Twitch account, such as your User ID or OAuth Token.
| Box Name | Type | Description |
|---|---|---|
| Login Name | String | Your Twitch login name |
| Save Variable As | String | Variable to save the result |
| Type | Dropdown | Value to get. User ID, OAuth token, Login Name or Display Name |
Saved Value:
| Type Selection | Saved Type | Description |
|---|---|---|
| User ID | String | The connected Twitch account’s user ID. |
| OAuth Token | String | The connected Twitch account’s OAuth token. |
| Login Name | String | The connected Twitch account’s login name. |
| Display Name | String | The connected Twitch account’s display name. |
Source: SAMMI’s internal twitch_connection map (local data — no Twitch API call is made).
Example SAMMI Response:
98765432 (User ID)
oauth:abc123xyz (OAuth Token)
examplestreamer (Login Name)
ExampleStreamer (Display Name)
Each Type selection returns a single string value.
Retrieves information about a Twitch user. Provide either their username or user ID (leave the other one empty).
If your SAMMI crashes with an error log relating to this command, make sure you have enabled the View email address scope in your Twitch connection settings. The command will not work without this scope enabled.
| Box Name | Type | Description |
|---|---|---|
| User Name | String | Username to get the information for |
| User ID | number | User ID to get the information for |
| Save Variable | String | Variable to save the whole object |
You can access the response object’s data by using Get Object Variable command.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| broadcaster_type | string | User’s broadcaster type: “partner”, “affiliate”, or “”. |
| description | string | User’s channel description. |
| display_name | string | User’s display name. |
| id | string | User’s ID. |
| login | string | User’s login name. |
| offline_image_url | string | URL of the user’s offline image. |
| profile_image_url | string | URL of the user’s profile image. |
| type | string | User’s type: “staff”, “admin”, “global_mod”, or “”. |
| view_count | number | Total number of views of the user’s channel. |
| string | User’s verified email address. Returned if the request includes the user:read:email scope. | |
| created_at | string | Date when the user was created. |
Twitch API Endpoint: GET /helix/users
Example SAMMI Response Object:
{
"id": "98765432",
"login": "examplestreamer",
"display_name": "ExampleStreamer",
"type": "",
"broadcaster_type": "affiliate",
"description": "Just a streamer who loves gaming!",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/examplestreamer-profile_image-abc123.png",
"offline_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/examplestreamer-channel_offline_image-abc123.png",
"view_count": 56789,
"email": "user@example.com",
"created_at": "2018-04-20T12:00:00Z"
}
Gets information about an active stream.
undefined!
| Box Name | Type | Description |
|---|---|---|
| Channel Name | String | Channel name for the stream |
| Save Variable As | String | Variable name to save the whole response object |
You can access the response object’s data by using Get Object Variable command.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| id | string | Stream ID. |
| user_id | string | ID of the user who is streaming. |
| user_login | string | Login of the user who is streaming. |
| user_name | string | Display name corresponding to user_id. |
| game_id | string | ID of the game being played on the stream. |
| game_name | string | Name of the game being played. |
| type | string | Stream type: “live” or “” (in case of error). |
| title | string | Stream title. |
| viewer_count | number | Number of viewers watching the stream at the time of the query. |
| started_at | string | UTC timestamp. |
| language | string | Stream language. A language value is either the ISO 639-1 two-letter code for a supported stream language or “other”. |
| thumbnail_url | string | Thumbnail URL of the stream. All image URLs have variable width and height. You can replace {width} and {height} with any values to get that size image |
| tags | array | Tags that apply to the stream (array of strings). |
| is_mature | boolean | Indicates if the broadcaster has specified their channel contains mature content that may be inappropriate for younger audiences. |
Twitch API Endpoint: GET /helix/streams
Example SAMMI Response Object:
{
"id": "123456789",
"user_id": "98765432",
"user_login": "examplestreamer",
"user_name": "ExampleStreamer",
"game_id": "509658",
"game_name": "Just Chatting",
"type": "live",
"title": "Playing games with chat!",
"viewer_count": 1234,
"started_at": "2024-01-15T18:30:00Z",
"language": "en",
"thumbnail_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_examplestreamer-{width}x{height}.jpg",
"tags": ["English", "Gaming"],
"is_mature": false
}
Retrieves the active shared chat session for a Twitch channel.
If Channel is empty, SAMMI uses the default Twitch account. The command saves the active shared chat session object returned by Twitch. If there is no active shared chat session, the saved variable is set to undefined.
undefined!
| Box Name | Type | Description |
|---|---|---|
| Channel | Twitch Account | Channel name to get shared chat info from. Leave empty to use the default Twitch account. |
| Save Variable As | String | Variable name to save the shared chat session object. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| session_id | String | The ID for the shared chat session. |
| host_broadcaster_id | String | The User ID of the host channel. |
| participants | Array | Array of objects for each participant of the shared chat session. |
participants[0-?].broadcaster_id |
String | The User ID of the participant. |
| updated_at | String | The time in Twitch format that the shared chat session was last updated. |
| created_at | String | The time in Twitch format that the shared chat session was created. |
Twitch API Endpoint: GET /helix/shared_chat/session
Example SAMMI Response Object:
{
"session_id": "2b0AsbInuLayXYDB",
"host_broadcaster_id": "98765432",
"participants": [
{ "broadcaster_id": "98765432" },
{ "broadcaster_id": "11111111" },
{ "broadcaster_id": "22222222" }
],
"created_at": "2024-01-15T20:00:00Z",
"updated_at": "2024-01-15T20:00:00Z"
}
user:read:email Twitch scope for the selected channel/account.
Gets specified channel information.
| Box Name | Type | Description |
|---|---|---|
| Channel | string | Name of the channel |
| Save Variable As | String | Variable to save the response |
You can access the response object’s data by using Get Object Variable command.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| broadcaster_id | string | Twitch User ID of this channel owner |
| broadcaster_login | string | Twitch login name of this channel owner (lowercase) |
| broadcaster_name | string | Twitch user display name of this channel owner |
| game_name | string | Name of the game being played on the channel |
| game_id | string | Current game ID being played on the channel |
| broadcaster_language | string | Language of the channel. A language value is either the ISO 639-1 two-letter code for a supported stream language or “other”. |
| title | string | Title of the stream |
| delay | number | Stream delay in seconds |
| tags | array | Tags applied to the channel (array of strings) |
Twitch API Endpoint: GET /helix/channels
Example SAMMI Response Object:
{
"broadcaster_id": "98765432",
"broadcaster_login": "examplestreamer",
"broadcaster_name": "ExampleStreamer",
"broadcaster_language": "en",
"game_id": "509658",
"game_name": "Just Chatting",
"title": "Hanging out with chat!",
"delay": 0,
"tags": ["English", "Chill"]
}
Gets the list of Twitch teams for a channel.
If Channel is empty, SAMMI uses the default Twitch account. The command saves an array of team objects. If the channel is invalid or Twitch returns an error, the saved variable is set to undefined.
| Box Name | Type | Description |
|---|---|---|
| Channel | Twitch Account | Channel name to get teams for. Leave empty to use the default Twitch account. |
| Save Variable As | String | Variable name to save the teams array. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| savedVariable | Array | Array of objects representing each team. |
savedVariable[0-?] |
Object | Contains info about the team. |
savedVariable[0-?].background_image_url |
String | The background image the team page uses. |
savedVariable[0-?].banner |
String | The banner image the team page uses. |
savedVariable[0-?].thumbnail_url |
String | The thumbnail image the team page uses. |
savedVariable[0-?].broadcaster_login |
String | The login of the requested user. |
savedVariable[0-?].broadcaster_name |
String | The display name of the requested user. |
savedVariable[0-?].broadcaster_id |
String | The User ID of the requested user. |
savedVariable[0-?].id |
String | The ID of the team. |
savedVariable[0-?].name |
String | The internal name of the team. |
savedVariable[0-?].team_display_name |
String | The display name of the team. |
savedVariable[0-?].info |
String | The description on the team. |
savedVariable[0-?].updated_at |
String | The time in Twitch format that the team was last updated. |
savedVariable[0-?].created_at |
String | The time in Twitch format that the team was created. |
Twitch API Endpoint: GET /helix/teams/channel
Example SAMMI Response Object:
[
{
"broadcaster_id": "98765432",
"broadcaster_login": "examplestreamer",
"broadcaster_name": "ExampleStreamer",
"background_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-bg.png",
"banner": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-banner.png",
"thumbnail_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-thumbnail.png",
"id": "6b0AsbInuLay",
"name": "exampleteam",
"team_display_name": "Example Team",
"info": "A friendly community of streamers.",
"updated_at": "2023-11-01T00:00:00Z",
"created_at": "2020-06-01T00:00:00Z"
}
]
Note: SAMMI saves the raw data array directly (as struct_to_map(data)), so the variable stores an array-as-map where the key default holds the array of team objects.
user:read:email Twitch scope for the selected channel/account.
Gets information about a Twitch team.
| Box Name | Type | Description |
|---|---|---|
| Team Name | String | The internal Twitch team name to get information for. |
| Save Variable As | String | Variable name to save the team info object. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| team_display_name | String | The display name of the team. |
| name | String | The internal name of the team. |
| id | String | The ID of the team. |
| info | String | The description on the team. |
| users | Array | Array of objects for each user in the team. |
users[0-?].user_id |
String | User ID of that team member. |
users[0-?].user_login |
String | User login of that team member. |
users[0-?].user_name |
String | User display name of that team member. |
| background_image_url | String | The background image the team page uses. |
| banner | String | The banner image the team page uses. |
| thumbnail_url | String | The thumbnail image the team page uses. |
| updated_at | String | The time in Twitch format that the team was last updated. |
| created_at | String | The time in Twitch format that the team was created. |
Twitch API Endpoint: GET /helix/teams
Example SAMMI Response Object:
{
"id": "6b0AsbInuLay",
"name": "exampleteam",
"team_display_name": "Example Team",
"info": "A friendly community of streamers.",
"thumbnail_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-thumbnail.png",
"background_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-bg.png",
"banner": "https://static-cdn.jtvnw.net/jtv_user_pictures/team-banner.png",
"users": [
{ "user_id": "98765432", "user_login": "examplestreamer", "user_name": "ExampleStreamer" },
{ "user_id": "11111111", "user_login": "teammate2", "user_name": "Teammate2" }
],
"created_at": "2020-06-01T00:00:00Z",
"updated_at": "2023-11-01T00:00:00Z"
}
undefined.
Gets the active Hype Train status for the specified Twitch channel and saves the active Hype Train object. For more information on what the response contains, check out the Response Body table in the Twitch API Reference Guide for Get Hype Train Status.
undefined.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel to get the Hype Train status from. This can be left empty to use the default account. |
| Save Variable As | String | Variable name to save the response as. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| id | String | Hype Train event ID. |
| event_type | String | Type of Hype Train event. |
| event_timestamp | String | Time in Twitch format when the event happened. |
| version | String | Hype Train event version. |
| total | Number | Current total progress. |
| progress | Number | Current progress toward the next level. |
| goal | Number | Progress required for the next level. |
| level | Number | Current Hype Train level. |
| top_contributions | Array | Top contribution objects returned by Twitch. |
| last_contribution | Object | Most recent contribution object returned by Twitch. |
| expires_at | String | Time in Twitch format when the current Hype Train expires. |
| started_at | String | Time in Twitch format when the current Hype Train started. |
| cooldown_ends_at | String | Time in Twitch format when the cooldown ends. |
Twitch API Endpoint: GET /helix/hypetrain/status
Example SAMMI Response Object:
{
"id": "1b0AsbInuLayXYDB",
"event_type": "hypetrain.progression",
"event_timestamp": "2024-01-15T21:00:00Z",
"version": "1.0",
"total": 2600,
"progress": 600,
"goal": 1800,
"level": 2,
"top_contributions": [
{ "user": "11111111", "type": "BITS", "total": 1000 },
{ "user": "22222222", "type": "SUBS", "total": 500 }
],
"last_contribution": { "user": "33333333", "type": "BITS", "total": 100 },
"expires_at": "2024-01-15T21:05:00Z",
"started_at": "2024-01-15T21:00:00Z",
"cooldown_ends_at": "2024-01-15T22:00:00Z"
}
channel:read:hype_train Twitch scope.
Gets game information by game name.
| Box Name | Type | Description |
|---|---|---|
| Game Name | String | Game name. The name must be an exact match. For example, “Pokemon” will not return a list of Pokemon games; instead, query any specific Pokemon games in which you are interested. At most 100 name values can be specified. |
| Save Variable As | String | Variable name to save the response |
You can access the response object’s data by using Get Object Variable command.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| box_art_url | String | Template URL for the game’s box art. |
| id | String | Game ID. |
| name | String | Game name. |
Twitch API Endpoint: GET /helix/games
Example SAMMI Response Object:
{
"id": "509658",
"name": "Just Chatting",
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/509658-{width}x{height}.jpg"
}
Gets a list of users that are moderators for the specified broadcaster.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get moderators of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of objects representing each moderator |
data[0-?] |
Object | contains info for a moderator |
data[0-?].user_id |
String | The user’s ID |
data[0-?].user_login |
String | The user’s login name |
data[0-?].user_name |
String | The user’s display name |
| pagination | Object | Contains the information used to page through the list of results. The object is empty if there are no more pages left to page through. |
| pagination.cursor | String | The cursor used to get the next page of results with Twitch API Call. |
Twitch API Endpoint: GET /helix/moderation/moderators
Example SAMMI Response Object:
{
"data": [
{
"user_id": "33333333",
"user_login": "trustedmod",
"user_name": "TrustedMod"
},
{
"user_id": "44444444",
"user_login": "helpermod",
"user_name": "HelperMod"
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MTAwfX0"
}
}
Gets a list of users that are VIPs in the specified broadcaster’s chat room.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get VIPs of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of objects representing each VIP |
data[0-?] |
Object | contains info for a VIP |
data[0-?].user_id |
String | The user’s ID |
data[0-?].user_login |
String | The user’s login name |
data[0-?].user_name |
String | The user’s display name |
| pagination | Object | Contains the information used to page through the list of results. The object is empty if there are no more pages left to page through. |
| pagination.cursor | String | The cursor used to get the next page of results with Twitch API Call. |
Twitch API Endpoint: GET /helix/channels/vips
Example SAMMI Response Object:
{
"data": [
{
"user_id": "11111111",
"user_login": "coolviewer",
"user_name": "CoolViewer"
},
{
"user_id": "22222222",
"user_login": "loyalfan",
"user_name": "LoyalFan"
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MTAwfX0"
}
}
Gets a list of users that are connected to the broadcaster’s chat session.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get chatters of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| total | Number | The total number of users |
| data | Array | Array of objects representing each chatter |
data[0-?] |
Object | contains info for a chatter |
data[0-?].user_id |
String | The user’s ID |
data[0-?].user_login |
String | The user’s login name |
data[0-?].user_name |
String | The user’s display name |
| pagination | Object | Contains the information used to page through the list of results. The object is empty if there are no more pages left to page through. |
| pagination.cursor | String | The cursor used to get the next page of results with Twitch API Call. |
Twitch API Endpoint: GET /helix/chat/chatters
Example SAMMI Response Object:
{
"total": 523,
"data": [
{
"user_id": "55555555",
"user_login": "activechatter",
"user_name": "ActiveChatter"
},
{
"user_id": "66666666",
"user_login": "lurker42",
"user_name": "Lurker42"
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MTAwMH19"
}
}
Gets a list of all users that are banned/timed out in the specified channel.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get banned users of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of objects representing each banned/timed out user |
data[0-?] |
Object | contains info for a banned/timed out user |
data[0-?].user_id |
String | The user’s ID |
data[0-?].user_login |
String | The user’s login name |
data[0-?].user_name |
String | The user’s display name |
data[0-?].expires_at |
String | The UTC date and time, in RFC3339 format, of when the timeout expires. Will be an empty string if the user is banned. |
data[0-?].created_at |
String | Date and time the ban/timeout happened |
data[0-?].reason |
String | The specified reason. Will be blank if no reason given. |
data[0-?].moderator_id |
String | The ID of the moderator who banned/timed out the user |
data[0-?].moderator_login |
String | The moderator’s login name |
data[0-?].moderator_name |
String | The moderator’s display name |
| pagination | Object | Contains the information used to page through the list of results. The object is empty if there are no more pages left to page through. |
| pagination.cursor | String | The cursor used to get the next page of results. Use the cursor to set the request’s after query parameter using Twitch API Call. |
Twitch API Endpoint: GET /helix/moderation/banned
Example SAMMI Response Object:
{
"data": [
{
"user_id": "88888888",
"user_login": "rulebreaker",
"user_name": "RuleBreaker",
"expires_at": "",
"created_at": "2024-01-10T15:00:00Z",
"reason": "Repeated violations",
"moderator_id": "33333333",
"moderator_login": "trustedmod",
"moderator_name": "TrustedMod"
},
{
"user_id": "99999999",
"user_login": "timeoutuser",
"user_name": "TimeoutUser",
"expires_at": "2024-01-15T22:00:00Z",
"created_at": "2024-01-15T21:00:00Z",
"reason": "Spam",
"moderator_id": "33333333",
"moderator_login": "trustedmod",
"moderator_name": "TrustedMod"
}
],
"pagination": {
"cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MTAwfX0"
}
}
Gets an array of blocked terms from a Twitch channel.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get blocked terms of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| default | Array | Array of objects representing each blocked term |
default[0-?] |
Object | contains info for a blocked term |
default[0-?].broadcaster_id |
String | The broadcaster’s ID |
default[0-?].created_at |
String | The UTC date and time, in RFC3339 format, of when the blocked term was created. Will be an empty string if the user is banned. |
default[0-?].expires_at |
String | The UTC date and time, in RFC3339 format, of when the blocked term expires. Will be null if there is no set expiration. |
default[0-?].id |
String | The blocked term’s unique identifier |
default[0-?].moderator_id |
String | The ID of the moderator who added the blocked term |
default[0-?].text |
String | The blocked term itself! |
default[0-?].updated_at |
String | The UTC date and time, in RFC3339 format, of when the blocked term was updated. |
Twitch API Endpoint: GET /helix/moderation/blocked_terms
Example SAMMI Response Object:
[
{
"broadcaster_id": "98765432",
"moderator_id": "33333333",
"id": "520e4d16-5379-4bbe-a824-8d5a847e05c4",
"text": "badword",
"created_at": "2022-01-01T00:00:00Z",
"updated_at": "2022-01-01T00:00:00Z",
"expires_at": null
}
]
Note: SAMMI saves the raw data array directly (as struct_to_map(data)), so the variable stores an array-as-map where the key default holds the array of blocked term objects.
Returns an object containing context behind a specified user’s subscription.
Returns an empty object if the user is not subscribed.
| Box Name | Type | Description |
|---|---|---|
| Login Name | Dropdown | Your Twitch channel login name (all lowercase characters) |
| User ID | number | User ID to check for active subscription |
| Save Variable As | String | Variable name to save the response |
You can access the response object’s data by using Get Object Variable command.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| broadcaster_id | string | User ID of the broadcaster. |
| broadcaster_login | string | Login of the broadcaster. |
| broadcaster_name | string | Display name of the broadcaster. |
| is_gift | boolean | Indicates if the subscription is a gift. |
| gifter_login | string | Login of the gifter (if is_gift is true). |
| gifter_name | string | Display name of the gifter (if is_gift is true). |
| tier | string | Subscription tier. 1000 is tier 1, 2000 is tier 2, and 3000 is tier 3. |
Twitch API Endpoint: GET /helix/subscriptions
Example SAMMI Response Object:
{
"broadcaster_id": "98765432",
"broadcaster_login": "examplestreamer",
"broadcaster_name": "ExampleStreamer",
"is_gift": false,
"gifter_login": "",
"gifter_name": "",
"tier": "1000"
}
Returns the total subscriber count for a Twitch channel.
If Login Name is empty, SAMMI uses the default Twitch account. If Twitch is not connected, the channel cannot be resolved, or the request fails, the saved variable is set to undefined.
| Box Name | Type | Description |
|---|---|---|
| Login Name | Twitch Account | Twitch channel to get the subscriber count for. Leave empty to use the default Twitch account. |
| Save Variable As | String | Variable name to save the subscriber count. |
Saved Value:
| Value | Type | Description |
|---|---|---|
| savedVariable | Number | Total subscriber count returned by Twitch (total). |
| undefined | Undefined | Saved if Twitch is not connected, the channel cannot be resolved, the required scope is missing, or the request fails. |
Twitch API Endpoint: GET /helix/subscriptions
Example SAMMI Response:
3842
SAMMI saves only the total field from the API response as a plain number.
channel:read:subscriptions Twitch scope.
Gets subscriber information for the specified channel and saves the response object returned by Twitch. For more information on what the response contains, check out the Response Body table in the Twitch API Reference Guide for Get Broadcaster Subscriptions.
If Channel is empty, SAMMI uses the default Twitch account. The command requests up to 100 subscriptions from Twitch and saves the returned data, pagination, total, and points fields where available.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel to get subscribers from. This can be left empty to use the default account. |
| Save Variable As | String | Variable name to save the response as. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of subscriber objects returned by Twitch. |
data[0-?].broadcaster_id |
String | User ID of the broadcaster. |
data[0-?].broadcaster_login |
String | Login name of the broadcaster. |
data[0-?].broadcaster_name |
String | Display name of the broadcaster. |
data[0-?].gifter_id |
String | User ID of the gifter, if the subscription was gifted. |
data[0-?].gifter_login |
String | Login name of the gifter, if available. |
data[0-?].gifter_name |
String | Display name of the gifter, if available. |
data[0-?].is_gift |
Boolean | Whether the subscription was gifted. |
data[0-?].tier |
String | Subscription tier. |
data[0-?].plan_name |
String | Subscription plan name. |
data[0-?].user_id |
String | Subscriber User ID. |
data[0-?].user_name |
String | Subscriber display name. |
data[0-?].user_login |
String | Subscriber login name. |
| pagination | Object | Pagination information returned by Twitch, if available. |
| total | Number | Total subscriber count returned by Twitch. |
| points | Number | Subscriber points returned by Twitch. |
Twitch API Endpoint: GET /helix/subscriptions
Example SAMMI Response Object:
{
"data": [
{
"broadcaster_id": "98765432",
"broadcaster_login": "examplestreamer",
"broadcaster_name": "ExampleStreamer",
"gifter_id": "",
"gifter_login": "",
"gifter_name": "",
"is_gift": false,
"tier": "1000",
"plan_name": "Channel Subscription (ExampleStreamer)",
"user_id": "11111111",
"user_name": "RecentFollower",
"user_login": "recentfollower"
}
],
"pagination": { "cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MTAwfX0" },
"total": 3842,
"points": 3842
}
channel:read:subscriptions Twitch scope.
Gets a list of the 100 most recent users that have followed the specified broadcaster.
moderator:read:followers and user:read:email Twitch scopes.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get latest followers of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| total | Number | The total number of followers |
| data | Array | Array of objects for each recent follower, with the most recent follower first |
data[0-?] |
Object | Object containing specific user’s info |
data[0-?].user_id |
String | The user’s ID |
data[0-?].user_login |
String | The user’s login name |
data[0-?].user_name |
String | The user’s display name |
data[0-?].followed_at |
String | The UTC date and time, in RFC3339 format, of when the user followed |
Twitch API Endpoint: GET /helix/channels/followers
Example SAMMI Response Object:
{
"total": 42371,
"data": [
{
"user_id": "11111111",
"user_login": "recentfollower",
"user_name": "RecentFollower",
"followed_at": "2024-01-15T20:45:00Z"
},
{
"user_id": "22222222",
"user_login": "anotherfan",
"user_name": "AnotherFan",
"followed_at": "2024-01-15T19:30:00Z"
}
]
}
Returns the amount of followers your channel currently has.
| Box Name | Type | Description |
|---|---|---|
| Login Name | Dropdown | Your Twitch login name (all lowercase characters) |
| Save Variable As | String | Variable name to save the follower count |
moderator:read:followers and user:read:email Twitch scopes.
Saved Value:
| Value | Type | Description |
|---|---|---|
| savedVariable | Number | Total follower count returned by Twitch (total). |
| undefined | Undefined | Saved if Twitch is not connected, the channel cannot be resolved, required scopes are missing, Twitch returns an empty response, or the request fails. |
Twitch API Endpoint: GET /helix/channels/followers
Example SAMMI Response:
42371
SAMMI saves only the total field from the API response as a plain number.
Gets a list of the custom Channel Point Rewards for the specified channel. Will not return info on standard Rewards, like “Highlight This Message”. For more information on what the response contains, check out the Response Body table in the Twitch API Reference Guide for Get Custom Reward
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get rewards for |
| Save Variable As | String | Variable to save the result |
Saved Payload:
SAMMI saves the full response object returned by Twitch.
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of custom Channel Point Reward objects returned by Twitch. |
data[0-?].id |
String | Reward ID. |
data[0-?].broadcaster_id |
String | Twitch User ID of the broadcaster. |
data[0-?].broadcaster_login |
String | Login name of the broadcaster. |
data[0-?].broadcaster_name |
String | Display name of the broadcaster. |
data[0-?].title |
String | Reward title. |
data[0-?].prompt |
String | Reward description shown to viewers. |
data[0-?].cost |
Number | Channel Point cost. |
data[0-?].background_color |
String | Reward background color. |
data[0-?].is_enabled |
Boolean | Whether the reward is enabled. |
data[0-?].is_user_input_required |
Boolean | Whether viewer input is required. |
data[0-?].is_paused |
Boolean | Whether the reward is paused. |
data[0-?].is_in_stock |
Boolean | Whether the reward can currently be redeemed. |
data[0-?].image |
Object | Custom reward image URLs, if set. |
data[0-?].default_image |
Object | Default reward image URLs. |
data[0-?].max_per_stream_setting |
Object | Per-stream redemption limit settings. |
data[0-?].max_per_user_per_stream_setting |
Object | Per-user per-stream redemption limit settings. |
data[0-?].global_cooldown_setting |
Object | Global cooldown settings. |
data[0-?].should_redemptions_skip_request_queue |
Boolean | Whether redemptions skip the request queue. |
data[0-?].redemptions_redeemed_current_stream |
Number | Redemptions in the current stream, if available. |
data[0-?].cooldown_expires_at |
String | When the global cooldown expires, if active. |
Twitch API Endpoint: GET /helix/channel_points/custom_rewards
Example SAMMI Response Object:
{
"data": [
{
"id": "afaa7e34-6b17-49f0-a19a-d1e76eaaf673",
"broadcaster_id": "98765432",
"broadcaster_login": "examplestreamer",
"broadcaster_name": "ExampleStreamer",
"title": "Hydrate!",
"prompt": "Make the streamer drink some water",
"cost": 500,
"background_color": "#00E5CB",
"is_enabled": true,
"is_user_input_required": false,
"is_paused": false,
"is_in_stock": true,
"image": null,
"default_image": {
"url_1x": "https://static-cdn.jtvnw.net/custom-reward-images/default-1.png",
"url_2x": "https://static-cdn.jtvnw.net/custom-reward-images/default-2.png",
"url_4x": "https://static-cdn.jtvnw.net/custom-reward-images/default-4.png"
},
"max_per_stream_setting": { "is_enabled": false, "max_per_stream": 0 },
"max_per_user_per_stream_setting": { "is_enabled": false, "max_per_user_per_stream": 0 },
"global_cooldown_setting": { "is_enabled": false, "global_cooldown_seconds": 0 },
"should_redemptions_skip_request_queue": false,
"redemptions_redeemed_current_stream": null,
"cooldown_expires_at": null
}
]
}
Gets the chat settings for the specified channel. For more information on what the response contains, check out the Response Body table in the Twitch API Reference Guide for Get Chat Settings
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get the chat settings for |
| Save Variable As | String | Variable to save the result |
Saved Payload:
SAMMI saves the first chat settings object returned by Twitch (data[0]).
| Variable Name | Type | Description |
|---|---|---|
| broadcaster_id | String | Twitch User ID of the broadcaster. |
| moderator_id | String | Twitch User ID of the moderator account used for the request. |
| emote_mode | Boolean | Whether emote-only mode is enabled. |
| follower_mode | Boolean | Whether follower-only mode is enabled. |
| follower_mode_duration | Number | Minimum follow duration in minutes, if follower-only mode is enabled. |
| slow_mode | Boolean | Whether slow mode is enabled. |
| slow_mode_wait_time | Number | Slow mode wait time in seconds, if slow mode is enabled. |
| subscriber_mode | Boolean | Whether subscriber-only mode is enabled. |
| unique_chat_mode | Boolean | Whether unique chat mode is enabled. |
| non_moderator_chat_delay | Boolean | Whether non-moderator chat delay is enabled. |
| non_moderator_chat_delay_duration | Number | Chat delay duration in seconds, if enabled. |
Twitch API Endpoint: GET /helix/chat/settings
Example SAMMI Response Object:
{
"broadcaster_id": "98765432",
"moderator_id": "98765432",
"emote_mode": false,
"follower_mode": true,
"follower_mode_duration": 10,
"slow_mode": false,
"slow_mode_wait_time": null,
"subscriber_mode": false,
"unique_chat_mode": false,
"non_moderator_chat_delay": false,
"non_moderator_chat_delay_duration": null
}
Gets a list of the custom emotes for the specified channel. For more information on what the response contains, check out the Response Body table in the Twitch API Reference Guide for Get Channel Emotes
| Box Name | Type | Description |
|---|---|---|
| Channel | String | Channel name to get emotes of |
| Save Variable As | String | Variable to save the result |
Saved Payload:
SAMMI saves the full response object returned by Twitch.
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of custom emote objects returned by Twitch. |
data[0-?].id |
String | Emote ID. |
data[0-?].name |
String | Emote name. |
data[0-?].images |
Object | Image URLs for the emote. |
data[0-?].tier |
String | Subscription tier the emote belongs to, if applicable. |
data[0-?].emote_type |
String | Type of emote. |
data[0-?].emote_set_id |
String | ID of the emote set. |
data[0-?].format |
Array | Available image formats. |
data[0-?].scale |
Array | Available image scales. |
data[0-?].theme_mode |
Array | Available theme modes. |
| template | String | Template URL for emote images. |
Twitch API Endpoint: GET /helix/chat/emotes
Example SAMMI Response Object:
{
"data": [
{
"id": "304456832",
"name": "exampleHype",
"images": {
"url_1x": "https://static-cdn.jtvnw.net/emoticons/v2/304456832/static/light/1.0",
"url_2x": "https://static-cdn.jtvnw.net/emoticons/v2/304456832/static/light/2.0",
"url_4x": "https://static-cdn.jtvnw.net/emoticons/v2/304456832/static/light/3.0"
},
"tier": "1000",
"emote_type": "subscriptions",
"emote_set_id": "301590448",
"format": ["static", "animated"],
"scale": ["1.0", "2.0", "3.0"],
"theme_mode": ["light", "dark"]
}
],
"template": "https://static-cdn.jtvnw.net/emoticons/v2////"
}
Gets the colour of the specified user’s name in chat rooms.
| Box Name | Type | Description |
|---|---|---|
| Login Name | Dropdown | The name of the channel to use for authentication in the API Header |
| Save Variable As | String | Variable to save the result |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| color | String | Hex code for the colour of the specified user’s name |
| user_id | String | The user’s ID |
| user_login | String | The user’s login name |
| user_name | String | The user’s display name |
Twitch API Endpoint: GET /helix/chat/color
Example SAMMI Response Object:
{
"user_id": "77777777",
"user_login": "colorfulviewer",
"user_name": "ColorfulViewer",
"color": "#FF4500"
}
Gets the display name of a random viewer currently connected to the broadcaster’s chat session.
If Channel is empty, SAMMI uses the default Twitch account. The command reads up to the first 1000 chatters returned by Twitch and chooses one of them at random. If the channel is invalid, Twitch is not connected, or no chatters are returned, the saved variable is set to undefined.
| Box Name | Type | Description |
|---|---|---|
| Channel | Twitch Account | Channel name to get a random chatter from. Leave empty to use the default Twitch account. |
| Save Variable As | String | Variable name to save the viewer display name. |
Saved Value:
| Value | Type | Description |
|---|---|---|
| savedVariable | String | Display name (user_name) of one randomly selected chatter from the first 1000 chatters returned by Twitch. |
| undefined | Undefined | Saved if Twitch is not connected, the channel cannot be resolved, no chatters are returned, required scopes are missing, or the request fails. |
Twitch API Endpoint: GET /helix/chat/chatters (SAMMI picks one random user_name from the returned list)
Example SAMMI Response:
ActiveChatter
SAMMI saves only the user_name field of a randomly selected chatter as a plain string.
moderator:read:chatters and user:read:email Twitch scopes for the selected channel/account.
Gets the custom Power-ups available for a Twitch channel and saves the full response object returned by Twitch.
If Channel Name is empty, SAMMI uses the default Twitch account. If Twitch is not connected, the channel cannot be resolved, or the request fails, the saved variable is set to undefined.
| Box Name | Type | Description |
|---|---|---|
| Channel Name | Twitch Account | Twitch channel to fetch custom Power-ups from. Leave empty to use the default Twitch account. |
| Save Variable As | String | Variable name to save the response object. |
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| data | Array | Array of custom Power-up objects returned by Twitch. |
data[0-?] |
Object | A single custom Power-up object. |
| pagination | Object | Pagination information returned by Twitch, if available. |
Example:
| Channel Name | Save Variable As | Result |
|---|---|---|
| Main Twitch account | customPowerups | Saves the custom Power-ups response to customPowerups. |
After running the command, you can use other object/array commands to inspect the returned data, such as reading the first Power-up name or ID from the saved result.
Twitch API Endpoint: GET /helix/bits/custom_power_ups
Example SAMMI Response Object:
{
"data": [
{
"broadcaster_id": "98765432",
"type": "gigantify_an_emote",
"is_enabled": true,
"last_updated": "2024-01-10T00:00:00Z",
"redemption_settings": {
"bits_cost": 250
}
},
{
"broadcaster_id": "98765432",
"type": "celebration",
"is_enabled": true,
"last_updated": "2024-01-10T00:00:00Z",
"redemption_settings": {
"bits_cost": 300
}
}
],
"pagination": {}
}
bits:read and user:read:email Twitch scopes for the selected channel/account.
