Shared blocks overviewMenu
On this page

Shared blocks

A shared block is a block kept once and placed in many templates, such as a footer or a product card. Editing one changes every draft that places it; a published template, a scheduled campaign and a live journey keep the copy they froze until they are published or saved again. Check its usage before changing it.

Endpoints

EndpointRequest
List shared blocksGET /v1/shared-blocks
Create a shared blockPOST /v1/shared-blocks
Retrieve a shared blockGET /v1/shared-blocks/{id}
Update a shared blockPATCH /v1/shared-blocks/{id}
Delete a shared blockDELETE /v1/shared-blocks/{id}
Retrieve a shared block's usageGET /v1/shared-blocks/{id}/usage

The SharedBlock object

SharedBlock example
{
  "id": "0192f3d1-3c4d-7e5f-8a61-7c8d9e0f1a2b",
  "name": "Footer note",
  "blocks": [
    {
      "id": "footer-note",
      "type": "text",
      "text": "Juniper Kitchen, 12 Market Street, London. Questions? Reply to this email.",
      "align": "center"
    }
  ],
  "createdAt": "2026-10-01T09:30:00.000Z",
  "updatedAt": "2026-10-01T09:30:00.000Z"
}
idstringrequired

uuid

namestringrequired
blocksobject[]required

The blocks, rendered top to bottom: at most 200 across the whole tree and five levels including the root. The footer stays at the root.

at least 1 item · at most 200 items

One of 23 shapes
HeaderBlock
11 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"header"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

srcstringoptional

The logo image's URL; without one, the brand kit's logo.

up to 2,048 characters

altstringoptional

The logo's alt text. Without src or a brand kit logo, it shows as a wordmark in the heading font; gallery samples set it to {{ org.name }}.

up to 100,000 characters

widthstringoptional

A share of the row ("100%", "66%", "50%"), or a fixed width from "16px" to "600px", such as "120px" for a logo. Never wider than the row.

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

hrefstringoptional

Where it links: an https:, http:, mailto: or tel: address, or a merge tag. https:// is added to a bare address such as acme.com/setup. A draft may hold anything; a button or video whose link is none of these cannot be published or sent.

up to 2,048 characters

HeadingBlock
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"heading"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

sizestringoptional

one of 28px, 22px, 18px

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

weightstringoptional

one of regular, bold

TextBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"text"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

ImageBlock
11 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"image"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

srcstringoptional

up to 2,048 characters

altstringoptional

up to 100,000 characters

widthstringoptional

A share of the row ("100%", "66%", "50%"), or a fixed width from "16px" to "600px", such as "120px" for a logo. Never wider than the row.

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

hrefstringoptional

Where it links: an https:, http:, mailto: or tel: address, or a merge tag. https:// is added to a bare address such as acme.com/setup. A draft may hold anything; a button or video whose link is none of these cannot be published or sent.

up to 2,048 characters

ButtonBlock
12 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"button"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

hrefstringoptional

Where it links: an https:, http:, mailto: or tel: address, or a merge tag. https:// is added to a bare address such as acme.com/setup. A draft may hold anything; a button or video whose link is none of these cannot be published or sent.

up to 2,048 characters

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

fullWidthbooleanoptional
colorstringoptional

A hex colour, or a theme reference: accent, canvas, or accent-tint / canvas-tint (a light tint of it), which follows the theme.

buttonStylestringoptional

This button's style, in place of the theme's.

one of solid, outline

DividerBlock
11 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"divider"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

thicknessintegeroptional

Line weight in px.

min 1 · max 10

colorstringoptional

A hex colour, or a theme reference: accent, canvas, or accent-tint / canvas-tint (a light tint of it), which follows the theme.

lineStylestringoptional

one of solid, dashed, dotted

widthstringoptional

How much of the row the line spans.

one of 100%, 75%, 50%, 25%

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

SpacerBlock
7 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"spacer"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

sizestringoptional

The height, from "4px" to "200px".

pattern ^\d{1,3}px$

ColumnsBlock
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"columns"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

widthsinteger[]optional

Each column's share of the row in percent, left to right, one per column and adding up to 100, such as [33, 67]. Omit for equal columns.

at least 2 items · at most 2 items

valignstringoptional

Where shorter columns sit against the tallest one.

one of top, middle, bottom

stackOnMobilebooleanoptional

