v93

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-01218121759.7 KB
Templates

Update template

Updates template metadata, labels, or content. Transactional email IDs and slugs are also resolved for compatibility.

put/templates/{templateId}

Path parameters

templateIdstring required

Template ID, transactional email ID, or transactional slug.

Request body

namestring
subjectstring
previewTextstring nullable

Inbox preview text. Send null to clear it.

htmlstring

Replacement HTML body. Mutually exclusive with blocks.

blocksobject[]

Replacement Sequenzy email blocks. Mutually exclusive with html. Put visual styling under styles; top-level style keys such as backgroundColor, backgroundOpacity, borderColor, borderWidth, and borderRadius are normalized into styles.

labelsstring[]

Replacement label names. Send an empty array to clear labels. Missing labels are created automatically.

labelstring[]

Compatibility alias for labels.

{"stackTrail":"paths:/templates/{templateId}:put:requestBody:content:application/json:schema:properties:updates","oasType":"schema","type":"unknown","description":"Unsupported nested update object. Requests using it return a validation error."}

Response

Template updated

successboolean
transactionalobject nullable
warningsstring[]

Non-blocking advisories about the blocks that were written. The write succeeded. Present when a field was not part of the block schema and was discarded, or when a supported field does not control what its name suggests for that block type - for example styles.backgroundColor on a button colors the band behind the button while the fill comes from buttonColor. Each message names the offending path and the fields that block does accept. A sequence email step update also reports the blocks the step's existing Style > Format added back on top of the submitted blocks, because the response echoes node config rather than the stored blocks. Absent when there is nothing to report.

Example response

{
  "success": true,
  "template": {
    "labels": [
      "edm",
      "template"
    ]
  },
  "warnings": [
    "blocks[0].styles.color is not a supported field and was ignored. Button label color comes from the block-level `buttonTextColor` field. Supported styles fields: backgroundColor, backgroundOpacity, bleed, borderColor, borderRadius, borderWidth, paddingBottom, paddingLeft, paddingRight, paddingTop, textAlign, textColor."
  ]
}