Skip to content
twitch.apiv2.0

Reference / API groups

twitch.moderation

Moderation: bans, timeouts, warnings, AutoMod, blocked terms, moderators, VIPs and Shield Mode.

Every method of twitch.moderation, with its parameters, what it returns and the token it needs.

twitch.moderation.checkAutoMod(params, options?): Promise<AutoModCheckResult[]>

Tells whether AutoMod would let messages through in a channel, without sending them. Twitch limits these checks per channel, from 5 a minute for a regular account to 30 for a partner.

Token: app or user, scope moderation:read.

NameTypeDescription
broadcaster_idstringBroadcaster whose AutoMod settings and blocked terms apply. Defaults to the user making the call.
data requiredreadonly AutoModCheckMessage[]Messages to check, 1 to 100.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<AutoModCheckResult[]>

Fields of AutoModCheckResult
NameTypeDescription
msg_idstringThe ID you gave to the message.
is_permittedbooleantrue when the message would go straight to chat, false when it would be held or blocked.
const [result] = await twitch.moderation.checkAutoMod({
data: [{ msg_id: "1", msg_text: "Hello chat" }],
});
if (!result?.is_permitted) console.log("AutoMod would hold this message");

Twitch reference

twitch.moderation.manageAutoModMessage(params, options?): Promise<void>

Approves or denies a message that AutoMod is holding for review.

Token: app or user, scope moderator:manage:automod.

NameTypeDescription
user_idstringModerator who takes the decision. Defaults to the user making the call.
msg_id requiredstringID of the held message.
action required"ALLOW" | "DENY""ALLOW" releases the message to chat, "DENY" discards it.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.manageAutoModMessage({ msg_id: "836013710", action: "ALLOW" });

Twitch reference

twitch.moderation.autoModSettings(params, options?): Promise<AutoModSettings>

Gets the AutoMod levels of a channel.

Token: app or user, scope moderator:read:automod_settings or moderator:manage:automod_settings.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose settings to read.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<AutoModSettings>

Fields of AutoModSettings
NameTypeDescription
broadcaster_idstringID of the broadcaster.
moderator_idstringID of the moderator who made the call.
overall_levelnumber | nullOverall level, 0 to 4. null when the categories were set one by one.
disabilitynumberLevel for discrimination against disability.
aggressionnumberLevel for aggressive hostility.
sexuality_sex_or_gendernumberLevel for discrimination based on sexuality, sex or gender.
misogynynumberLevel for discrimination against women.
bullyingnumberLevel for name calling and insults.
swearingnumberLevel for profanity.
race_ethnicity_or_religionnumberLevel for racial, ethnic or religious discrimination.
sex_based_termsnumberLevel for sexual content.
const settings = await twitch.moderation.autoModSettings({ broadcaster_id: "141981764" });
console.log(settings.overall_level);

Twitch reference

twitch.moderation.updateAutoModSettings(params, options?): Promise<AutoModSettings>

Replaces the AutoMod levels of a channel. This overwrites everything: a category you leave out goes back to 0, so send all the levels you want to keep.

Token: app or user, scope moderator:manage:automod_settings.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose settings to change.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
overall_levelnumberOverall level, 0 to 4. Twitch derives every category level from it.
disabilitynumberLevel for discrimination against disability.
aggressionnumberLevel for aggressive hostility.
sexuality_sex_or_gendernumberLevel for discrimination based on sexuality, sex or gender.
misogynynumberLevel for discrimination against women.
bullyingnumberLevel for name calling and insults.
swearingnumberLevel for profanity.
race_ethnicity_or_religionnumberLevel for racial, ethnic or religious discrimination.
sex_based_termsnumberLevel for sexual content.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<AutoModSettings>

