Skip to content

Payload reference

These fields belong to the notification payload: inside the WebSocket envelope’s JSON string, or directly in a UDP datagram.

Field Type Default when omitted Behavior
title string empty Notification heading
content string empty Notification body
sourceApp string empty Sender label
timeout number 5 Seconds; clamped to 0.5 to 60
opacity number 1 Clamped to 0 to 1
volume number 1 Parsed and clamped to 0 to 1; current playback uses the global sound-volume setting
audioPath string empty Parsed for compatibility; custom asset loading is not implemented
icon string empty Parsed for compatibility; custom asset loading is not implemented
useBase64Icon boolean false Parsed for compatibility; custom asset loading is not implemented
height integer 0 Carried for compatibility; card layout follows its content
index integer 0 Carried for compatibility; does not create separate notification stacks
type integer 0 Notification kind
messageType integer 0 Legacy spelling of type; a nonzero value takes precedence

At least one of title and content must contain non-whitespace text. Invalid JSON and empty notifications are discarded.

Defaults apply when a field is absent. Explicit zero is preserved and then clamped: for example, timeout: 0 becomes 0.5 seconds, while opacity: 0 stays zero.

The card uses a compact body with truncation for long messages. Avoid relying on a requested pixel height or on several cards appearing simultaneously.

Fields accepted by the parser do not necessarily imply full XSOverlay feature support. Read the compatibility page before depending on icons or custom audio.