Marketo Emails API

Email Controller

Operations 26

GET /rest/asset/v1/email/byName.json Get Email by Name #
GET /rest/asset/v1/email/{id}.json Get Email By Id #
POST /rest/asset/v1/email/{id}.json Update Email Metadata #
POST /rest/asset/v1/email/{id}/approveDraft.json Approve Email Draft #
POST /rest/asset/v1/email/{id}/clone.json Clone Email #
GET /rest/asset/v1/email/{id}/content.json Get Email Content #
POST /rest/asset/v1/email/{id}/content.json Update Email Content #
POST /rest/asset/v1/email/{id}/content/rearrange.json Rearrange Email Modules #
POST /rest/asset/v1/email/{id}/content/{htmlId}.json Update Email Content Section #
POST /rest/asset/v1/email/{id}/content/{moduleId}/add.json Add Email Module #
POST /rest/asset/v1/email/{id}/content/{moduleId}/delete.json Delete Module #
POST /rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json Duplicate Email Module #
POST /rest/asset/v1/email/{id}/content/{moduleId}/rename.json Rename Email Module #
POST /rest/asset/v1/email/{id}/delete.json Delete Email #
POST /rest/asset/v1/email/{id}/discardDraft.json Discard Email Draft #
GET /rest/asset/v1/email/{id}/dynamicContent/{contentId}.json Get Email Dynamic Content #
POST /rest/asset/v1/email/{id}/dynamicContent/{contentId}.json Update Email Dynamic Content Section #
POST /rest/asset/v1/email/{id}/sendSample.json Send Sample Email #
POST /rest/asset/v1/email/{id}/unapprove.json Unapprove Email #
POST /rest/asset/v1/email/{id}/variable/{name}.json Update Email Variable #
GET /rest/asset/v1/email/{id}/variables.json Get Email Variables #
GET /rest/asset/v1/email/ccFields.json Get Email CC Fields #
GET /rest/asset/v1/emails.json Get Emails #
POST /rest/asset/v1/emails.json Create Email #
GET /rest/asset/v1/email/{id}/fullContent.json Get Email Full Content #
POST /rest/asset/v1/email/{id}/fullContent.json Update Email Full Content #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/marketo-emails-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

marketo-emails-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Marketo Engage Rest API
  version: '1.0'
  title: Marketo Engage Rest Emails API
  termsOfService: https://www.adobe.com/legal.html
  contact:
    name: Adobe Developer Relations
    url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
    email: ''
  license:
    name: API License Agreement
    url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/api-license
servers:
- url: https://localhost:8080/
tags:
- name: Emails
  description: Email Controller
