---
schema_version: "1"
id: c6d321a7f1c7ad94cecaebd6271c059939c43cd5f8eceb1cc474dc6b78c45828
title: Content - Email (Connect API)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/mc-core/references/generated-api-specs/mc-next-email-content-body.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud-growth/references/mc-next-email-content-body
source_site: developer.salesforce.com
content_type: documentation
content_hash: 8f463c66a04fb76ee93a0929063c970708489dfd3b61a4a53b921932520fc237
products:
  - Marketing Cloud Next
  - Marketing Cloud
---
Content - Email (Connect API)

# Content - Email (Connect API)

Manage email content in Marketing Cloud Next by using Connect API.

This table lists the use cases that the API supports for email content.

| Supported Use Case | HTTP Verb | URI |
| --- | --- | --- |
| [Create email content](/docs/marketing/marketing-cloud-growth/references/mc-next-email-content-body?meta=createEmailContent) | POST | /services/data/{apiVersion}/connect/cms/contents |
| [Get email content](/docs/marketing/marketing-cloud-growth/references/mc-next-email-content-body?meta=getEmailContent) | GET | /services/data/{apiVersion}/connect/cms/contents/{contentId} |

### API Structure

This example shows the structure of an email:

```json
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__email",
  "contentBody": {
    "sfdc_cms:title": "Email Title",
    "sfdc_cms:urlName": "email-url-name",
    "sfdc_cms:description": "Email description",
    "subjectLine": "Email Subject",
    "messagePurpose": "promotional",
    "sfdc_cms:block": { ... }
  }
}
```

### Content Body Overview

The `contentBody` property wraps all email-specific content including CMS metadata.

| Property | Data Type | Description |
| --- | --- | --- |
| `messagePurpose` | string | Required. The purpose of the email message. Possible values are `promotional` or `transactional`. |
| `preheader` | string | Preheader text shown in the preview pane of most email clients. |
| `sfdc_cms:description` | string | A description that helps identify the email content. |
| `sfdc_cms:title` | string | Required. The title of the email content. |
| `sfdc_cms:urlName` | string | A URL-friendly name for the email content. |
| `subjectLine` | string | Required. The subject line of the email message. |

### Content Structure

The `sfdc_cms:block` property is the primary content structure for emails. It uses a tree-based architecture where the root block is of type `sfdc_cms/rootContentBlock`. Children of this root block can be sections, columns, and various content components. Each block has a type and definition and can include attributes and children.

### Block Types

