Marketo · Capability

Marketo Engage Rest API — Modules

Marketo Engage Rest API — Modules. 4 operations. Lead operation: Marketo Add Email Module. Self-contained Naftiko capability covering one Marketo business surface.

Run with Naftiko MarketoModules

What You Can Do

POST
Addmoduleusingpost — Marketo Add Email Module
/v1/asset/v1/email/{id}/content/{moduleid}/add-json
POST
Deletemoduleusingpost — Marketo Delete Module
/v1/asset/v1/email/{id}/content/{moduleid}/delete-json
POST
Duplicatemoduleusingpost — Marketo Duplicate Email Module
/v1/asset/v1/email/{id}/content/{moduleid}/duplicate-json
POST
Renameusingpost — Marketo Rename Email Module
/v1/asset/v1/email/{id}/content/{moduleid}/rename-json

MCP Tools

marketo-add-email-module

Marketo Add Email Module

marketo-delete-module

Marketo Delete Module

marketo-duplicate-email-module

Marketo Duplicate Email Module

marketo-rename-email-module

Marketo Rename Email Module

Capability Spec

engage-rest-modules.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Modules
  description: 'Marketo Engage Rest API — Modules. 4 operations. Lead operation: Marketo Add Email Module. Self-contained
    Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Modules
  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-modules
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Modules business capability. Self-contained, no shared references.
    resources:
    - name: rest-asset-v1-email-id-content-moduleId-add.json
      path: /rest/asset/v1/email/{id}/content/{moduleId}/add.json
      operations:
      - name: addmoduleusingpost
        method: POST
        description: Marketo Add Email Module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: moduleId
          in: path
          type: string
          description: moduleId
          required: true
        - name: name
          in: query
          type: string
          description: Name of the module
          required: true
        - name: index
          in: query
          type: integer
          description: Index of the module. Determines the order of the module in the email.
          required: true
    - name: rest-asset-v1-email-id-content-moduleId-delete.json
      path: /rest/asset/v1/email/{id}/content/{moduleId}/delete.json
      operations:
      - name: deletemoduleusingpost
        method: POST
        description: Marketo Delete Module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: moduleId
          in: path
          type: string
          description: moduleId
          required: true
    - name: rest-asset-v1-email-id-content-moduleId-duplicate.json
      path: /rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json
      operations:
      - name: duplicatemoduleusingpost
        method: POST
        description: Marketo Duplicate Email Module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: moduleId
          in: path
          type: string
          description: moduleId
          required: true
        - name: name
          in: query
          type: string
          description: Name of the new module
          required: true
    - name: rest-asset-v1-email-id-content-moduleId-rename.json
      path: /rest/asset/v1/email/{id}/content/{moduleId}/rename.json
      operations:
      - name: renameusingpost
        method: POST
        description: Marketo Rename Email Module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: moduleId
          in: path
          type: string
          description: moduleId
          required: true
        - name: name
          in: query
          type: string
          description: New module name
          required: true
  exposes:
  - type: rest
    namespace: engage-rest-modules-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Modules. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/asset/v1/email/{id}/content/{moduleid}/add-json
      name: rest-asset-v1-email-id-content-moduleid-add-json
      description: REST surface for rest-asset-v1-email-id-content-moduleId-add.json.
      operations:
      - method: POST
        name: addmoduleusingpost
        description: Marketo Add Email Module
        call: engage-rest-modules.addmoduleusingpost
        with:
          id: rest.id
          moduleId: rest.moduleId
          name: rest.name
          index: rest.index
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/email/{id}/content/{moduleid}/delete-json
      name: rest-asset-v1-email-id-content-moduleid-delete-json
      description: REST surface for rest-asset-v1-email-id-content-moduleId-delete.json.
      operations:
      - method: POST
        name: deletemoduleusingpost
        description: Marketo Delete Module
        call: engage-rest-modules.deletemoduleusingpost
        with:
          id: rest.id
          moduleId: rest.moduleId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/email/{id}/content/{moduleid}/duplicate-json
      name: rest-asset-v1-email-id-content-moduleid-duplicate-json
      description: REST surface for rest-asset-v1-email-id-content-moduleId-duplicate.json.
      operations:
      - method: POST
        name: duplicatemoduleusingpost
        description: Marketo Duplicate Email Module
        call: engage-rest-modules.duplicatemoduleusingpost
        with:
          id: rest.id
          moduleId: rest.moduleId
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/email/{id}/content/{moduleid}/rename-json
      name: rest-asset-v1-email-id-content-moduleid-rename-json
      description: REST surface for rest-asset-v1-email-id-content-moduleId-rename.json.
      operations:
      - method: POST
        name: renameusingpost
        description: Marketo Rename Email Module
        call: engage-rest-modules.renameusingpost
        with:
          id: rest.id
          moduleId: rest.moduleId
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-modules-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Modules. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: marketo-add-email-module
      description: Marketo Add Email Module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-modules.addmoduleusingpost
      with:
        id: tools.id
        moduleId: tools.moduleId
        name: tools.name
        index: tools.index
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-delete-module
      description: Marketo Delete Module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-modules.deletemoduleusingpost
      with:
        id: tools.id
        moduleId: tools.moduleId
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-duplicate-email-module
      description: Marketo Duplicate Email Module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-modules.duplicatemoduleusingpost
      with:
        id: tools.id
        moduleId: tools.moduleId
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-rename-email-module
      description: Marketo Rename Email Module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-modules.renameusingpost
      with:
        id: tools.id
        moduleId: tools.moduleId
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.