Create a draft, send, or schedule a newsletter
Creates a newsletter from content and a server-resolved audience or legacy email list. Requires nonempty selected email addresses even for a draft. status=sent becomes sending and queues durable recipient deliveries; suppression, marketing preferences, deduplication and current donor addresses are checked. Audiences over500 defer eligibility and report nullable counts. Scheduling resolves exact time at least five minutes ahead, matches any legacy fields, verifies current recommendations and permits at most10 scheduled newsletters. Draft save returns200; scheduled creation returns201. A queue receipt does not promise inbox delivery. Requires permission: one of newsletter.
Authorizations
Passport bearer token authentication for legacy admin sessions.
Body
Validated request fields for this operation.
Recorded actor/sender email; actual delivery uses organization email settings.
"admin@example.org"
Newsletter HTML; saved Impact Story evidence is checked when present.
"<p>Thank you for supporting education.</p>"
"Education field update"
draft, sent, scheduled "draft"
Legacy/manual donor ids; selects server-owned current addresses when audience intent is present.
Organization-owned record identifier.
Explicit email audience only when no server-resolved audience intent is supplied.
Legacy comma-separated tag selection; tags/audience_selection take priority.
"Education"
Server-resolved audience intent. all snapshots all active donors with nonblank email; static unions current ANY-tag matches with additions minus exclusions; manual uses individual ids. Unknown/non-tenant/no-email ids are omitted.
Overrides other selection fields with an all-donor snapshot.
false
Editor design object or serialized string; persisted as text.
Existing attachment reference; no multipart upload is performed.
"https://example.org/newsletter.pdf"
Legacy attachment alias; attachment takes priority.
"https://example.org/newsletter.pdf"
Legacy local/offset date-time; required for scheduling unless schedule is provided. Must be at least five minutes ahead.
"2026-10-27T15:00:00"
IANA timezone; otherwise stored/account/admin timezone fallback.
64"Africa/Kampala"
Response
Operation result.
Send/approve/retry receipt; id/title/schedule fields depend on operation. Successful queueing does not prove provider acceptance or inbox delivery.
"News letter is being sent"
draft, scheduled, sending, sent, failed, skipped "sending"
Organization-owned record identifier.
42
"Education field update"
"2026-10-20T12:00:00Z"
"Africa/Kampala"
"Africa/Kampala"
"calendar"
Count.
x >= 01
Null while eligibility is deferred for audiences larger than500.
x >= 01
Null while eligibility is deferred for audiences larger than500.
x >= 00
Present and true only when eligibility is deferred.
true