Optional text message from the donor (max 250 chars, or 50 if TTS enabled). Empty string if none.
kick_username
string
Donor’s Kick.com username (used by overlays for external avatar display). Empty string if not set.
tts_url
string
Absolute URL to the TTS MP3 audio file. Empty string if no TTS.
have_tts
boolean
true if tts_url is present and valid
voice_message
string
Absolute URL to the uploaded voice recording. Empty string if none.
have_voice_message
boolean
true if voice_message is present and valid
receiver_username
string
Creator’s username
receiver_display_name
string
Creator’s full display name
receiver_avatar
string
Creator’s avatar URL
tier
string
Always empty for donations (used only for subscriptions)
duration
string
Always empty for donations
period
string
Always empty for donations
streak
integer
Always 0 for donations
timestamp
string
ISO 8601 timestamp of when the event was created
Always check have_tts before using tts_url, and have_voice_message before using voice_message. The URL fields may be empty strings even when the boolean flags are false.
Triggered when a creator uses the Test Lab in their Stream Alerts dashboard.
Test events are structurally identical to donation or subscription events — there is no special type value or flag in the WebSocket payload to distinguish them. They are delivered normally through the WebSocket.
Overlay clients can choose whether to display or filter test events based on their own logic.
The platform may add these additional event types in the future:
Type
Description
follow
A new user follows the creator
raid
Another streamer raids the creator’s stream
host
Another streamer hosts the creator’s stream
These will follow the same payload structure with the type field set accordingly. Your integration must handle unknown type values gracefully — log or ignore events with a type you don’t recognize rather than crashing.