API

Emails API

Message documents, templates, themes, assets, and test sends.

A message document is the versioned, linted email: TipTap content, subject, preheader, emailStyle, locale, and status.

Create: createMessageDocument, createMessageProposal, createMessageGeneration Read: getMessageDocument, getMessageContext, listMessageDocumentVersions, listMessageTemplates Revise: reviseMessageDocument, updateMessageDocument (title), translateMessageVariant, assistDraftMessage Preview / test: previewMessageDocument, previewDraftMessage, sendMessageTest Assets: uploadProjectAsset, listProjectAssets, listEmailIcons

Scope: write to draft; deliver is not required to confirm in the app, but sending always is. Agents should leave status: "proposed" until a human confirms.

Create a starter

POST with title / subject / locale and omit content to get a confirmed brand scaffold. If you supply a full body, default status is proposed unless you set it.

Subject is the inbox line (required). Title is internal (max 120). Preheader is required on revise (1–180 characters).

Revise

reviseMessageDocument sends subject, preheader, content, optional emailStyle and status (proposed | confirmed).

Lint runs on persist: placeholder URLs, missing heading/button/footer on marketing layouts, bad merge filters. Fix findings before confirm.

Idempotency-Key on generation and test send.

Copy into a Journey

copyMessageDocumentToJourney attaches a library email onto a node without silently forking unless you need an independent revision.

Templates, themes, sections

listMessageTemplates, listEmailThemes, pushEmailTheme, pushEmailStyles, listEmailSectionTemplates, pushEmailSectionTemplate. Push never mutates confirmed documents.

Test send

sendMessageTest delivers one addressed copy. It is not a campaign and does not enroll. Still requires a verified identity for real ESP delivery (local Mailpit in development).