Sends an email through Sparkpost immediately. Stamps date_sent + sent=true on the persisted document. Seamless flow: call with just `id` once the draft has subject, recipients, viewport_data, and reply_to_email set. The server pulls those fields from the persisted doc and renders viewport_data to HTML server-side if no body is already rendered. Only pass fields other than `id` when you explicitly need to override the persisted values for this one send.
AuthorizationRequiredBearer <token>API key as Bearer token
In: header
application/jsonRequiredhtmlstringPre-rendered HTML body. Usually omitted, the server renders viewport_data automatically if no body is persisted. Supply only when you need to override the persisted body for this one send.
subjectstringOverride the persisted subject for this send. Newlines are stripped server-side.
senderNamestringOverride the persisted display_name on the From line.
replyToEmailstringOverride the persisted reply_to_email.
recipientsarray<string>Override the persisted recipient list. Typo-domain addresses are stripped server-side. For page-based emails this overrides the typed recipients and is still merged with the synced event/timeslot audience.
attachmentsarray<object>Override the persisted attachments. URLs are downloaded and base64-encoded before transmission to Sparkpost.
idRequiredstringEmail id, discoverable via list_emails
Delete Email
Permanently deletes an email. No soft-delete; the row is removed.
Schedule Email
Schedules an email for future delivery. Stamps sent=true, date_sent=<sendAt>, and a server-rendered body on the email, then enqueues a scheduled job to send the message at sendAt. Preconditions checked before scheduling: - Email exists and is owned by the caller's workspace - sendAt is strictly in the future - Email has a non-empty subject - Email has at least one recipient - Email has viewport_data to render to HTML (or a previously-rendered body) For immediate transmission, use send_email instead.