The block system provides a rich set of components for building email content. See [Component Blocks](https://developer.salesforce.com/docs/marketing/marketing-cloud-growth/mc-manage-component-blocks/mc-manage-component-blocks.md).

### Block Structure

This diagram shows the structure of a typical email hierarchy:

```
sfdc_cms/rootContentBlock (root)
└─ lightning/section (layout)
    └─ lightning/column (container)
        ├─ lightning/heading (content)
        ├─ lightning/paragraph (content)
        ├─ lightning/image (content)
        ├─ lightning/divider (utility)
        ├─ lightning/list (list)
        │   └─ lightning/listElement
        │       └─ lightning/listItem
        ├─ lightning/button (action)
        └─ lightning/form (form)
            ├─ lightning/inputText
            ├─ lightning/inputEmail
            └─ lightning/actionButton
```

### Brand Integration

Most blocks integrate with the brand system through data providers:

*   `{!$brand.colorScheme}`: Color schemes
*   `{!$brand.typography.heading}`: Heading styles
*   `{!$brand.typography.paragraph}`: Paragraph styles
*   `{!$brand.spacing.xSmall}`: Spacing values
*   `{!$brand.borderRadius.square}`: Border styles

### Personalization

Several block types support [Handlebars scripting](/docs/marketing/handlebars-for-marketing-cloud-next/overview) for dynamic content.

**Version:** 1.0.0

## Servers

*   `https://{subdomain}.my.salesforce.com`
    *   `subdomain (default (no default)) The unique API subdomain for your Salesforce org.`

## Tags

### Email Content

Operations for managing emails with a block-based body structure.

## Operations

### POST Create email content with block-based body

`POST /services/data/{apiVersion}/connect/cms/contents`

Operation ID: `createEmailContent`. Tags: Email Content.

Creates an email with a block-based content body structure.

#### Parameters

*   `apiVersion` (path, string, required) The API version.  
    Default: `v68.0`.

#### Request body (required)

Media type: `application/json`. Schema: `EmailContentRequest`.

_Example: basicEmail_ Basic email with heading

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__email",
  "contentBody": {
    "sfdc_cms:title": "Northern Trail Outfitters Campaign",
    "sfdc_cms:urlName": "northern-trail-outfitters",
    "sfdc_cms:description": "Email campaign for Northern Trail Outfitters.",
    "subjectLine": "Serious savings on our biggest selection yet",
    "preheader": "It’s time to get out there",
    "messagePurpose": "promotional",
    "sfdc_cms:block": {
      "id": "edf72838-8a6d-4c35-b890-2d3fe7f186fa",
      "type": "block",
      "definition": "sfdc_cms/rootContentBlock",
      "children": [
        {
          "id": "6748f554-84cc-4b76-8654-14bfc7dbb93e",
          "type": "block",
          "definition": "lightning/heading",
          "attributes": {
            "level": 1,
            "text": "Save big on gear for your next adventure"
          }
        }
      ]
    }
  }
}
```

_Example: sectionBasedEmail_ Email with section layout

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__email",
  "contentBody": {
    "sfdc_cms:title": "Product Launch Email",
    "sfdc_cms:urlName": "product-launch",
    "sfdc_cms:description": "Product launch email campaign",
    "subjectLine": "Introducing our new product line",
    "messagePurpose": "promotional",
    "sfdc_cms:block": {
      "type": "block",
      "definition": "sfdc_cms/rootContentBlock",
      "children": [
        {
          "type": "block",
          "definition": "lightning/section",
          "attributes": {
            "stackOnMobile": true,
            "lightning:colorScheme": "{!$brand.colorScheme}",
            "lightning:padding": "{!$brand.spacing.xSmall}"
          },
          "children": [
            {
              "type": "block",
              "definition": "lightning/column",
              "attributes": {
                "columnWidth": 12,
                "lightning:verticalAlignment": "top"
              },
              "children": []
            }
          ]
        }
      ]
    }
  }
}
```

_Example: rawHtmlEmail_ Email using raw HTML

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__email",
  "contentBody": {
    "sfdc_cms:title": "Newsletter Edition 5",
    "sfdc_cms:urlName": "newsletter-edition-5",
    "sfdc_cms:description": "Weekly newsletter email",
    "subjectLine": "Your Weekly Newsletter",
    "preheader": "Don't miss out on this week’s highlights",
    "messagePurpose": "promotional",
    "rawHtml": "&lt;html&gt;&lt;body&gt;&lt;h1&gt;Welcome!&lt;/h1&gt;&lt;p&gt;Newsletter content here&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;",
    "textContent": "Welcome! Newsletter content here"
  }
}
```

_Example: emailWithImage_ Email with block-based content and images

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__email",
  "contentBody": {
    "sfdc_cms:title": "Product Showcase",
    "sfdc_cms:urlName": "product-showcase",
    "sfdc_cms:description": "Product showcase email with images",
    "subjectLine": "Check out our latest products",
    "preheader": "New arrivals you'll love",
    "messagePurpose": "promotional",
    "backgroundColor": "#ffffff",
    "sfdc_cms:block": {
      "type": "block",
      "definition": "sfdc_cms/rootContentBlock",
      "children": [
        {
          "type": "block",
          "definition": "lightning/section",
          "children": [
            {
              "type": "block",
              "definition": "lightning/column",
              "attributes": {
                "columnWidth": 12
              },
              "children": [
                {
                  "type": "block",
                  "definition": "lightning/image",
                  "attributes": {
                    "source": {
                      "type": "imageReference",
                      "ref": {
                        "contentKey": "MCZOCY2AM5PFBADN5UDRB53TLXR4"
                      }
                    },
                    "altText": "Product banner"
                  }
                },
                {
                  "type": "block",
                  "definition": "lightning/heading",
                  "attributes": {
                    "level": 1,
                    "text": "New Product Line"
                  }
                },
                {
                  "type": "block",
                  "definition": "lightning/text",
                  "attributes": {
                    "text": "Discover our latest collection"
                  }
                },
                {
                  "type": "block",
                  "definition": "lightning/button",
                  "attributes": {
                    "text": "Shop Now",
                    "href": "https://example.com/shop",
                    "lightning:variant": "primary"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
```