paths:
  /rest/asset/v1/email/byName.json:
    get:
      tags:
      - Emails
      summary: Get Email by Name
      description: 'Returns email records based on the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailByNameUsingGET
      parameters:
      - name: name
        in: query
        description: Name of the email
        required: true
        schema:
          type: string
      - name: status
        in: query
        description: Status filter for draft or approved versions
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      - name: folder
        in: query
        description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
  /rest/asset/v1/email/{id}.json:
    get:
      tags:
      - Emails
      summary: Get Email By Id
      description: 'Returns an email record by its id. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailByIdUsingGET
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: status
        in: query
        description: Status filter for draft or approved versions
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
    post:
      tags:
      - Emails
      summary: Update Email Metadata
      description: 'Updates the metadata of an email asset. Required Permissions: Read-Write Assets'
      operationId: updateEmailUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateEmailMetaDataRequest'
        description: updateEmailRequest
        required: true
  /rest/asset/v1/email/{id}/approveDraft.json:
    post:
      tags:
      - Emails
      summary: Approve Email Draft
      description: 'Approves the current draft of an email. Required Permissions: Approve Assets'
      operationId: approveDraftUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
  /rest/asset/v1/email/{id}/clone.json:
    post:
      tags:
      - Emails
      summary: Clone Email
      description: 'Clones the target email. Required Permissions: Read-Write Assets'
      operationId: cloneEmailUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CloneEmailRequest'
        description: cloneEmailRequest
        required: true
  /rest/asset/v1/email/{id}/content.json:
    get:
      tags:
      - Emails
      summary: Get Email Content
      description: 'Returns the content of the designated email. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailContentByIdUsingGET
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: status
        in: query
        description: Status filter for draft or approved versions
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailContentResponse'
    post:
      tags:
      - Emails
      summary: Update Email Content
      description: 'Updates the content of an email. Required Permissions: Read-Write Assets'
      operationId: updateEmailContentUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateEmailComponentDataRequest'
        description: updateEmailRequest
        required: true
  /rest/asset/v1/email/{id}/content/rearrange.json:
    post:
      tags:
      - Emails
      summary: Rearrange Email Modules
      description: 'Rearranges the modules in an email. Required Permissions: Read-Write Assets'
      operationId: rearrangeModulesUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailModuleResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: string
        description: JSON array of module positions. Each position must be a JSON object with members 'index' and a 'moduleId'
  /rest/asset/v1/email/{id}/content/{htmlId}.json:
    post:
      tags:
      - Emails
      summary: Update Email Content Section
      description: 'Updates the content in the given section. Required Permissions: Read-Write Assets'
      operationId: updateEmailComponentContentUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: htmlId
        in: path
        description: htmlId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateEmailComponentContentRequest'
        description: request
        required: true
  /rest/asset/v1/email/{id}/content/{moduleId}/add.json:
    post:
      tags:
      - Emails
      summary: Add Email Module
      description: 'Adds a new module to an email, with the given id. Required Permissions: Read-Write Assets'
      operationId: addModuleUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: moduleId
        in: path
        description: moduleId
        required: true
        schema:
          type: string
      - name: name
        in: query
        description: Name of the module
        required: true
        schema:
          type: string
      - name: index
        in: query
        description: Index of the module. Determines the order of the module in the email.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailModuleResponse'
  /rest/asset/v1/email/{id}/content/{moduleId}/delete.json:
    post:
      tags:
      - Emails
      summary: Delete Module
      description: 'Deletes the given module from the email. Required Permissions: Read-Write Assets'
      operationId: deleteModuleUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: moduleId
        in: path
        description: moduleId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailModuleResponse'
  /rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json:
    post:
      tags:
      - Emails
      summary: Duplicate Email Module
      description: 'Creates a copy of the designated module in an email. Required Permissions: Read-Write Assets'
      operationId: duplicateModuleUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: moduleId
        in: path
        description: moduleId
        required: true
        schema:
          type: string
      - name: name
        in: query
        description: Name of the new module
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailModuleResponse'
  /rest/asset/v1/email/{id}/content/{moduleId}/rename.json:
    post:
      tags:
      - Emails
      summary: Rename Email Module
      description: 'Renames a module. Required Permissions: Read-Write Assets'
      operationId: renameUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: moduleId
        in: path
        description: moduleId
        required: true
        schema:
          type: string
      - name: name
        in: query
        description: New module name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailModuleResponse'
  /rest/asset/v1/email/{id}/delete.json:
    post:
      tags:
      - Emails
      summary: Delete Email
      description: 'Deletes the target email. Required Permissions: Read-Write Assets'
      operationId: deleteEmailUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
  /rest/asset/v1/email/{id}/discardDraft.json:
    post:
      tags:
      - Emails
      summary: Discard Email Draft
      description: 'Discards the current draft of an email. Required Permissions: Read-Write Assets'
      operationId: discardDraftUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
  /rest/asset/v1/email/{id}/dynamicContent/{contentId}.json:
    get:
      tags:
      - Emails
      summary: Get Email Dynamic Content
      description: 'Retrieves the dynamic content record for the given section. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailDynamicContentUsingGET
      parameters:
      - name: id
        in: path
        description: Id of email
        required: true
        schema:
          type: integer
          format: int32
      - name: contentId
        in: path
        description: Id of email dynamic content section
        required: true
        schema:
          type: string
      - name: status
        in: query
        description: Status filter for draft or approved versions
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailDynamicContentResponse'
    post:
      tags:
      - Emails
      summary: Update Email Dynamic Content Section
      description: 'Updates dynamic content in the given section. Required Permissions: Read-Write Assets'
      operationId: updateEmailDynamicContentUsingPOST
      parameters:
      - name: id
        in: path
        description: Id of email
        required: true
        schema:
          type: integer
          format: int32
      - name: contentId
        in: path
        description: Id of email dynamic content section
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateEmailDynamicContentRequest'
        description: Content properties
        required: true
  /rest/asset/v1/email/{id}/sendSample.json:
    post:
      tags:
      - Emails
      summary: Send Sample Email
      description: 'Sends a sample email to the given email address. Leads may be impersonated to populate data for tokens and dynamic content. Required Permissions: Read-Write Assets'
      operationId: sendSampleEmailUsingPOST
      parameters:
      - name: id
        in: path
        description: Id of the email
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfSendSampleResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendSampleEmailRequest'
        description: sendSampleEmailRequest
        required: true
  /rest/asset/v1/email/{id}/unapprove.json:
    post:
      tags:
      - Emails
      summary: Unapprove Email
      description: 'Unapproves the email and reverts it to a draft-only state. Required Permissions: Approve Assets'
      operationId: unapproveDraftUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfIdResponse'
  /rest/asset/v1/email/{id}/variable/{name}.json:
    post:
      tags:
      - Emails
      summary: Update Email Variable
      description: 'Updates the value of a given variable in an email. Required Permissions: Read-Write Assets'
      operationId: updateVariableUsingPOST
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      - name: name
        in: path
        description: name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailVariableResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateVariableRequest'
        description: updateVariableRequest
  /rest/asset/v1/email/{id}/variables.json:
    get:
      tags:
      - Emails
      summary: Get Email Variables
      description: 'Returns a list of the available variables in an email. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailVariablesUsingGET
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailVariableResponse'
  /rest/asset/v1/email/ccFields.json:
    get:
      tags:
      - Emails
      summary: Get Email CC Fields
      description: 'Returns the set of fields enabled for Email CC in the target instance. Required Permissions: Read-Only Assets, Read-Write Assets'
      operationId: getEmailCCFieldsUsingGET
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailCCFieldsResponse'
  /rest/asset/v1/emails.json:
    get:
      tags:
      - Emails
      summary: Get Emails
      description: 'Returns a list of emails matching the given filter parameters. Required Permissions: Read-Only Assets, Read-Write Assets.


        Note: Emails created with the new email designer may appear in this API''s response, but some of the fields may be null or incomplete. For complete and reliable details of these assets, use the Emails (New) APIs; refer to the <a href="https://developer.adobe.com/marketo-apis/api/asset#operation/filterContentUsingGET_email">List Emails</a> endpoint.'
      operationId: getEmailUsingGET
      parameters:
      - name: status
        in: query
        description: Status filter for draft or approved versions
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      - name: folder
        in: query
        description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
        required: false
        schema:
          type: string
      - name: offset
        in: query
        description: Integer offset for paging
        required: false
        schema:
          type: integer
          format: int32
      - name: maxReturn
        in: query
        description: Maximum number of emails to return. Max 200, default 20
        required: false
        schema:
          type: integer
          format: int32
      - name: earliestUpdatedAt
        in: query
        description: Exclude emails prior to this date. Must be valid ISO-8601 string. See <a href="http://developers.marketo.com/rest-api/lead-database/fields/field-types/">Datetime</a> field type description.
        schema:
          type: string
      - name: latestUpdatedAt
        in: query
        description: Exclude emails after this date. Must be valid ISO-8601 string. See <a href="http://developers.marketo.com/rest-api/lead-database/fields/field-types/">Datetime</a> field type description.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
    post:
      tags:
      - Emails
      summary: Create Email
      description: 'Creates a new email asset. Required Permissions: Read-Write Assets'
      operationId: createEmailUsingPOST
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfEmailResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateEmailRequest'
        description: createEmailRequest
        required: true
  /rest/asset/v1/email/{id}/fullContent.json:
    get:
      tags:
      - Emails
      summary: Get Email Full Content
      description: 'Returns the serialized HTML version of the email. Required Permissions: Read-Only Assets, Read-Write Assets. If leadId is passed in the request: Read-Only Lead, Read-Write Lead.'
      operationId: getEmailFullContentUsingGET
      parameters:
      - name: id
        in: path
        description: Id of the email
        required: true
        schema:
          type: integer
          format: int32
      - name: status
        in: query
        description: Status filter for draft or approved versions. Defaults to approved if asset is approved, draft if not.
        required: false
        schema:
          type: string
          enum:
          - approved
          - draft
      - name: leadId
        in: query
        description: The lead id to impersonate. Email is rendered as though it was received by this lead.
        required: false
        schema:
          type: integer
          format: int32
      - name: type
        in: query
        description: Email content type to return. Default is HTML.
        required: false
        schema:
          type: string
          enum:
          - Text
          - HTML
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfGetEmailFullContentResponse'
    post:
      tags:
      - Emails
      summary: Update Email Full Content
      description: 'Replaces the HTML of an Email that has had its relationship broken from its template. Required Permissions: Read-Write Assets'
      operationId: createEmailFullContentUsingPOST
      parameters:
      - name: id
        in: path
        description: Id of the email
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfUpdateEmailFullContentResponse'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateEmailFullContentRequest'
        description: Content is multipart file parameter
        required: true