Fields of AutoModSettings
NameTypeDescription
broadcaster_idstringID of the broadcaster.
moderator_idstringID of the moderator who made the call.
overall_levelnumber | nullOverall level, 0 to 4. null when the categories were set one by one.
disabilitynumberLevel for discrimination against disability.
aggressionnumberLevel for aggressive hostility.
sexuality_sex_or_gendernumberLevel for discrimination based on sexuality, sex or gender.
misogynynumberLevel for discrimination against women.
bullyingnumberLevel for name calling and insults.
swearingnumberLevel for profanity.
race_ethnicity_or_religionnumberLevel for racial, ethnic or religious discrimination.
sex_based_termsnumberLevel for sexual content.
await twitch.moderation.updateAutoModSettings({ broadcaster_id: "141981764", overall_level: 3 });
await twitch.moderation.updateAutoModSettings({ broadcaster_id: "141981764", swearing: 2, bullying: 4 });

Twitch reference

twitch.moderation.bans(params?, options?): Paginator<BannedUser>

Lists the users who are banned or timed out in a channel.

Token: app or user, scope moderation:read or moderator:manage:banned_users.

NameTypeDescription
broadcaster_idstringBroadcaster whose bans to list. Defaults to the user making the call.
user_idstring | readonly string[]Only these users, when they are banned or timed out. Up to 100 IDs.
firstnumberItems per page, 1 to 100. Twitch defaults to 20.
afterstringCursor of the next page.
beforestringCursor of the previous page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<BannedUser>

Fields of BannedUser
NameTypeDescription
user_idstringID of the banned user.
user_loginstringLogin name of the banned user.
user_namestringDisplay name of the banned user.
expires_atstringWhen the timeout ends, as an RFC 3339 timestamp. An empty string for a permanent ban.
created_atstringWhen the ban or timeout was set, as an RFC 3339 timestamp.
reasonstringReason given by the moderator. An empty string when there is none.
moderator_idstringID of the moderator who set the ban or timeout.
moderator_loginstringLogin name of that moderator.
moderator_namestringDisplay name of that moderator.
for await (const banned of twitch.moderation.bans()) {
console.log(banned.user_login, banned.expires_at || "permanent");
}

Twitch reference

twitch.moderation.ban(params, options?): Promise<UserBan>

Bans a user from a channel’s chat. A timeout is a ban with a duration: give the number of seconds and the user is let back in afterwards. Calling it again on a timed out user changes the duration or turns the timeout into a ban, but a banned user has to be unbanned before a timeout can be set.

Token: app or user, scope moderator:manage:banned_users.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose chat the user is removed from.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
user_id requiredstringID of the user to ban or time out.
durationnumberLength of the timeout in seconds, 1 to 1209600 (two weeks). Leave it out for a permanent ban.
reasonstringReason shown to the user and the other moderators, 500 characters at most.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<UserBan>

Fields of UserBan
NameTypeDescription
broadcaster_idstringID of the broadcaster whose chat the user was removed from.
moderator_idstringID of the moderator who set it.
user_idstringID of the banned user.
created_atstringWhen it was set, as an RFC 3339 timestamp.
end_timestring | nullWhen the timeout ends, as an RFC 3339 timestamp. null for a permanent ban.
await twitch.moderation.ban({ broadcaster_id: "141981764", user_id: "9876", reason: "Spam" });
const timeout = await twitch.moderation.ban({ broadcaster_id: "141981764", user_id: "9876", duration: 600 });
console.log(timeout.end_time);

Twitch reference

twitch.moderation.unban(params, options?): Promise<void>

Lifts the ban or the timeout of a user.

Token: app or user, scope moderator:manage:banned_users.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose chat the user is banned from.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
user_id requiredstringID of the user to unban.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.unban({ broadcaster_id: "141981764", user_id: "9876" });

Twitch reference

twitch.moderation.unbanRequests(params, options?): Paginator<UnbanRequest>

Lists the unban requests of a channel that are in a given state.

