Marketo · Capability

Marketo Engage Rest API — Email Templates

Marketo Engage Rest API — Email Templates. 12 operations. Lead operation: Marketo Get Email Template by Name. Self-contained Naftiko capability covering one Marketo business surface.

Run with Naftiko MarketoEmail Templates

What You Can Do

GET
Gettemplatebynameusingget — Marketo Get Email Template by Name
/v1/asset/v1/emailtemplate/byname-json
GET
Gettemplatebyidusingget — Marketo Get Email Template by Id
/v1/asset/v1/emailtemplate/id-json
POST
Updateemailtemplateusingpost — Marketo Update Email Template Metadata
/v1/asset/v1/emailtemplate/id-json
POST
Approvedraftusingpost1 — Marketo Approve Email Template Draft
/v1/asset/v1/emailtemplate/{id}/approvedraft-json
POST
Clonetemplateusingpost — Marketo Clone Email Template
/v1/asset/v1/emailtemplate/{id}/clone-json
POST
Updateemailtemplatecontentusingpost — Marketo Update Email Template Content
/v1/asset/v1/emailtemplate/{id}/content-json
POST
Deletetemplateusingpost — Marketo Delete Email Template
/v1/asset/v1/emailtemplate/{id}/delete-json
POST
Discarddraftusingpost1 — Marketo Discard Email Template Draft
/v1/asset/v1/emailtemplate/{id}/discarddraft-json
POST
Unapprovedraftusingpost1 — Marketo Unapprove Email Template Draft
/v1/asset/v1/emailtemplate/{id}/unapprove-json
GET
Getemailtemplatesusingget — Marketo Get Email Templates
/v1/asset/v1/emailtemplates-json
POST
Createemailtemplateusingpost — Marketo Create Email Template
/v1/asset/v1/emailtemplates-json
GET
Getemailtemplateusedbyusingget — Marketo Get Email Template Used By
/v1/asset/v1/emailtemplates/{id}/usedby-json

MCP Tools

marketo-get-email-template-name

Marketo Get Email Template by Name

read-only idempotent
marketo-get-email-template-id

Marketo Get Email Template by Id

read-only idempotent
marketo-update-email-template-metadata

Marketo Update Email Template Metadata

marketo-approve-email-template-draft

Marketo Approve Email Template Draft

marketo-clone-email-template

Marketo Clone Email Template

marketo-update-email-template-content

Marketo Update Email Template Content

marketo-delete-email-template

Marketo Delete Email Template

marketo-discard-email-template-draft

Marketo Discard Email Template Draft

marketo-unapprove-email-template-draft

Marketo Unapprove Email Template Draft

marketo-get-email-templates

Marketo Get Email Templates

read-only idempotent
marketo-create-email-template

Marketo Create Email Template

marketo-get-email-template-used

Marketo Get Email Template Used By

read-only idempotent

Capability Spec

