Skip to main content
PATCH
Update Transactional Email
Update a transactional email by ID or slug. You can update metadata like name and enabled, or replace the linked email body with html or blocks. Code-managed emails (managedBy: "code", created by sends with trackAs) accept only name, enabled and labels. Their content comes from each send, so subject, previewText, html and blocks return 400. Set enabled to false to reject further sends with that trackAs.

Path Parameters

string
required
Transactional email ID or slug

Request

string[]
Company label names, trimmed and deduplicated. Missing names are created in your company. Each name must be non-empty and at most 255 characters. Send [] to clear assignments. Omit to keep existing labels. null, blank names, and non-string entries are rejected.
string
Transactional email name
boolean
Whether this transactional email can be sent
string
Email subject line
string | null
Email preview text. Send null to clear it; omit the field to keep the current value.
string
Raw HTML body. Provide either html or blocks, not both.
array
Sequenzy email blocks. Provide either blocks or html, not both. Put block styling under styles; top-level style keys like backgroundColor, backgroundOpacity, textColor, textAlign, borderColor, borderWidth, and borderRadius are normalized into styles.

Responses

Label names appear in the response’s transactional.labels array. Invalid label names return 400; invalid label types return 422. Retrying the same label replacement does not duplicate company labels or send an email. After an uncertain update response, read the template before retrying. Label-only updates preserve email content and translations. Insufficient API-key permissions return 403. Label support uses the existing transactional write permission; no additional label scope is required.