False keeps the columns side by side on phones too, such as a two-across product grid; by default they stack.

columnsobject[][]required

The child blocks of each column, left to right: exactly 2 arrays.

at least 2 items · at most 2 items

Columns3Block
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"columns3"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

widthsinteger[]optional

Each column's share of the row in percent, left to right, one per column and adding up to 100, such as [33, 67]. Omit for equal columns.

at least 3 items · at most 3 items

valignstringoptional

Where shorter columns sit against the tallest one.

one of top, middle, bottom

stackOnMobilebooleanoptional

False keeps the columns side by side on phones too, such as a two-across product grid; by default they stack.

columnsobject[][]required

The child blocks of each column, left to right: exactly 3 arrays.

at least 3 items · at most 3 items

ImageTextBlock
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"imagetext"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

srcstringoptional

up to 2,048 characters

altstringoptional

up to 100,000 characters

textstringoptional

up to 100,000 characters

sidestringoptional

Which side the image sits on; unset, the start of the reading direction (left, or right in a right-to-left language).

one of left, right

ImageGroupBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"imagegroup"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

count2 | 3optional
imagesobject[]optional

at most 3 items

2 child attributes
srcstringoptional

up to 2,048 characters

altstringoptional

up to 100,000 characters

BoxedBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"boxed"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

QuoteBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"quote"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

text2stringoptional

up to 100,000 characters

ListBlock
7 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"list"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

ProductBlock
13 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"product"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

weightstringoptional

The name and price in bold (the default) or regular weight.

one of regular, bold

textstringoptional

up to 100,000 characters

text2stringoptional

up to 100,000 characters

descstringoptional

up to 100,000 characters

hrefstringoptional

Where it links: an https:, http:, mailto: or tel: address, or a merge tag. https:// is added to a bare address such as acme.com/setup. A draft may hold anything; a button or video whose link is none of these cannot be published or sent.

up to 2,048 characters

srcstringoptional

up to 2,048 characters

altstringoptional

up to 100,000 characters

VideoBlock
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"video"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

srcstringoptional

up to 2,048 characters

altstringoptional

up to 100,000 characters

textstringoptional

up to 100,000 characters

hrefstringoptional

Where it links: an https:, http:, mailto: or tel: address, or a merge tag. https:// is added to a bare address such as acme.com/setup. A draft may hold anything; a button or video whose link is none of these cannot be published or sent.

up to 2,048 characters

SocialBlock
10 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"social"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

linksobject[]optional

The profiles to show; without any, the brand kit's social links.

at most 10 items

2 child attributes
labelstringrequired

1–80 characters

hrefstringrequired

uri · pattern ^[^\s{}]*$ · up to 2,048 characters

displaystringoptional

Each link as its network's icon (the default), the icon and its label, or the label alone. The network is read from the link's address; any other address shows a globe.

one of icons, both, text

iconStylestringoptional

Icons in each network's colour (the default), near-black, or white for a dark background.

one of color, dark, light

MenuBlock
9 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"menu"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

linksobject[]optional

The entries, left to right: at most 8 { label, href }.

at most 8 items

2 child attributes
labelstringrequired

1–80 characters

hrefstringrequired

uri · pattern ^[^\s{}]*$ · up to 2,048 characters

alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

separatorstringoptional

What stands between entries: space only, a bar or a dot.

one of none, bar, dot

HtmlBlock
7 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"html"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

textstringoptional

up to 100,000 characters

SectionBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"section"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

backgroundImagestringoptional

A photo behind the section's blocks, covering the box. Needs style.backgroundColor, which Outlook for Windows and clients with images off show instead, and which text is made readable on.