Token: user, scope moderator:read:unban_requests or moderator:manage:unban_requests.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose channel received the requests.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
status requiredUnbanRequestStatusOnly requests in this state.
user_idstringOnly requests written by this user.
firstnumberItems per page.
afterstringCursor of the next page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<UnbanRequest>

Fields of UnbanRequest
NameTypeDescription
idstringID of the request.
broadcaster_idstringID of the broadcaster who received the request.
broadcaster_loginstringLogin name of the broadcaster.
broadcaster_namestringDisplay name of the broadcaster.
moderator_idstringID of the moderator who approved or denied the request.
moderator_loginstringLogin name of that moderator.
moderator_namestringDisplay name of that moderator.
user_idstringID of the banned user who wrote the request.
user_loginstringLogin name of that user.
user_namestringDisplay name of that user.
textstringMessage written by the user.
statusUnbanRequestStatusWhere the request stands.
created_atstringWhen the request was sent, as an RFC 3339 timestamp.
resolved_atstring | nullWhen the request was approved or denied, as an RFC 3339 timestamp. null while it is open.
resolution_textstring | nullAnswer written by the moderator. null while the request is open.
const pending = await twitch.moderation.unbanRequests({ broadcaster_id: "141981764", status: "pending" }).all();

Twitch reference

twitch.moderation.resolveUnbanRequest(params, options?): Promise<UnbanRequest>

Approves or denies an unban request. Approving it unbans the user.

Token: user, scope moderator:manage:unban_requests.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose channel received the request.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
unban_request_id requiredstringID of the request to resolve.
status required"approved" | "denied"The decision.
resolution_textstringAnswer shown to the user, 500 characters at most.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<UnbanRequest>

Fields of UnbanRequest
NameTypeDescription
idstringID of the request.
broadcaster_idstringID of the broadcaster who received the request.
broadcaster_loginstringLogin name of the broadcaster.
broadcaster_namestringDisplay name of the broadcaster.
moderator_idstringID of the moderator who approved or denied the request.
moderator_loginstringLogin name of that moderator.
moderator_namestringDisplay name of that moderator.
user_idstringID of the banned user who wrote the request.
user_loginstringLogin name of that user.
user_namestringDisplay name of that user.
textstringMessage written by the user.
statusUnbanRequestStatusWhere the request stands.
created_atstringWhen the request was sent, as an RFC 3339 timestamp.
resolved_atstring | nullWhen the request was approved or denied, as an RFC 3339 timestamp. null while it is open.
resolution_textstring | nullAnswer written by the moderator. null while the request is open.
const request = await twitch.moderation.resolveUnbanRequest({
broadcaster_id: "141981764",
unban_request_id: "92af127c-7326-4483-a52b-b0da0be61c01",
status: "approved",
resolution_text: "Welcome back.",
});

Twitch reference

twitch.moderation.blockedTerms(params, options?): Paginator<BlockedTerm>

Lists the blocked terms of a channel, newest first. Private terms are not included.

Token: app or user, scope moderator:read:blocked_terms or moderator:manage:blocked_terms.

NameTypeDescription
broadcaster_id requiredstringBroadcaster who owns the list.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
firstnumberItems per page, 1 to 100. Twitch defaults to 20.
afterstringCursor of the next page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<BlockedTerm>

Fields of BlockedTerm
NameTypeDescription
broadcaster_idstringID of the broadcaster who owns the list.
moderator_idstringID of the moderator who blocked the term.
idstringID of the blocked term.
textstringThe blocked word or phrase.
created_atstringWhen the term was blocked, as an RFC 3339 timestamp.
updated_atstringWhen the term last changed, as an RFC 3339 timestamp. Moves each time AutoMod denies it again.
expires_atstring | nullWhen the block ends, as an RFC 3339 timestamp. null for a term added by hand or blocked for good by AutoMod.
const terms = await twitch.moderation.blockedTerms({ broadcaster_id: "141981764" }).all();

Twitch reference

twitch.moderation.addBlockedTerm(params, options?): Promise<BlockedTerm>