#### Responses

*   **201** The email content was created successfully.
    
    Media type: `application/json`. Schema: `EmailContentResponse`.
    
    _Example_
    
    ```
    {
      "apiName": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentKey": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentFqn": "marketing--Default_Content_Workspace.sfdc_cms__email--MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentSpace": {
        "id": "0ZuSB000002FYzW0AW",
        "resourceUrl": "/services/data/v68.0/connect/cms/spaces/0ZuSB000002FYzW0AW"
      },
      "contentType": {
        "fullyQualifiedName": "sfdc_cms__email"
      },
      "createdBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v68.0/chatter/users/005SB00000eaki1YAA"
      },
      "createdDate": "2026-06-30T10:30:00.000Z",
      "externalId": null,
      "folder": {
        "id": "9PuSB000002KUDo0AO",
        "resourceUrl": "/services/data/v68.0/connect/cms/folders/9PuSB000002KUDo0AO"
      },
      "isPublished": false,
      "language": "en_US",
      "lastModifiedBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v68.0/chatter/users/005SB00000eaki1YAA"
      },
      "lastModifiedDate": "2026-06-30T10:30:00.000Z",
      "managedContentId": "20YSB000004SkOz2AK",
      "managedContentVariantId": "9PsSB0000045XAj0AM",
      "managedContentVersionId": "5OUSB000004K7np4AC",
      "status": {
        "label": "Draft",
        "status": "Draft"
      },
      "title": "Northern Trail Outfitters Campaign",
      "urlName": "northern-trail-outfitters-campaign",
      "versionNumber": "1.0",
      "contentBody": {
        "sfdc_cms:title": "Northern Trail Outfitters Campaign",
        "sfdc_cms:urlName": "northern-trail-outfitters",
        "sfdc_cms:description": "Email campaign for Northern Trail Outfitters.",
        "subjectLine": "Serious savings on our biggest selection yet",
        "preheader": "It's time to get out there",
        "messagePurpose": "promotional",
        "sfdc_cms:block": {
          "type": "block",
          "definition": "sfdc_cms/rootContentBlock",
          "children": [
            {
              "type": "block",
              "definition": "lightning/heading",
              "attributes": {
                "level": 1,
                "text": "Save big on gear for your next adventure"
              }
            }
          ]
        }
      }
    }
    ```
    
*   **400** The request body or parameters are invalid.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: missingRequiredField_ Missing required field
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Required field 'subjectLine' is missing",
      "details": [
        {
          "field": "contentBody.subjectLine",
          "message": "This field is required"
        }
      ]
    }
    ```
    
    _Example: invalidBlockDefinition_ Invalid block definition
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Invalid block definition",
      "details": [
        {
          "field": "contentBody.sfdc_cms:block.children[0].definition",
          "message": "Block definition 'invalid/block' is not allowed"
        }
      ]
    }
    ```
    
*   **401** The authentication credentials are missing or invalid.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    {
      "error": "UNAUTHORIZED",
      "message": "Authentication credentials are missing or invalid"
    }
    ```
    
*   **500** An unexpected error occurred while processing the request.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    {
      "error": "INTERNAL_SERVER_ERROR",
      "message": "An unexpected error occurred while processing the request"
    }
    ```
    

### GET Get email content by ID

`GET /services/data/{apiVersion}/connect/cms/contents/{contentId}`

