CreateRewardRequest

@Serializable
data class CreateRewardRequest(val title: String, val cost: Int, val prompt: String? = null, val isEnabled: Boolean? = null, val backgroundColor: String? = null, val isUserInputRequired: Boolean? = null, val isMaxPerStreamEnabled: Boolean? = null, val maxPerStream: Int? = null, val isMaxPerUserPerStreamEnabled: Boolean? = null, val maxPerUserPerStream: Int? = null, val isGlobalCooldownEnabled: Boolean? = null, val globalCooldownSeconds: Int? = null, val shouldRedemptionsSkipRequestQueue: Boolean? = null)

Twitch API: Create Custom Rewards

Constructors

Link copied to clipboard
constructor(title: String, cost: Int, prompt: String? = null, isEnabled: Boolean? = null, backgroundColor: String? = null, isUserInputRequired: Boolean? = null, isMaxPerStreamEnabled: Boolean? = null, maxPerStream: Int? = null, isMaxPerUserPerStreamEnabled: Boolean? = null, maxPerUserPerStream: Int? = null, isGlobalCooldownEnabled: Boolean? = null, globalCooldownSeconds: Int? = null, shouldRedemptionsSkipRequestQueue: Boolean? = null)

Properties

Link copied to clipboard
@SerialName(value = "background_color")
val backgroundColor: String?

the background color of the reward in hex format (e.g., #FA1ED2).

Link copied to clipboard
val cost: Int

the cost of the reward in Channel Points; minimum 1.

Link copied to clipboard
@SerialName(value = "global_cooldown_seconds")
val globalCooldownSeconds: Int?

the cooldown period in seconds.

Link copied to clipboard
@SerialName(value = "is_enabled")
val isEnabled: Boolean?

whether the reward is enabled; viewers see only enabled rewards.

Link copied to clipboard
@SerialName(value = "is_global_cooldown_enabled")
val isGlobalCooldownEnabled: Boolean?

whether to apply a cooldown period between redemptions.

Link copied to clipboard
@SerialName(value = "is_max_per_stream_enabled")
val isMaxPerStreamEnabled: Boolean?

whether to limit the maximum number of redemptions per live stream.

Link copied to clipboard
@SerialName(value = "is_max_per_user_per_stream_enabled")
val isMaxPerUserPerStreamEnabled: Boolean?

whether to limit the maximum number of redemptions per user per stream.

Link copied to clipboard
@SerialName(value = "is_user_input_required")
val isUserInputRequired: Boolean?

whether the user must enter information when redeeming the reward.

Link copied to clipboard
@SerialName(value = "max_per_stream")
val maxPerStream: Int?

the maximum number of redemptions allowed per live stream.

Link copied to clipboard
@SerialName(value = "max_per_user_per_stream")
val maxPerUserPerStream: Int?

the maximum number of redemptions allowed per user per stream.

Link copied to clipboard

the prompt shown to the viewer when they redeem the reward; max 200 characters.

Link copied to clipboard
@SerialName(value = "should_redemptions_skip_request_queue")
val shouldRedemptionsSkipRequestQueue: Boolean?

whether redemptions are automatically set to FULFILLED rather than entering the request queue.

Link copied to clipboard

the custom reward's title; max 45 characters, must be unique among the broadcaster's rewards.