Blocks a word or phrase in a channel’s chat. When the term is already blocked, the existing entry is returned.

Token: app or user, scope moderator:manage:blocked_terms.

NameTypeDescription
broadcaster_id requiredstringBroadcaster who owns the list.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
text requiredstringWord or phrase to block, 2 to 500 characters. A * at the start or the end of a word works as a wildcard, as in "foo*".

options: Request options for this call: as, token, signal, timeout, retries.

Promise<BlockedTerm>

Fields of BlockedTerm
NameTypeDescription
broadcaster_idstringID of the broadcaster who owns the list.
moderator_idstringID of the moderator who blocked the term.
idstringID of the blocked term.
textstringThe blocked word or phrase.
created_atstringWhen the term was blocked, as an RFC 3339 timestamp.
updated_atstringWhen the term last changed, as an RFC 3339 timestamp. Moves each time AutoMod denies it again.
expires_atstring | nullWhen the block ends, as an RFC 3339 timestamp. null for a term added by hand or blocked for good by AutoMod.
const term = await twitch.moderation.addBlockedTerm({ broadcaster_id: "141981764", text: "spoil*" });

Twitch reference

twitch.moderation.removeBlockedTerm(params, options?): Promise<void>

Removes a term from a channel’s blocked terms. An ID that does not exist is not an error.

Token: app or user, scope moderator:manage:blocked_terms.

NameTypeDescription
broadcaster_id requiredstringBroadcaster who owns the list.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
id requiredstringID of the blocked term to remove.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.removeBlockedTerm({ broadcaster_id: "141981764", id: term.id });

Twitch reference

twitch.moderation.deleteMessages(params, options?): Promise<void>

Removes one message from a channel’s chat, or every message when no message_id is given.

Token: app or user, scope moderator:manage:chat_messages.

NameTypeDescription
broadcaster_id requiredstringBroadcaster who owns the chat room.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
message_idstringID of the message to remove. It must be less than 6 hours old and written by neither the broadcaster nor a moderator. Leave it out to clear the chat.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.deleteMessages({ broadcaster_id: "141981764", message_id: "abc-123-def" });
await twitch.moderation.deleteMessages({ broadcaster_id: "141981764" });

Twitch reference

twitch.moderation.moderatedChannels(params?, options?): Paginator<ModeratedChannel>

Lists the channels in which a user is a moderator.

Token: app or user, scope user:read:moderated_channels.

NameTypeDescription
user_idstringUser whose moderated channels to list. Defaults to the user making the call.
firstnumberItems per page, 1 to 100. Twitch defaults to 20.
afterstringCursor of the next page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<ModeratedChannel>

Fields of ModeratedChannel
NameTypeDescription
broadcaster_idstringID of the channel’s broadcaster.
broadcaster_loginstringLogin name of the broadcaster.
broadcaster_namestringDisplay name of the broadcaster.
for await (const channel of twitch.moderation.moderatedChannels()) {
console.log(channel.broadcaster_login);
}

Twitch reference

twitch.moderation.moderators(params?, options?): Paginator<ChannelModerator>

Lists the moderators of a channel.

Token: user, scope moderation:read or channel:manage:moderators.

NameTypeDescription
broadcaster_idstringBroadcaster whose moderators to list. Defaults to the user making the call.
user_idstring | readonly string[]Only these users, when they are moderators. Up to 100 IDs.
firstnumberItems per page, 1 to 100. Twitch defaults to 20.
afterstringCursor of the next page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<ChannelModerator>

Fields of ChannelModerator
NameTypeDescription
user_idstringID of the moderator.
user_loginstringLogin name of the moderator.
user_namestringDisplay name of the moderator.
const mods = await twitch.moderation.moderators().all();

Twitch reference

twitch.moderation.addModerator(params, options?): Promise<void>

Makes a user a moderator of the channel. A VIP has to lose that status first. Twitch allows 10 additions per 10 seconds.