Operation ID: `getEmailContent`. Tags: Email Content.

Retrieves a specific email, including its block structure.

#### Parameters

*   `apiVersion` (path, string, required) The API version.  
    Default: `v68.0`.
*   `contentId` (path, string, required)  
    Example: `20Y6g000000001GEAQ`.

#### Responses

*   **200** The email content was retrieved successfully.
    
    Media type: `application/json`. Schema: `EmailContentResponse`.
    
    _Example_
    
    ```
    {
      "apiName": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentKey": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentFqn": "marketing--Default_Content_Workspace.sfdc_cms__email--MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentSpace": {
        "id": "0ZuSB000002FYzW0AW",
        "resourceUrl": "/services/data/v68.0/connect/cms/spaces/0ZuSB000002FYzW0AW"
      },
      "contentType": {
        "fullyQualifiedName": "sfdc_cms__email"
      },
      "createdBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v68.0/chatter/users/005SB00000eaki1YAA"
      },
      "createdDate": "2026-06-30T10:30:00.000Z",
      "externalId": null,
      "folder": {
        "id": "9PuSB000002KUDo0AO",
        "resourceUrl": "/services/data/v68.0/connect/cms/folders/9PuSB000002KUDo0AO"
      },
      "isPublished": false,
      "language": "en_US",
      "lastModifiedBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v68.0/chatter/users/005SB00000eaki1YAA"
      },
      "lastModifiedDate": "2026-06-30T10:30:00.000Z",
      "managedContentId": "20YSB000004SkOz2AK",
      "managedContentVariantId": "9PsSB0000045XAj0AM",
      "managedContentVersionId": "5OUSB000004K7np4AC",
      "status": {
        "label": "Draft",
        "status": "Draft"
      },
      "title": "Northern Trail Outfitters Campaign",
      "urlName": "northern-trail-outfitters-campaign",
      "versionNumber": "1.0",
      "contentBody": {
        "sfdc_cms:title": "Northern Trail Outfitters Campaign",
        "sfdc_cms:urlName": "northern-trail-outfitters",
        "sfdc_cms:description": "Email campaign for Northern Trail Outfitters.",
        "subjectLine": "Serious savings on our biggest selection yet",
        "preheader": "It's time to get out there",
        "messagePurpose": "promotional",
        "backgroundColor": "#ffffff",
        "sfdc_cms:block": {
          "type": "block",
          "definition": "sfdc_cms/rootContentBlock",
          "children": [
            {
              "type": "block",
              "definition": "lightning/section",
              "children": [
                {
                  "type": "block",
                  "definition": "lightning/column",
                  "attributes": {
                    "columnWidth": 12
                  },
                  "children": [
                    {
                      "type": "block",
                      "definition": "lightning/heading",
                      "attributes": {
                        "level": 1,
                        "text": "Save big on gear for your next adventure"
                      }
                    }
                  ]
                }
              ]
            }
          ]
        }
      }
    }
    ```
    
*   **404** The requested resource wasn’t found.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: emailContentNotFound_ Email content not found
    
    ```
    {
      "error": "NOT_FOUND",
      "message": "Email content with ID '20Y6g000000001GEAQ' not found"
    }
    ```
    
    _Example: emailVariantNotFound_ Email content variant not found
    
    ```
    {
      "error": "NOT_FOUND",
      "message": "Email content variant with ID '0CMxx00000000001AAA' not found"
    }
    ```
    

## Schemas

### EmailContentRequest

Request structure for creating email content.

For email content type, all email-specific properties including title, urlName, and description are inside the `contentBody` property. These properties are preceded by `sfdc_cms:`.

*   `contentSpaceOrFolderId` (_string_, required) The ID of the content space or folder where the email is stored. This value is usually a Salesforce ID for a content space or workspace.
*   `contentType` (_string_, required) The content type identifier. For email content, this value must be "sfdc\_cms\_\_email".  
    Allowed values: `sfdc_cms__email`.
*   `contentBody` (_EmailContentBody_, required)