components:
  schemas:
    ResponseOfEmailContentResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
        result:
          type: array
          items:
            $ref: '#/components/schemas/EmailContentResponse'
        success:
          type: boolean
        warnings:
          type: array
          items:
            type: string
    UpdateEmailFullContentResponse:
      type: object
      required:
      - id
      properties:
        id:
          type: integer
          format: int32
          description: Unique integer id of the email
    EmailResponse:
      type: object
      required:
      - folder
      - fromEmail
      - fromName
      - operational
      - publishToMSI
      - replyEmail
      - status
      - subject
      - template
      - textOnly
      - webView
      - autoCopyToText
      - preHeader
      properties:
        createdAt:
          type: string
          format: date-time
          description: Datetime the asset was created
        description:
          type: string
          description: Description of the asset
        folder:
          description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
          $ref: '#/components/schemas/Folder'
        fromEmail:
          description: From-address of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        fromName:
          description: From-name of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        id:
          type: integer
          format: int64
          description: Id of the asset
        name:
          type: string
          description: Name of the asset
        operational:
          type: boolean
          description: Whether the email is operational. Operational emails bypass unsubscribe status. Defaults to false
        publishToMSI:
          type: boolean
          description: Whether the email is published to Marketo Sales Insight
        replyEmail:
          description: Reply-To address of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        status:
          type: string
          description: Status filter for draft or approved versions
        subject:
          description: Subject Line of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        template:
          type: integer
          format: int32
          description: Id of the parent template
        textOnly:
          type: boolean
          description: Setting to include text-only version of email when sent
        updatedAt:
          type: string
          format: date-time
          description: Datetime the asset was most recently updated
        url:
          type: string
          description: Url of the asset in the Marketo UI
        version:
          type: integer
          format: int32
          description: The type version of the email
          enum:
          - 1
          - 2
        webView:
          type: boolean
          description: Whether 'View as Webpage' function is enabled for the email
        workspace:
          type: string
          description: Name of the workspace
        autoCopyToText:
          type: boolean
          description: Setting to automatically copy HTML version to Text version
        preHeader:
          type: string
          description: The email preheader text (max 1024 characters)
        ccFields:
          type: array
          items:
            $ref: '#/components/schemas/EmailCCFields'
    ResponseOfEmailVariableResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
        result:
          type: array
          items:
            $ref: '#/components/schemas/EmailVariableResponse'
        success:
          type: boolean
        warnings:
          type: array
          items:
            type: string
    ResponseOfGetEmailFullContentResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
        result:
          type: array
          items:
            $ref: '#/components/schemas/GetEmailFullContentResponse'
        success:
          type: boolean
        warnings:
          type: array
          items:
            type: string
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Error code of the error. See full list of error codes <a href="https://developers.marketo.com/rest-api/error-codes/">here</a>
        message:
          type: string
          description: Message describing the cause of the error
    UpdateEmailComponentDataRequest:
      type: object
      properties:
        fromEmail:
          description: From-address of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        fromName:
          description: From-name of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        replyTO:
          description: Reply-To address of the Email
          $ref: '#/components/schemas/EmailHeaderField'
        subject:
          description: Subject Line of the Email
          $ref: '#/components/schemas/EmailHeaderField'
    UpdateEmailComponentContentRequest:
      type: object
      required:
      - type
      - value
      properties:
        altText:
          type: string
          description: Sets the value of the alt parameter for the resulting img element
        externalUrl:
          type: string
        height:
          type: integer
          format: int32
          description: Overrides naitve height of the image. The resulting file will be resized to the given height
        image:
          type: string
          description: Multipart file that allows you to load an image from your computer
        linkUrl:
          type: string
        overWrite:
          type: boolean
          description: Allows overwriting of the existing image content section
        style:
          type: string
          description: Sets the value of the style parameter for the content section
        textValue:
          type: string
        type:
          type: string
          description: Type of content to set for the section.
          enum:
          - Text
          - DynamicContent
          - Snippet
        value:
          type: string
          description: Value to set for the section. For type Text, the HTML content of the section. For type DynamicContent, the id of the segmentation to use for the content. For type Snippet, the id of the snippet to embed
        videoUrl:
          type: string
          description: Sets the Url of the video element. Videos must be either from YouTube or Vimeo
        width:
          type: integer
          format: int32
          description: Overrides native width of the image. The resulting file will be resized to the given width
    EmailHeaderField:
      type: object
      required:
      - type
      - value
      properties:
        type:
          type: string
          description: Field type
        value:
          type: string
          description: Value of field
    EmailContentResponse:
      type: object
      required:
      - contentType
      - htmlId
      - value
      properties:
        contentType:
          type: string
          description: Type of content to set for the section.
        htmlId:
          type: string
          description: HTML id of the content section
        index:
          type: integer
          format: int32
        isLocked:
          type: boolean
        parentHtmlId:
          type: string
        value:
          type: object
          description: Contents of the section
    ResponseOfEmailDynamicContentResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
        result:
          type: array
          items:
            $ref: '#/components/schemas/EmailDynamicContentResponse'
        success:
      

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marketo/refs/heads/main/openapi/marketo-emails-api-openapi.yml