Email - Broadcasts
Ad-hoc mass emails to a filtered set of clients with per-client Liquid token rendering. Provides draft CRUD, a pre-send resolved recipient list with skip warnings (missing contacts, email contact preference), per-client preview, test send to the current user, async sending with progress counters, a per-client delivery log, and cancellation. Recipient selection combines client filters with hand-picked additions and exclusions; recipients are resolved from client contact types, user types (manager/partner/associate/service manager), and static addresses — the same configuration shape as SendEmail workflow steps.
-
GET List Email BroadcastsReturns a paged list of email broadcasts for the tenant, newest first. Filter by status./tenants/{tenant}/email-broadcasts
-
POST Create Email BroadcastCreates a draft email broadcast. Content is either a content block (category: Email) or an inline subject and body with Liquid tokens — not both. Reci.../tenants/{tenant}/email-broadcasts
-
POST Summarise Broadcast AudienceEvaluates a client selection (saved view or inline filter, plus additions and exclusions) and returns how many clients it resolves to and how many of .../tenants/{tenant}/email-broadcasts/audience-summary
-
GET Get Email BroadcastReturns a single email broadcast including its status and progress counters./tenants/{tenant}/email-broadcasts/{code}
-
PUT Update Email BroadcastUpdates a draft email broadcast (full replacement). Once queued, a broadcast is immutable — only cancel is available./tenants/{tenant}/email-broadcasts/{code}
-
DELETE Delete Email BroadcastDeletes a draft email broadcast. Sent broadcasts cannot be deleted — they are the audit record of what was sent./tenants/{tenant}/email-broadcasts/{code}
-
GET List Broadcast RecipientsReturns the paged recipient list. For drafts the recipients are resolved live (pre-send view including skipped clients with reasons, e.g. no resolvabl.../tenants/{tenant}/email-broadcasts/{code}/recipients
-
GET Preview Broadcast EmailRenders the broadcast subject and body for the sample client identified by clientCode with Liquid tokens resolved and tenant branding applied, plus th.../tenants/{tenant}/email-broadcasts/{code}/preview/{clientCode}
-
POST Send Test EmailRenders the broadcast for the sample client in the request body and sends it to the current user's own email address only./tenants/{tenant}/email-broadcasts/{code}/test
-
POST Send Email BroadcastSends a draft broadcast: re-evaluates the client selection, snapshots each client's resolved recipients (the audit record), marks the broadcast Queued.../tenants/{tenant}/email-broadcasts/{code}/send
-
POST Cancel Email BroadcastCancels a queued or sending broadcast. Recipients not yet processed remain Pending and are not sent./tenants/{tenant}/email-broadcasts/{code}/cancel