Skip to main content

Channel Points

FunctionReturns
getCustomRewardsPromise<Array<CustomReward>>
getCustomRewardsByIdsPromise<Array<CustomReward>>
getCustomRewardByIdPromise<CustomReward | null>
createCustomRewardPromise<CustomReward>
updateCustomRewardPromise<CustomReward>
deleteCustomRewardPromise<void>
getRedemptionsByIdsPromise<Array<CustomRewardRedemption>>
getRedemptionByIdPromise<CustomRewardRedemption | null>
getRedemptionsForBroadcasterPromise<PaginatedResult<CustomRewardRedemption>>
updateRedemptionStatusByIdsPromise<Array<CustomRewardRedemption>>

Functions​

getCustomRewards​

twitch.channelPoint.getCustomRewards(onlyManageable?: boolean): Promise<Array<CustomReward>>

getCustomRewardsByIds​

twitch.channelPoint.getCustomRewardsByIds(rewardIds: Array<string>): Promise<Array<CustomReward>>

getCustomRewardById​

twitch.channelPoint.getCustomRewardById(rewardId: string): Promise<CustomReward | null>

createCustomReward​

twitch.channelPoint.createCustomReward(data: CreateCustomReward): Promise<CustomReward>

updateCustomReward​

twitch.channelPoint.updateCustomReward(rewardId: string, data: UpdateCustomReward): Promise<CustomReward>

deleteCustomReward​

twitch.channelPoint.deleteCustomReward(rewardId: string): Promise<void>

getRedemptionsByIds​

twitch.channelPoint.getRedemptionsByIds(rewardId: string, redemptionIds: Array<string>): Promise<Array<CustomRewardRedemption>>

getRedemptionById​

twitch.channelPoint.getRedemptionById(rewardId: string, redemptionId: string): Promise<CustomRewardRedemption | null>

getRedemptionsForBroadcaster​

twitch.channelPoint.getRedemptionsForBroadcaster(broadcasterId: UserIdResolvable, rewardId: string, status: CustomRewardRedemptionStatus, filter: PaginatedCustomRewardRedemptionFilter): Promise<PaginatedResult<CustomRewardRedemption>>

updateRedemptionStatusByIds​

twitch.channelPoint.updateRedemptionStatusByIds(id: string, redemptionIds: Array<string>, status: CustomRewardRedemptionTargetStatus): Promise<Array<CustomRewardRedemption>>

Types​

CreateCustomReward​

type CreateCustomReward = {
title: string
cost: number
prompt?: string
isEnabled?: boolean
backgroundColor?: string
userInputRequired?: boolean
maxRedemptionsPerStream?: number
maxRedemptionsPerUserPerStream?: number
globalCooldown?: number
autoFulfill?: boolean
}

CustomReward​

type CustomReward = {
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
id: string
image: CustomRewardImage | null
backgroundColor: string
isEnabled: boolean
cost: number
title: string
prompt: string
isUserInputRequired: boolean
maxPerStreamSetting: CustomRewardMaxPerStreamSetting
maxPerUserPerStreamSetting: CustomRewardMaxPerUserPerStreamSetting
globalCooldownSetting: CustomRewardGlobalCooldownSetting
isPaused: boolean
isInStock: boolean
defaultImage: CustomRewardImage
shouldRedemptionsSkipRequestQueue: boolean
redemptionsRedeemedCurrentStream: number | null
cooldownExpiresAt: string
}

CustomRewardGlobalCooldownSetting​

type CustomRewardGlobalCooldownSetting = {
isEnabled: boolean
globalCooldownSeconds: number
}

CustomRewardImage​

type CustomRewardImage = {
url1X: string
url2X: string
url4X: string
}

CustomRewardMaxPerStreamSetting​

type CustomRewardMaxPerStreamSetting = {
isEnabled: boolean
maxPerStream: number
}

CustomRewardMaxPerUserPerStreamSetting​

type CustomRewardMaxPerUserPerStreamSetting = {
isEnabled: boolean
maxPerUserPerStream: number
}

CustomRewardRedemption​

type CustomRewardRedemption = {
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
id: string
userId: string
userLogin: string
userName: string
userInput: string
status: CustomRewardRedemptionStatus
redeemedAt: string
reward: CustomRewardRedemptionReward
}

CustomRewardRedemptionReward​

type CustomRewardRedemptionReward = {
id: string
title: string
prompt: string
cost: number
}

CustomRewardRedemptionStatus​

type CustomRewardRedemptionStatus = "UNFULFILLED" | "FULFILLED" | "CANCELED"

CustomRewardRedemptionTargetStatus​

type CustomRewardRedemptionTargetStatus = "FULFILLED" | "CANCELED"

PaginatedCustomRewardRedemptionFilter​

type PaginatedCustomRewardRedemptionFilter = {
newestFirst?: boolean
limit?: number
after?: string
}

PaginatedResult​

type PaginatedResult<T> = {
data: Array<T>
cursor?: string
}

UpdateCustomReward​

type UpdateCustomReward = {
isPaused?: boolean
title?: string
cost?: number
prompt?: string
isEnabled?: boolean
backgroundColor?: string
userInputRequired?: boolean
maxRedemptionsPerStream?: number
maxRedemptionsPerUserPerStream?: number
globalCooldown?: number
autoFulfill?: boolean
}

UserIdResolvable​

type UserIdResolvable = string | UserIdResolvableType

UserIdResolvableType​

type UserIdResolvableType = {
id: string
}