### EmailContentResponse

A response structure that's returned when creating or retrieving email content.

*   `apiName` (_string_) The system-generated API name for the email.
*   `contentBody` (_EmailContentBody_) An object that contains the properties and structure of the email.
*   `contentFqn` (_string_, nullable) The fully qualified name of the email.
*   `contentKey` (_string_) The 28-character alphanumeric content key for the email.
*   `contentSpace` (_object_) An object that describes the content space where the email is stored.
    *   `id` (_string_) The unique identifier of the content space.
    *   `resourceUrl` (_string_) The API resource URL of the content space.
*   `contentType` (_object_) The content type information for the email.
    *   `fullyQualifiedName` (_string_) The fully qualified name of the content type.
*   `createdBy` (_object_) An object that defines the user who created the email.
    *   `id` (_string_) The unique identifier of the user who created the email.
    *   `name` (_string_) The display name of the user who created the email.
    *   `resourceUrl` (_string_) The API resource URL for the user.
*   `createdDate` (_string (date-time)_) The date and time when the email was created.
*   `externalId` (_string_, nullable) The external identifier of the email.
*   `folder` (_object_) An object that describes the folder that contains the email.
    *   `id` (_string_) The unique identifier of the folder.
    *   `resourceUrl` (_string_) The API resource URL of the folder.
*   `isPublished` (_boolean_) Indicates whether the email is published.
*   `language` (_string_) The language code for the email.
*   `lastModifiedBy` (_object_) An object that defines the user who last modified the email.
    *   `id` (_string_) The unique identifier of the user who last modified the email.
    *   `name` (_string_) The display name of the user who last modified the email.
    *   `resourceUrl` (_string_) The API resource URL of the user.
*   `lastModifiedDate` (_string (date-time)_) The date and time when the email was last modified.
*   `managedContentId` (_string_) The Salesforce record ID for the email.
*   `managedContentVariantId` (_string_) The variant ID for this email.
*   `managedContentVersionId` (_string_) The version ID of the email.
*   `status` (_object_) An object that defines the publication status of the email.
    *   `label` (_string_) The display label for the publication status.
    *   `status` (_string_) The status of the email.  
        Allowed values: `Draft`, `Published`.
*   `title` (_string_) The display title of the email content.
*   `urlName` (_string_) The URL path name. Marketing Cloud Next generates this value automatically based on the title of the email.
*   `versionNumber` (_string_) The version number of the email content.

### Error

*   `error` (_string_, required) The error code or type.  
    Example: `VALIDATION_ERROR`.
*   `message` (_string_, required) A human-readable error message.  
    Example: `Required field 'subjectLine' is missing`.
*   `details` (_array of object_) Additional information about the error.
    *   `field` (_string_) The field that caused the error.  
        Example: `sfdc_cms:block.children[0].definition`.
    *   `message` (_string_) A field-specific error message.  
        Example: `Block definition 'invalid/block' is not allowed`.

### EmailContentBody

The content body for email content type. This contains all email-specific properties including subject, content structure, and CMS metadata.

**Required CMS Metadata Fields:**

*   `sfdc_cms:title` - The title of the email
*   `sfdc_cms:urlName` - A URL-friendly name
*   `sfdc_cms:description` - An optional description of the email

**Content Representation Options:**

*   Use [sfdc\_cms:block](/docs/marketing/marketing-cloud-growth/guide/mc-manage-component-blocks.html) for block-based content composition.
*   Use `rawHtml` to enter HTML content directly.
*   Use both `rawHtml` and `textContent` to create multi-part emails.

*   `sfdc_cms:title` (_string_, required) The title of the email.
*   `sfdc_cms:urlName` (_string_) URL-friendly name for the email content. Must be unique within the content space. Used for generating URLs and references.  
    Pattern: ^\[a-z0-9-\]+$.