engage-rest-email-templates.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Email  Templates
  description: 'Marketo Engage Rest API — Email  Templates. 12 operations. Lead operation: Marketo Get Email Template by Name.
    Self-contained Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Email  Templates
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MARKETO_API_KEY: MARKETO_API_KEY
capability:
  consumes:
  - type: http
    namespace: engage-rest-email-templates
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Email  Templates business capability. Self-contained, no shared references.
    resources:
    - name: rest-asset-v1-emailTemplate-byName.json
      path: /rest/asset/v1/emailTemplate/byName.json
      operations:
      - name: gettemplatebynameusingget
        method: GET
        description: Marketo Get Email Template by Name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: name
          required: true
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
    - name: rest-asset-v1-emailTemplate-id}.json
      path: /rest/asset/v1/emailTemplate/{id}.json
      operations:
      - name: gettemplatebyidusingget
        method: GET
        description: Marketo Get Email Template by Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
      - name: updateemailtemplateusingpost
        method: POST
        description: Marketo Update Email Template Metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-asset-v1-emailTemplate-id-approveDraft.json
      path: /rest/asset/v1/emailTemplate/{id}/approveDraft.json
      operations:
      - name: approvedraftusingpost1
        method: POST
        description: Marketo Approve Email Template Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-emailTemplate-id-clone.json
      path: /rest/asset/v1/emailTemplate/{id}/clone.json
      operations:
      - name: clonetemplateusingpost
        method: POST
        description: Marketo Clone Email Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-asset-v1-emailTemplate-id-content.json
      path: /rest/asset/v1/emailTemplate/{id}/content.json
      operations:
      - name: updateemailtemplatecontentusingpost
        method: POST
        description: Marketo Update Email Template Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-asset-v1-emailTemplate-id-delete.json
      path: /rest/asset/v1/emailTemplate/{id}/delete.json
      operations:
      - name: deletetemplateusingpost
        method: POST
        description: Marketo Delete Email Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-emailTemplate-id-discardDraft.json
      path: /rest/asset/v1/emailTemplate/{id}/discardDraft.json
      operations:
      - name: discarddraftusingpost1
        method: POST
        description: Marketo Discard Email Template Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-emailTemplate-id-unapprove.json
      path: /rest/asset/v1/emailTemplate/{id}/unapprove.json
      operations:
      - name: unapprovedraftusingpost1
        method: POST
        description: Marketo Unapprove Email Template Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-emailTemplates.json
      path: /rest/asset/v1/emailTemplates.json
      operations:
      - name: getemailtemplatesusingget
        method: GET
        description: Marketo Get Email Templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of channels to return. Max 200, default 20
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
      - name: createemailtemplateusingpost
        method: POST
        description: Marketo Create Email Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-asset-v1-emailTemplates-id-usedBy.json
      path: /rest/asset/v1/emailTemplates/{id}/usedBy.json
      operations:
      - name: getemailtemplateusedbyusingget
        method: GET
        description: Marketo Get Email Template Used By
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the email template
          required: true
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of channels to return. Max 200, default 20
  exposes:
  - type: rest
    namespace: engage-rest-email-templates-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Email  Templates. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/asset/v1/emailtemplate/byname-json
      name: rest-asset-v1-emailtemplate-byname-json
      description: REST surface for rest-asset-v1-emailTemplate-byName.json.
      operations:
      - method: GET
        name: gettemplatebynameusingget
        description: Marketo Get Email Template by Name
        call: engage-rest-email-templates.gettemplatebynameusingget
        with:
          name: rest.name
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/id-json
      name: rest-asset-v1-emailtemplate-id-json
      description: REST surface for rest-asset-v1-emailTemplate-id}.json.
      operations:
      - method: GET
        name: gettemplatebyidusingget
        description: Marketo Get Email Template by Id
        call: engage-rest-email-templates.gettemplatebyidusingget
        with:
          id: rest.id
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updateemailtemplateusingpost
        description: Marketo Update Email Template Metadata
        call: engage-rest-email-templates.updateemailtemplateusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/approvedraft-json
      name: rest-asset-v1-emailtemplate-id-approvedraft-json
      description: REST surface for rest-asset-v1-emailTemplate-id-approveDraft.json.
      operations:
      - method: POST
        name: approvedraftusingpost1
        description: Marketo Approve Email Template Draft
        call: engage-rest-email-templates.approvedraftusingpost1
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/clone-json
      name: rest-asset-v1-emailtemplate-id-clone-json
      description: REST surface for rest-asset-v1-emailTemplate-id-clone.json.
      operations:
      - method: POST
        name: clonetemplateusingpost
        description: Marketo Clone Email Template
        call: engage-rest-email-templates.clonetemplateusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/content-json
      name: rest-asset-v1-emailtemplate-id-content-json
      description: REST surface for rest-asset-v1-emailTemplate-id-content.json.
      operations:
      - method: POST
        name: updateemailtemplatecontentusingpost
        description: Marketo Update Email Template Content
        call: engage-rest-email-templates.updateemailtemplatecontentusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/delete-json
      name: rest-asset-v1-emailtemplate-id-delete-json
      description: REST surface for rest-asset-v1-emailTemplate-id-delete.json.
      operations:
      - method: POST
        name: deletetemplateusingpost
        description: Marketo Delete Email Template
        call: engage-rest-email-templates.deletetemplateusingpost
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/discarddraft-json
      name: rest-asset-v1-emailtemplate-id-discarddraft-json
      description: REST surface for rest-asset-v1-emailTemplate-id-discardDraft.json.
      operations:
      - method: POST
        name: discarddraftusingpost1
        description: Marketo Discard Email Template Draft
        call: engage-rest-email-templates.discarddraftusingpost1
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplate/{id}/unapprove-json
      name: rest-asset-v1-emailtemplate-id-unapprove-json
      description: REST surface for rest-asset-v1-emailTemplate-id-unapprove.json.
      operations:
      - method: POST
        name: unapprovedraftusingpost1
        description: Marketo Unapprove Email Template Draft
        call: engage-rest-email-templates.unapprovedraftusingpost1
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplates-json
      name: rest-asset-v1-emailtemplates-json
      description: REST surface for rest-asset-v1-emailTemplates.json.
      operations:
      - method: GET
        name: getemailtemplatesusingget
        description: Marketo Get Email Templates
        call: engage-rest-email-templates.getemailtemplatesusingget
        with:
          offset: rest.offset
          maxReturn: rest.maxReturn
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createemailtemplateusingpost
        description: Marketo Create Email Template
        call: engage-rest-email-templates.createemailtemplateusingpost
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/emailtemplates/{id}/usedby-json
      name: rest-asset-v1-emailtemplates-id-usedby-json
      description: REST surface for rest-asset-v1-emailTemplates-id-usedBy.json.
      operations:
      - method: GET
        name: getemailtemplateusedbyusingget
        description: Marketo Get Email Template Used By
        call: engage-rest-email-templates.getemailtemplateusedbyusingget
        with:
          id: rest.id
          offset: rest.offset
          maxReturn: rest.maxReturn
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-email-templates-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Email  Templates. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: marketo-get-email-template-name
      description: Marketo Get Email Template by Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-email-templates.gettemplatebynameusingget
      with:
        name: tools.name
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-email-template-id
      description: Marketo Get Email Template by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-email-templates.gettemplatebyidusingget
      with:
        id: tools.id
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-email-template-metadata
      description: Marketo Update Email Template Metadata
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.updateemailtemplateusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-approve-email-template-draft
      description: Marketo Approve Email Template Draft
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.approvedraftusingpost1
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-clone-email-template
      description: Marketo Clone Email Template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.clonetemplateusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-email-template-content
      description: Marketo Update Email Template Content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.updateemailtemplatecontentusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-delete-email-template
      description: Marketo Delete Email Template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.deletetemplateusingpost
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-discard-email-template-draft
      description: Marketo Discard Email Template Draft
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.discarddraftusingpost1
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-unapprove-email-template-draft
      description: Marketo Unapprove Email Template Draft
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.unapprovedraftusingpost1
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-email-templates
      description: Marketo Get Email Templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-email-templates.getemailtemplatesusingget
      with:
        offset: tools.offset
        maxReturn: tools.maxReturn
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-create-email-template
      description: Marketo Create Email Template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-email-templates.createemailtemplateusingpost
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-email-template-used
      description: Marketo Get Email Template Used By
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-email-templates.getemailtemplateusedbyusingget
      with:
        id: tools.id
        offset: tools.offset
        maxReturn: tools.maxReturn
      outputParameters:
      - type: object
        mapping: $.