Notify — multi-channel fan-out or waterfall
Send a single payload to multiple recipients across heterogeneous channels (SMS, WhatsApp, email, RCS, push, etc.) in one API call. Each recipient is addressed by channel and destination (e.g., phone number or email). Supports two delivery strategies: fanout (send every binding immediately, returning per-binding delivery handles) and waterfall (send the richest binding first, then auto-escalate down the ordered bindings asynchronously when the active channel reports undelivered within the TTL). Returns HTTP 200 when every binding succeeds (fanout) or at least one binding queues (waterfall); 207 Multi-Status when at least one binding failed AND at least one succeeded (fanout only); 422 when every binding failed (fanout) or every binding rejected synchronously (waterfall).
Authorizations
Dashboard JWT token from Clerk
Body
Array of per-binding payloads. Each specifies a channel and destination. Minimum 2 bindings for waterfall mode.
1 - 10000 elementsShared message body — applied to every binding that doesn't carry its own.
1 - 4000Shared sender identifier — applied to every binding that doesn't carry its own.
1 - 128Shared template name — applied when neither shared nor per-binding body is set.
1 - 128Shared template parameters — applied to every binding that doesn't carry its own.
Shared metadata bag — merged onto every binding's metadata.
Delivery strategy. fanout (default): send every binding immediately. waterfall: send the first binding; auto-escalate remaining bindings on DLR undelivered within the TTL.
fanout, waterfall Waterfall freshness window in seconds. An undelivered DLR landing after this window does NOT escalate. Ignored in fanout mode. Default 24h; floor 30s, ceiling 24h.
30 <= x <= 86400