*   `sfdc_cms:description` (_string_) Description of the email content for organizational purposes.
*   `subjectLine` (_string_, required) The subject line of the email. This value can include Handlebars scripting for personalization and dynamic content.
*   `preheader` (_string_) The preheader text shown in email clients. This value can include Handlebars scripting.
*   `messagePurpose` (_string_, required) The purpose classification of the email message.  
    Allowed values: `promotional`, `transactional`, `relational`. Default: `promotional`.
*   `backgroundColor` (_string_) The background color for the email. This value can be a hex color or a color scheme reference.
*   `sfdc_cms:block` (_RootContentBlock_) The main content body of the email, represented as a hierarchical block structure. Blocks are the primary way to compose email content.
*   `rawHtml` (_string_) Raw HTML content for the email body. This value can include Handlebars scripting for personalization and dynamic content.
*   `textContent` (_string_) A plain text version of the email body. This value can include Handlebars scripting for personalization and dynamic content.

### RootContentBlock

The root component block that contains all email content. This is the top-level container for the block-based email body structure.

**Block Hierarchy:**

*   Root Block (`sfdc_cms/rootContentBlock`)
    *   Section Blocks (`lightning/section`)
        *   Column Blocks (`lightning/column`)
            *   Component Blocks, including `heading`, `text`, `image`, `button`, and similar blocks

*   `id` (_string (uuid)_) The unique identifier for the block. If you don't specify a value, the system generates one automatically.
*   `type` (_string_, required) The type of the element. For component blocks, this value is always "block".  
    Allowed values: `block`.
*   `definition` (_string_, required) The block definition identifier. For the root component block, this must be `sfdc_cms/rootContentBlock`.  
    Allowed values: `sfdc_cms/rootContentBlock`.
*   `children` (_array of ContentBlock_)
    
    Array of child blocks. The root component block can contain these block types:
    
    *   Section blocks
    *   Core component blocks, such as lightning/heading, lightning/text, or lightning/image
    *   Email action blocks, such as unsubscribe or preference center links
    *   Fragment container blocks
    *   Repeater blocks for dynamic content
    
    _Example_
    
    ```
    [
      {
        "id": "6748f554-84cc-4b76-8654-14bfc7dbb93e",
        "type": "block",
        "definition": "lightning/heading",
        "attributes": {
          "level": 1,
          "text": "Save big on gear for your next adventure"
        }
      }
    ]
    ```
    

### ContentBlock

A component block within the email body. Blocks can be nested to create complex layouts.

**Common Block Definitions:**

*   `lightning/section`: Layout section (container for columns)
*   `lightning/column`: Column within a section
*   `lightning/heading`: Heading text (h1-h6)
*   `lightning/text`: Paragraph text
*   `lightning/image`: Image element
*   `lightning/button`: Call-to-action button
*   `lightning/divider`: Horizontal divider
*   `lightning/spacer`: Vertical spacing element

*   `id` (_string (uuid)_) The unique identifier for the block.
*   `type` (_string_, required) The type of the element. For component blocks, this value is always `block`.  
    Allowed values: `block`.
*   `definition` (_string_, required)
    
    The definition identifier that determines the behavior and rendering of a block.
    
    **Layout Blocks:**
    
    *   `lightning/section`: Creates a layout section
    *   `lightning/column`: Creates a column within a section
    
    **Component Blocks:**
    
    *   `lightning/heading`: Heading element (h1-h6)
    *   `lightning/text`: Text paragraph
    *   `lightning/image`: Image display
    *   `lightning/button`: Button/CTA
    *   `lightning/divider`: Horizontal rule
    *   `lightning/spacer`: Vertical spacing
    
    **Data-Driven Blocks:**
    
    *   `lightning/repeater`: Repeating content based on data
    *   `sfdc_cms/fragment`: Reusable content fragment
    
      
    Allowed values: `lightning/section`, `lightning/column`, `lightning/heading`, `lightning/text`, `lightning/image`, `lightning/button`, `lightning/divider`, `lightning/spacer`, `lightning/repeater`, `sfdc_cms/fragment`. Example: `lightning/heading`.
