githubEdit

brackets-curlyWebhook Payloads

Request body payloads for Webhook API requests

Events

Event
Name
Version
Description

chat.message.sent

1

Fired when a message has been sent in a stream's chat.

channel.followed

1

Fired when a user follows a channel.

channel.subscription.renewal

1

Fired when a user's subscription to a channel is renewed.

channel.subscription.gifts

1

Fired when a user gifts subscriptions to a channel.

channel.subscription.new

1

Fired when a user first subscribes to a channel.

channel.reward.redemption.updated

1

Fired when a channel reward is redeemed by a user.

livestream.status.updated

1

Fired when a stream's status has been updated. For example, a stream could have started or ended

livestream.metadata.updated

1

Fired when a stream's metadata has been updated. For example, a stream's title could have changed.

moderation.banned

1

Fired when a user has been banned from a channel.

kicks.gifted

1

Fired when a user gifts kicks to a channel.

Chat Message

Headers
- Kick-Event-Type: “chat.message.sent”
- Kick-Event-Version: “1

{
  "message_id": "unique_message_id_123",
  "replies_to": {
    "message_id": "unique_message_id_456",
    "content": "This is the parent message!",
    "sender": {
      "is_anonymous": false,
      "user_id": 12345,
      "username": "parent_sender_name",
      "is_verified": false,
      "profile_picture": "https://example.com/parent_sender_avatar.jpg",
      "channel_slug": "parent_sender_channel",
      "identity": null // no identity for sender in replies_to at the moment
    },
  },
  "broadcaster": {
    "is_anonymous": false,
    "user_id": 123456789,
    "username": "broadcaster_name",
    "is_verified": true,
    "profile_picture": "https://example.com/broadcaster_avatar.jpg",
    "channel_slug": "broadcaster_channel",
    "identity": null // no identity for broadcasters at the moment
  },
  "sender": {
    "is_anonymous": false,
    "user_id": 987654321,
    "username": "sender_name",
    "is_verified": false,
    "profile_picture": "https://example.com/sender_avatar.jpg",
    "channel_slug": "sender_channel",
    "identity": {
      "username_color": "#FF5733",
      "badges": [
        {
          "text": "Moderator",
          "type": "moderator",
        },
        {
          "text": "Sub Gifter",
          "type": "sub_gifter",
          "count": 5,
        },
        {
          "text": "Subscriber",
          "type": "subscriber",
          "count": 3,
        }
      ]
    }
  },
  "content": "Hello [emote:4148074:HYPERCLAP] [emote:4148074:HYPERCLAP] [emote:37226:KEKW]",
  "emotes": [
    {
      "emote_id": "4148074",
      "positions": [
        { "s": 6, "e": 30 },
        { "s": 32, "e": 56 }
      ]
    },
    {
      "emote_id": "37226",
      "positions": [
        { "s": 58, "e": 75 }
      ]
    }
  ],
  "created_at": "2025-01-14T16:08:06Z"
}

Channel Follow

Channel Subscription Renewal

Channel Subscription Gifts

Channel Subscription Created

Channel Reward Redemption Updated

The status field is limited to one of the following three string values:

  • "pending"

  • "accepted"

  • "rejected"

Livestream Status Updated

Stream started

Stream ended

Livestream Metadata Updated

Moderation Banned

Kicks Gifted

Last updated