Skip to main content

Entities & invariants

Behavior rules

  • Blasts: batch endpoints only, marketing rail, per-tenant token bucket; a blast NEVER degrades transactional latency (ADR-015).
  • date_property triggers run on cron fan-out at tenant-local send window; duplicates impossible via (campaign, contact, date) idempotency key.
  • Unsubscribe link mandatory on marketing; preference center per channel×category; transactional no-opt-out.

Events emitted

campaign.triggered · message.sent|delivered|opened|clicked|bounced|complained