*   `attributes` (_object_) Block-specific attributes that configure the appearance and behavior. Attributes vary by block definition type.
*   `children` (_array of ContentBlock_)
    
    Nested child blocks. Only these block types support child blocks:
    
    *   Section blocks, which contain columns.
    *   Column blocks, which contain component blocks.
    *   Repeater blocks, which contain template content.

### BlockAttributes

Common attributes used across various block types. Individual blocks can contain specific attributes.

*   `text` (_string_) The text for a text-based block, such as a heading, body text section, or button.
*   `level` (_integer_) The heading level for heading blocks. The minimum value is 1, and the maximum value is 6.  
    Minimum: 1. Maximum: 6.
*   `columnWidth` (_integer_) The column width for the block. Emails use a 12-column grid system, so this value must be between 1 and 12, inclusive.  
    Minimum: 1. Maximum: 12.
*   `stackOnMobile` (_boolean_) Indicates whether to stack columns vertically on mobile devices.
*   `lightning:verticalAlignment` (_string_) The vertical alignment of content within a container.  
    Allowed values: `top`, `middle`, `bottom`.
*   `lightning:colorScheme` (_string_) The color scheme reference. This value can be specified by the brand data provider.
*   `lightning:padding` (_string_) The padding value or a reference to the brand padding value.
*   `lightning:margin` (_string_) The margin value or a reference to the brand margin value.
*   `lightning:borderRadius` (_string_) The border radius value or a reference to the border radius for the brand.
*   `lightning:borderWidth` (_string_) The border width value or a reference to the border weight for the brand.
*   `href` (_string (uri)_) The URL for links and buttons.
*   `target` (_string_) The link target behavior.  
    Allowed values: `_blank`, `_self`.
*   `src` (_string (uri)_) The image source URL.
*   `alt` (_string_) The alternative text for images, used for accessibility.
*   `width` (_integer_) The image width in pixels.
*   `height` (_integer_) The image height in pixels.
*   `lightning:variant` (_string_) The button style variant.  
    Allowed values: `primary`, `secondary`, `tertiary`.

_Example_

```
{
  "text": "Welcome to our store",
  "level": 1,
  "columnWidth": 6,
  "stackOnMobile": true,
  "lightning:verticalAlignment": "top",
  "lightning:colorScheme": "{!$brand.colorScheme}",
  "lightning:padding": "{!$brand.spacing.xSmall}",
  "href": "https://example.com/shop",
  "target": "_blank"
}
```

### ImageReference

An object that contains information about an image reference. This object can refer to either a CMS image asset or a direct URL.

*   `source` (_ImageContentReference | ImageUrlReference_) The source of the image. This value can be either a content reference or a URL.
    
    One of: `ImageContentReference`, `ImageUrlReference`.
    
*   `url` (_string (uri)_, read-only) The derived URL for the image. The system generates this URL automatically.
*   `altText` (_string_) The alt text for an image.
*   `overrideAltText` (_boolean_) Indicates whether to override the alt text from the referenced image.

_Example_

```
{
  "source": {
    "type": "imageReference",
    "ref": {
      "contentKey": "MCZOCY2AM5PFBADN5UDRB53TLXR4"
    }
  },
  "url": "https://cdn.example.com/images/MCZOCY2AM5PFBADN5UDRB53TLXR4.jpg",
  "altText": "Product banner image",
  "overrideAltText": false
}
```

### ImageContentReference

A reference to an image stored in a content workspace.

*   `type` (_string_, required) Indicates that this value is a content reference.  
    Example: `imageReference`.
*   `ref` (_object_, required) An object that contains information about a reference to an image.
    *   `contentKey` (_string_, required) A unique content key that identifies the image in a content workspace.

### ImageUrlReference

The URL of an image to include in the email.

*   `type` (_string_, required) Indicates that this value is a URL reference.  
    Example: `url`.
*   `ref` (_string (uri)_, required) The URL of the image. Provide either a complete HTTPS URL or a relative URL.  
    Pattern: ^(https://|/). Example: `https://example.com/images/banner.jpg`.