pattern ^https:\/\/[^\s"'()<>\\{}]+$ · up to 2,048 characters

blocksobject[]required

The section's child blocks, drawn inside its box.

at least 1 item · at most 200 items

FooterBlock
8 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"footer"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

textstringoptional

up to 100,000 characters

lockedtrueoptional
alignstringoptional

When unset, headings, text, buttons and boxed text start from the reading side (left, or right in a right-to-left language); other blocks centre.

one of left, center, right

unsubscribeLinkbooleanoptional

False leaves out the unsubscribe link, for a transactional email (a receipt, a sign-in code). A marketing send adds the sender's own link anyway.

unsubscribeLabelstringoptional

The words of the unsubscribe link, "Unsubscribe" by default. The link opens a page that also manages topic preferences, so "Unsubscribe or manage preferences" is accurate.

up to 80 characters

RepeatBlock
9 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"repeat"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfobjectoptional

Show the block only to contacts these segment rules match, checked as each message is rendered. Omit to show it to everyone.

Any of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

liststringrequired

The list to repeat over: event.properties.<name> (a journey's event, or a transactional send's data) or contact.attributes.<name>.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

limitintegeroptional

min 1 · max 100

blocksobject[]required

The blocks written out once per item of list, where {{ item.<field> }} reads that item. Repeats do not nest.

at least 1 item · at most 200 items

SharedBlockReference
7 child attributes
idstringrequired

Identifies the block within the template; unique among its blocks.

1–128 characters

type"shared"required
styleEmailBlockStyleoptional

Visual overrides for this block, such as colours, font and spacing.

19 child attributes
backgroundColorstringoptional

Fill behind the block.

fontFamilystringoptional

A font id: one every client has (arial, verdana, georgia, tahoma, times-new-roman, courier-new), or a web font, which shows where the client loads it and falls back to a safe font elsewhere. Form themes use the same ids.

one of arial, verdana, georgia, tahoma, times-new-roman, courier-new, inter, roboto, open-sans, lato, montserrat, poppins, dm-sans, nunito, work-sans, oswald, ubuntu, mulish, manrope, quicksand, rubik, josefin-sans, epilogue, noto-sans, space-grotesk, plus-jakarta-sans, outfit, bricolage-grotesque, sora, ibm-plex-sans, geist, space-mono, playfair-display, merriweather, lora, libre-baskerville, eb-garamond, fraunces, source-serif-4, cormorant-garamond

fontSizeintegeroptional

Text size in px, 12 to 72.

min 12 · max 72

mobileFontSizeintegeroptional

Text size in px on phones (screens up to 620px), 12 to 72. Email apps that ignore mobile styles use fontSize.

min 12 · max 72

paddingobjectoptional

Space inside the block in px, 0 to 100 per side; omitted sides keep their default.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

mobilePaddingobjectoptional

Space inside the block in px on phones (screens up to 620px), 0 to 100 per side; omitted sides keep the block's padding (or its default). Email apps that ignore mobile styles use padding.

4 child attributes
topintegeroptional

min 0 · max 100

rightintegeroptional

min 0 · max 100

bottomintegeroptional

min 0 · max 100

leftintegeroptional

min 0 · max 100

borderWidthintegeroptional

Border thickness in px; 0 for none.

min 0 · max 10

borderStylestringoptional

Border line style.

one of solid, dashed, dotted

borderColorstringoptional

Border colour.

borderRadiusintegeroptional

Corner rounding in px, 0 to 100.

min 0 · max 100

textColorstringoptional

Text colour.

linkColorstringoptional

Colour of links in the text.

linkUnderlinebooleanoptional

Set to false for links without an underline, such as a row of rating numbers or stars.

letterSpacingnumberoptional

Space between letters in px, such as 3 for a spaced-out eyebrow line.

min -2 · max 20

textTransformstringoptional

Set to uppercase to capitalise all text.

one of none, uppercase

lineHeightnumberoptional

A multiple of the font size.

min 1 · max 3

fontWeightstringoptional

Text weight.

one of regular, bold

fontStylestringoptional

Text style.

one of normal, italic

insetbooleanoptional

Draw the background and border as a box within the content width, not across the whole row.

visibleIfPresentstringoptional

Show the block only when this value is present (not missing, empty or false), such as data.vat for a VAT row; checked as each message is rendered.

pattern ^(?:contact\.attributes\.[\p{L}\p{N}\p{M}_.-]{1,64}|(?:event\.properties|data)\.[A-Za-z0-9_.-]+)$

showOnstringoptional

Show the block only on phones (screens up to 620px) or only on wider screens. Clients that ignore screen size show the desktop version, and so does plain text. Omit to show it everywhere.

one of mobile, desktop

sharedBlockIdstringrequired

The workspace's shared block placed here, by reference.

uuid

overrideobject[]optional

Edited here only: these blocks render instead of the shared content. Omit to follow the shared block.

at least 1 item · at most 200 items

createdAtstringrequired

date-time

updatedAtstringrequired

date-time