> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EmailTemplateTableSection

> A static or dynamic table.

<ResponseField name="borderColor" type="String">
  Table border color. Null when unset.
</ResponseField>

<ResponseField name="borderStyle" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-border-style">EmailTemplateTableBorderStyle!</a>} required>
  Table border style.
</ResponseField>

<ResponseField name="borderWidth" type="Int!" required>
  Table border width in pixels.
</ResponseField>

<ResponseField name="cellPadding" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-padding">EmailTemplatePadding!</a>} required>
  Padding inside body cells.

  <Expandable title="fields" lazyRender>
    <ResponseField name="bottom" type="Int!" required>
      Bottom padding in pixels.
    </ResponseField>

    <ResponseField name="left" type="Int!" required>
      Left padding in pixels.
    </ResponseField>

    <ResponseField name="right" type="Int!" required>
      Right padding in pixels.
    </ResponseField>

    <ResponseField name="top" type="Int!" required>
      Top padding in pixels.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="cellVerticalAlignment" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-vertical-alignment">EmailTemplateTableVerticalAlignment!</a>} required>
  Vertical alignment of cell content. MIDDLE maps to MJML middle, not center.
</ResponseField>

<ResponseField name="columns" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-column">[EmailTemplateTableColumn!]!</a>} required>
  Column definitions, including header labels.

  <Expandable title="fields" lazyRender>
    <ResponseField name="headerAlignment" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-alignment">EmailTemplateAlignment</a>}>
      Header cell alignment.
    </ResponseField>

    <ResponseField name="headerLabel" type="String">
      Header cell label.
    </ResponseField>

    <ResponseField name="id" type="ID!" required>
      Stable column id.
    </ResponseField>

    <ResponseField name="width" type="Float">
      Percentage when widthMode is MANUAL.
    </ResponseField>

    <ResponseField name="widthMode" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-column-width-mode">EmailTemplateTableColumnWidthMode!</a>} required>
      Auto or percentage.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="dynamicRowTemplates" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-cell">[EmailTemplateTableCell!]!</a>} required>
  One cell template per column. Repeated per collection item in dynamic mode.
</ResponseField>

<ResponseField name="headerBackgroundColor" type="String!" required>
  Header row background color.
</ResponseField>

<ResponseField name="headerBold" type="Boolean">
  Bold header text. Null uses the renderer default.
</ResponseField>

<ResponseField name="headerFontSize" type="Int">
  Header font size in pixels. Null uses the renderer default.
</ResponseField>

<ResponseField name="headerItalic" type="Boolean">
  Italic header text. Null uses the renderer default.
</ResponseField>

<ResponseField name="headerPadding" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-padding">EmailTemplatePadding</a>}>
  Padding inside header cells. Null uses cell padding / renderer default.

  <Expandable title="fields" lazyRender>
    <ResponseField name="bottom" type="Int!" required>
      Bottom padding in pixels.
    </ResponseField>

    <ResponseField name="left" type="Int!" required>
      Left padding in pixels.
    </ResponseField>

    <ResponseField name="right" type="Int!" required>
      Right padding in pixels.
    </ResponseField>

    <ResponseField name="top" type="Int!" required>
      Top padding in pixels.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="headerStrikethrough" type="Boolean">
  Strikethrough header text. Null uses the renderer default.
</ResponseField>

<ResponseField name="headerTextColor" type="String!" required>
  Header cell text color.
</ResponseField>

<ResponseField name="headerUnderline" type="Boolean">
  Underlined header text. Null uses the renderer default.
</ResponseField>

<ResponseField name="horizontalAlignment" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-alignment">EmailTemplateAlignment!</a>} required>
  Horizontal alignment of the table.
</ResponseField>

<ResponseField name="id" type="ID!" required>
  Stable id of this section (`blockId` in storage).
</ResponseField>

<ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-section-kind">EmailTemplateSectionKind!</a>} required>
  Always TABLE.
</ResponseField>

<ResponseField name="maxRows" type="Int">
  Cap on dynamic rows rendered from the collection. Null shows all.
</ResponseField>

<ResponseField name="mobileStacking" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-mobile-stacking">EmailTemplateTableMobileStacking!</a>} required>
  How columns stack on small screens.
</ResponseField>

<ResponseField name="mode" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-mode">EmailTemplateTableMode!</a>} required>
  Static grid vs event-driven rows.
</ResponseField>

<ResponseField name="rowCollection" type="String">
  Event path for dynamic rows, e.g. `properties.order_products`. Null in static mode.
</ResponseField>

<ResponseField name="sectionColor" type="String!" required>
  Section background color.
</ResponseField>

<ResponseField name="sectionPadding" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-padding">EmailTemplatePadding!</a>} required>
  Padding around the section.

  <Expandable title="fields" lazyRender>
    <ResponseField name="bottom" type="Int!" required>
      Bottom padding in pixels.
    </ResponseField>

    <ResponseField name="left" type="Int!" required>
      Left padding in pixels.
    </ResponseField>

    <ResponseField name="right" type="Int!" required>
      Right padding in pixels.
    </ResponseField>

    <ResponseField name="top" type="Int!" required>
      Top padding in pixels.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="showHeaderRow" type="Boolean!" required>
  Whether column header labels are shown.
</ResponseField>

<ResponseField name="staticRows" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-row">[EmailTemplateTableRow!]!</a>} required>
  Explicit grid of cells for static mode.

  <Expandable title="fields" lazyRender>
    <ResponseField name="cells" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-cell">[EmailTemplateTableCell!]!</a>} required>
      Cells in column order.
    </ResponseField>
  </Expandable>
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.