Token: user, scope channel:manage:moderators.

NameTypeDescription
broadcaster_idstringBroadcaster who owns the chat room. Defaults to the user making the call.
user_id requiredstringID of the user to make a moderator.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.addModerator({ user_id: "9876" });

Twitch reference

twitch.moderation.removeModerator(params, options?): Promise<void>

Takes the moderator role away from a user. Twitch allows 10 removals per 10 seconds.

Token: user, scope channel:manage:moderators.

NameTypeDescription
broadcaster_idstringBroadcaster who owns the chat room. Defaults to the user making the call.
user_id requiredstringID of the moderator to remove.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.removeModerator({ user_id: "9876" });

Twitch reference

twitch.moderation.vips(params?, options?): Paginator<ChannelVip>

Lists the VIPs of a channel.

Token: user, scope channel:read:vips or channel:manage:vips.

NameTypeDescription
broadcaster_idstringBroadcaster whose VIPs to list. Defaults to the user making the call.
user_idstring | readonly string[]Only these users, when they are VIPs. Up to 100 IDs.
firstnumberItems per page, 1 to 100. Twitch defaults to 20.
afterstringCursor of the next page.

options: Request options for this call: as, token, signal, timeout, retries.

Paginator<ChannelVip>

Fields of ChannelVip
NameTypeDescription
user_idstringID of the VIP.
user_namestringDisplay name of the VIP.
user_loginstringLogin name of the VIP.
const vips = await twitch.moderation.vips().all();

Twitch reference

twitch.moderation.addVip(params, options?): Promise<void>

Makes a user a VIP of the channel. A moderator has to lose that role first, and the channel needs a free VIP slot. Twitch allows 10 additions per 10 seconds.

Token: user, scope channel:manage:vips.

NameTypeDescription
broadcaster_idstringBroadcaster who grants the status. Defaults to the user making the call.
user_id requiredstringID of the user to make a VIP.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.addVip({ user_id: "9876" });

Twitch reference

twitch.moderation.removeVip(params, options?): Promise<void>

Takes the VIP status away from a user. A VIP can also give up their own status: pass the channel in broadcaster_id and make the call as that VIP. Twitch allows 10 removals per 10 seconds.

Token: user, scope channel:manage:vips.

NameTypeDescription
broadcaster_idstringBroadcaster of the channel where the user is a VIP. Defaults to the user making the call.
user_id requiredstringID of the VIP to remove.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<void>

await twitch.moderation.removeVip({ user_id: "9876" });
await twitch.moderation.removeVip({ broadcaster_id: "141981764", user_id: "9876" }, { as: "9876" });

Twitch reference

twitch.moderation.updateShieldMode(params, options?): Promise<ShieldModeStatus>

Turns Shield Mode on or off in a channel. While it is on, the stricter chat rules the broadcaster prepared for it apply.

Token: app or user, scope moderator:manage:shield_mode.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose Shield Mode to switch.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
is_active requiredbooleantrue turns Shield Mode on, false turns it off.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<ShieldModeStatus>

Fields of ShieldModeStatus
NameTypeDescription
is_activebooleanWhether Shield Mode is on.
moderator_idstringID of the moderator who last turned it on. An empty string when it was never on.
moderator_loginstringLogin name of that moderator. An empty string when it was never on.
moderator_namestringDisplay name of that moderator. An empty string when it was never on.
last_activated_atstringWhen it was last turned on, as an RFC 3339 timestamp. An empty string when it was never on.
const status = await twitch.moderation.updateShieldMode({ broadcaster_id: "141981764", is_active: true });

Twitch reference

twitch.moderation.shieldMode(params, options?): Promise<ShieldModeStatus>

Tells whether Shield Mode is on in a channel and who turned it on last.

Token: app or user, scope moderator:read:shield_mode or moderator:manage:shield_mode.

