Skip to content

Webhook Events

All available webhook event types and their payload models.

Chat

chat.message.sent

Fired when a chat message is sent. Enum: WebhookEvent.CHAT_MESSAGE_SENT

kickpy.models.webhooks.chat_message.ChatMessage(message_id, broadcaster, sender, content, emotes, replies_to=None, created_at=None) dataclass

kickpy.models.webhooks.chat_message.Reply(message_id, content, sender) dataclass

The parent message when a chat message is a reply.

kickpy.models.webhooks.chat_message.Emote(emote_id, positions) dataclass

kickpy.models.webhooks.chat_message.EmotePosition(s, e) dataclass

Channel

channel.followed

Fired when a user follows a channel. Enum: WebhookEvent.CHANNEL_FOLLOWED

kickpy.models.webhooks.channel_follow.ChannelFollow(broadcaster, follower) dataclass

Represents a channel follow event from a webhook.

channel.subscription.new

Fired when a new subscription is created. Enum: WebhookEvent.CHANNEL_SUB_NEW

kickpy.models.webhooks.channel_sub_created.ChannelSubCreated(broadcaster, subscriber, duration, created_at, expires_at) dataclass

Represents a channel subscription created event from a webhook.

channel.subscription.gifts

Fired when subscriptions are gifted. Enum: WebhookEvent.CHANNEL_SUB_GIFTS

kickpy.models.webhooks.channel_sub_gifts.ChannelSubGifts(broadcaster, gifter, giftees, created_at, expires_at) dataclass

Represents a channel subscription gift event from a webhook.

channel.subscription.renewal

Fired when a subscription is renewed. Enum: WebhookEvent.CHANNEL_SUB_RENEWAL

kickpy.models.webhooks.channel_sub_renewal.ChannelSubRenewal(broadcaster, subscriber, duration, created_at, expires_at) dataclass

Represents a channel subscription created renewal from a webhook.

channel.reward.redemption.updated

Fired when a reward redemption status changes. Enum: WebhookEvent.CHANNEL_REWARD_REDEMPTION_UPDATED

kickpy.models.webhooks.channel_reward_redemption.ChannelRewardRedemption(id, user_input, status, redeemed_at, reward, redeemer, broadcaster) dataclass

Represents a channel reward redemption updated event from a webhook.

Livestream

livestream.status.updated

Fired when a stream goes live or offline. Enum: WebhookEvent.LIVESTREAM_STATUS_UPDATED

kickpy.models.webhooks.livestream_status.LiveStreamStatusUpdated(broadcaster, is_live, title, started_at, ended_at) dataclass

Represents a live stream status from a webhook.

livestream.metadata.updated

Fired when stream metadata changes (title, category, etc.). Enum: WebhookEvent.LIVESTREAM_METADATA_UPDATED

kickpy.models.webhooks.livestream_metadata.LiveStreamMetadataUpdated(broadcaster, metadata) dataclass

Represents a live stream status from a webhook.

kickpy.models.webhooks.livestream_metadata.LivestreamMetadata(title, language, has_mature_content, category) dataclass

Represents a live stream metadata.

Moderation

channel.moderation.user_banned

Fired when a user is banned or timed out. Enum: WebhookEvent.MODERATION_USER_BANNED

kickpy.models.webhooks.moderation_banned.ModerationBanned(broadcaster, moderator, banned_user, metadata) dataclass

Represents a moderation banned event from a webhook.

kickpy.models.webhooks.moderation_banned.Metadata(reason, created_at, expires_at) dataclass

Represents metadata for a moderation banned webhook.

KICKs

kicks.gifted

Fired when KICKs are gifted. Enum: WebhookEvent.KICKS_GIFTED

kickpy.models.webhooks.kicks_gifted.KicksGifted(broadcaster, sender, gift, created_at) dataclass

Represents a kicks gifted event from a webhook.

kickpy.models.webhooks.kicks_gifted.Gift(amount, name, type, tier, message, pinned_time_seconds=0) dataclass

Represents a gift from a kicks gifted webhook.

Shared Types

These types are used across multiple webhook payloads.

kickpy.models.webhooks._shared.User(user_id, username, is_verified, profile_picture, channel_slug, is_anonymous=False, identity=None) dataclass

Represents a user from a webhook.

Some events (e.g. kicks.gifted, channel.reward.redemption.updated) use a compact user object that omits is_anonymous and identity.

kickpy.models.webhooks._shared.Identity(username_color, badges) dataclass

Represents a user's identity from a webhook.

kickpy.models.webhooks._shared.Badge(text, type, count=None) dataclass

Represents a badge from a webhook.