NameTypeDescription
broadcaster_id requiredstringBroadcaster whose Shield Mode to read.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<ShieldModeStatus>

Fields of ShieldModeStatus
NameTypeDescription
is_activebooleanWhether Shield Mode is on.
moderator_idstringID of the moderator who last turned it on. An empty string when it was never on.
moderator_loginstringLogin name of that moderator. An empty string when it was never on.
moderator_namestringDisplay name of that moderator. An empty string when it was never on.
last_activated_atstringWhen it was last turned on, as an RFC 3339 timestamp. An empty string when it was never on.
const { is_active } = await twitch.moderation.shieldMode({ broadcaster_id: "141981764" });

Twitch reference

twitch.moderation.warn(params, options?): Promise<UserWarning>

Sends a warning to a chat user, who cannot chat again until they acknowledge it. A new warning replaces a pending one.

Token: app or user, scope moderator:manage:warnings.

NameTypeDescription
broadcaster_id requiredstringBroadcaster of the channel the warning applies to.
moderator_idstringThe broadcaster or one of their moderators. Defaults to the user making the call.
user_id requiredstringID of the user to warn.
reason requiredstringWhy the user is warned, 500 characters at most.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<UserWarning>

Fields of UserWarning
NameTypeDescription
broadcaster_idstringID of the broadcaster of the channel the warning applies to.
user_idstringID of the warned user.
moderator_idstringID of the moderator who sent the warning.
reasonstringReason given with the warning.
await twitch.moderation.warn({ broadcaster_id: "141981764", user_id: "9876", reason: "Keep it friendly." });

Twitch reference

twitch.moderation.addSuspiciousStatus(params, options?): Promise<SuspiciousUser>

Flags a chatter as suspicious in a channel, either to keep an eye on them or to restrict their messages.

Token: app or user, scope moderator:manage:suspicious_users.

NameTypeDescription
broadcaster_id requiredstringBroadcaster of the channel the status applies to.
moderator_idstringModerator who sets the status. Defaults to the user making the call.
user_id requiredstringID of the chatter to flag.
status required"ACTIVE_MONITORING" | "RESTRICTED""ACTIVE_MONITORING" watches the user, "RESTRICTED" also hides their messages from chat.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<SuspiciousUser>

Fields of SuspiciousUser
NameTypeDescription
user_idstringID of the chatter.
broadcaster_idstringID of the broadcaster of the channel.
moderator_idstringID of the moderator who last changed the status.
updated_atstringWhen the status last changed, as an RFC 3339 timestamp.
statusSuspiciousUserStatusCurrent treatment. "NO_TREATMENT" once the status has been removed.
typesSuspiciousUserType[]Reasons the user is considered suspicious.
const flagged = await twitch.moderation.addSuspiciousStatus({
broadcaster_id: "141981764",
user_id: "9876",
status: "RESTRICTED",
});

Twitch reference

twitch.moderation.removeSuspiciousStatus(params, options?): Promise<SuspiciousUser>

Clears the suspicious status of a chatter in a channel.

Token: app or user, scope moderator:manage:suspicious_users.

NameTypeDescription
broadcaster_id requiredstringBroadcaster of the channel the status applies to.
moderator_idstringModerator who removes the status. Defaults to the user making the call.
user_id requiredstringID of the chatter to clear.

options: Request options for this call: as, token, signal, timeout, retries.

Promise<SuspiciousUser>

Fields of SuspiciousUser
NameTypeDescription
user_idstringID of the chatter.
broadcaster_idstringID of the broadcaster of the channel.
moderator_idstringID of the moderator who last changed the status.
updated_atstringWhen the status last changed, as an RFC 3339 timestamp.
statusSuspiciousUserStatusCurrent treatment. "NO_TREATMENT" once the status has been removed.
typesSuspiciousUserType[]Reasons the user is considered suspicious.
await twitch.moderation.removeSuspiciousStatus({ broadcaster_id: "141981764", user_id: "9876" });

Twitch reference