Marketo · Capability

Marketo Engage Rest API

Marketo exposes a REST API which allows for remote execution of many of the systems capabilities. From creating programs to bulk lead import, there are many options which allow fine-grained control of a Marketo instance.

Run with Naftiko MarketoAPI

What You Can Do

GET
Getchannelbynameusingget — Marketo Get Channel by Name
/rest/asset/v1/channel/byName.json
GET
Getallchannelsusingget — Marketo Get Channels
/rest/asset/v1/channels.json
GET
Getemailbynameusingget — Marketo Get Email by Name
/rest/asset/v1/email/byName.json
GET
Getemailbyidusingget — Marketo Get Email By Id
/rest/asset/v1/email/{id}.json
POST
Updateemailusingpost — Marketo Update Email Metadata
/rest/asset/v1/email/{id}.json
POST
Approvedraftusingpost — Marketo Approve Email Draft
/rest/asset/v1/email/{id}/approveDraft.json
POST
Cloneemailusingpost — Marketo Clone Email
/rest/asset/v1/email/{id}/clone.json
GET
Getemailcontentbyidusingget — Marketo Get Email Content
/rest/asset/v1/email/{id}/content.json
POST
Updateemailcontentusingpost — Marketo Update Email Content
/rest/asset/v1/email/{id}/content.json
POST
Rearrangemodulesusingpost — Marketo Rearrange Email Modules
/rest/asset/v1/email/{id}/content/rearrange.json
POST
Updateemailcomponentcontentusingpost — Marketo Update Email Content Section
/rest/asset/v1/email/{id}/content/{htmlId}.json
POST
Addmoduleusingpost — Marketo Add Email Module
/rest/asset/v1/email/{id}/content/{moduleId}/add.json
POST
Deletemoduleusingpost — Marketo Delete Module
/rest/asset/v1/email/{id}/content/{moduleId}/delete.json
POST
Duplicatemoduleusingpost — Marketo Duplicate Email Module
/rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json
POST
Renameusingpost — Marketo Rename Email Module
/rest/asset/v1/email/{id}/content/{moduleId}/rename.json
POST
Deleteemailusingpost — Marketo Delete Email
/rest/asset/v1/email/{id}/delete.json
POST
Discarddraftusingpost — Marketo Discard Email Draft
/rest/asset/v1/email/{id}/discardDraft.json
GET
Getemaildynamiccontentusingget — Marketo Get Email Dynamic Content
/rest/asset/v1/email/{id}/dynamicContent/{contentId}.json
POST
Updateemaildynamiccontentusingpost — Marketo Update Email Dynamic Content Section
/rest/asset/v1/email/{id}/dynamicContent/{contentId}.json
POST
Sendsampleemailusingpost — Marketo Send Sample Email
/rest/asset/v1/email/{id}/sendSample.json
POST
Unapprovedraftusingpost — Marketo Unapprove Email
/rest/asset/v1/email/{id}/unapprove.json
POST
Updatevariableusingpost — Marketo Update Email Variable
/rest/asset/v1/email/{id}/variable/{name}.json
GET
Getemailvariablesusingget — Marketo Get Email Variables
/rest/asset/v1/email/{id}/variables.json
GET
Getemailccfieldsusingget — Marketo Get Email CC Fields
/rest/asset/v1/email/ccFields.json
GET
Gettemplatebynameusingget — Marketo Get Email Template by Name
/rest/asset/v1/emailTemplate/byName.json
GET
Gettemplatebyidusingget — Marketo Get Email Template by Id
/rest/asset/v1/emailTemplate/{id}.json
POST
Updateemailtemplateusingpost — Marketo Update Email Template Metadata
/rest/asset/v1/emailTemplate/{id}.json
POST
Approvedraftusingpost 1 — Marketo Approve Email Template Draft
/rest/asset/v1/emailTemplate/{id}/approveDraft.json
POST
Clonetemplateusingpost — Marketo Clone Email Template
/rest/asset/v1/emailTemplate/{id}/clone.json
GET
Gettemplatecontentbyidusingget — Marketo Get Email Template Content by Id
/rest/asset/v1/emailTemplate/{id}/content
POST
Updateemailtemplatecontentusingpost — Marketo Update Email Template Content
/rest/asset/v1/emailTemplate/{id}/content.json
POST
Deletetemplateusingpost — Marketo Delete Email Template
/rest/asset/v1/emailTemplate/{id}/delete.json
POST
Discarddraftusingpost 1 — Marketo Discard Email Template Draft
/rest/asset/v1/emailTemplate/{id}/discardDraft.json
POST
Unapprovedraftusingpost 1 — Marketo Unapprove Email Template Draft
/rest/asset/v1/emailTemplate/{id}/unapprove.json
GET
Getemailtemplatesusingget — Marketo Get Email Templates
/rest/asset/v1/emailTemplates.json
POST
Createemailtemplateusingpost — Marketo Create Email Template
/rest/asset/v1/emailTemplates.json
GET
Getemailtemplateusedbyusingget — Marketo Get Email Template Used By
/rest/asset/v1/emailTemplates/{id}/usedBy.json
GET
Getemailusingget — Marketo Get Emails
/rest/asset/v1/emails.json
POST
Createemailusingpost — Marketo Create Email
/rest/asset/v1/emails.json
GET
Getemailfullcontentusingget — Marketo Get Email Full Content
/rest/asset/v1/email/{id}/fullContent.json
POST
Createemailfullcontentusingpost — Marketo Update Email Full Content
/rest/asset/v1/email/{id}/fullContent.json
GET
Getfilebynameusingget — Marketo Get File by Name
/rest/asset/v1/file/byName.json
GET
Getfilebyidusingget — Marketo Get File by Id
/rest/asset/v1/file/{id}.json
POST
Updatecontentusingpost — Marketo Update File Content
/rest/asset/v1/file/{id}/content.json
GET
Getfilesusingget — Marketo Get Files
/rest/asset/v1/files.json
POST
Createfileusingpost — Marketo Create File
/rest/asset/v1/files.json
GET
Getfolderbynameusingget — Marketo Get Folder by Name
/rest/asset/v1/folder/byName.json
GET
Getfolderbyidusingget — Marketo Get Folder by Id
/rest/asset/v1/folder/{id}.json
POST
Updatefolderusingpost — Marketo Update Folder Metadata
/rest/asset/v1/folder/{id}.json
GET
Getfoldercontentusingget — Marketo Get Folder Contents
/rest/asset/v1/folder/{id}/content.json
POST
Deletefolderusingpost — Marketo Delete Folder
/rest/asset/v1/folder/{id}/delete.json
GET
Gettokensbyfolderidusingget — Marketo Get Tokens by Folder Id
/rest/asset/v1/folder/{id}/tokens.json
POST
Addtokentofolderusingpost — Marketo Create Token
/rest/asset/v1/folder/{id}/tokens.json
POST
Deletetokenbynameusingpost — Marketo Delete Token by Name
/rest/asset/v1/folder/{id}/tokens/delete.json
GET
Getfolderusingget — Marketo Get Folders
/rest/asset/v1/folders.json
POST
Createfolderusingpost — Marketo Create Folder
/rest/asset/v1/folders.json
GET
Getlpformbynameusingget — Marketo Get Form by Name
/rest/asset/v1/form/byName.json
GET
Getallfieldsusingget — Marketo Get Available Form Fields
/rest/asset/v1/form/fields.json
GET
Getallprogrammemberfieldsusingget — Marketo Get Available Form Program Member Fields
/rest/asset/v1/form/programMemberFields.json
POST
Addformfieldvisibilityruleusingpost — Marketo Add Form Field Visibility Rules
/rest/asset/v1/form/{formId}/field/{fieldId}/visibility.json

MCP Tools

getchannelbynameusingget

Marketo Get Channel by Name

read-only idempotent
getallchannelsusingget

Marketo Get Channels

read-only idempotent
getemailbynameusingget

Marketo Get Email by Name

read-only idempotent
getemailbyidusingget

Marketo Get Email By Id

read-only idempotent
updateemailusingpost

Marketo Update Email Metadata

approvedraftusingpost

Marketo Approve Email Draft

cloneemailusingpost

Marketo Clone Email

getemailcontentbyidusingget

Marketo Get Email Content

read-only idempotent
updateemailcontentusingpost

Marketo Update Email Content

rearrangemodulesusingpost

Marketo Rearrange Email Modules

updateemailcomponentcontentusingpost

Marketo Update Email Content Section

addmoduleusingpost

Marketo Add Email Module

deletemoduleusingpost

Marketo Delete Module

duplicatemoduleusingpost

Marketo Duplicate Email Module

renameusingpost

Marketo Rename Email Module

deleteemailusingpost

Marketo Delete Email

discarddraftusingpost

Marketo Discard Email Draft

getemaildynamiccontentusingget

Marketo Get Email Dynamic Content

read-only idempotent
updateemaildynamiccontentusingpost

Marketo Update Email Dynamic Content Section

sendsampleemailusingpost

Marketo Send Sample Email

unapprovedraftusingpost

Marketo Unapprove Email

updatevariableusingpost

Marketo Update Email Variable

getemailvariablesusingget

Marketo Get Email Variables

read-only idempotent
getemailccfieldsusingget

Marketo Get Email CC Fields

read-only idempotent
gettemplatebynameusingget

Marketo Get Email Template by Name

read-only idempotent
gettemplatebyidusingget

Marketo Get Email Template by Id

read-only idempotent
updateemailtemplateusingpost

Marketo Update Email Template Metadata

approvedraftusingpost-1

Marketo Approve Email Template Draft

clonetemplateusingpost

Marketo Clone Email Template

gettemplatecontentbyidusingget

Marketo Get Email Template Content by Id

read-only idempotent
updateemailtemplatecontentusingpost

Marketo Update Email Template Content

deletetemplateusingpost

Marketo Delete Email Template

discarddraftusingpost-1

Marketo Discard Email Template Draft

unapprovedraftusingpost-1

Marketo Unapprove Email Template Draft

getemailtemplatesusingget

Marketo Get Email Templates

read-only idempotent
createemailtemplateusingpost

Marketo Create Email Template

getemailtemplateusedbyusingget

Marketo Get Email Template Used By

read-only idempotent
getemailusingget

Marketo Get Emails

read-only idempotent
createemailusingpost

Marketo Create Email

getemailfullcontentusingget

Marketo Get Email Full Content

read-only idempotent
createemailfullcontentusingpost

Marketo Update Email Full Content

getfilebynameusingget

Marketo Get File by Name

read-only idempotent
getfilebyidusingget

Marketo Get File by Id

read-only idempotent
updatecontentusingpost

Marketo Update File Content

getfilesusingget

Marketo Get Files

read-only idempotent
createfileusingpost

Marketo Create File

getfolderbynameusingget

Marketo Get Folder by Name

read-only idempotent
getfolderbyidusingget

Marketo Get Folder by Id

read-only idempotent
updatefolderusingpost

Marketo Update Folder Metadata

getfoldercontentusingget

Marketo Get Folder Contents

read-only idempotent
deletefolderusingpost

Marketo Delete Folder

gettokensbyfolderidusingget

Marketo Get Tokens by Folder Id

read-only idempotent
addtokentofolderusingpost

Marketo Create Token

deletetokenbynameusingpost

Marketo Delete Token by Name

getfolderusingget

Marketo Get Folders

read-only idempotent
createfolderusingpost

Marketo Create Folder

getlpformbynameusingget

Marketo Get Form by Name

read-only idempotent
getallfieldsusingget

Marketo Get Available Form Fields

read-only idempotent
getallprogrammemberfieldsusingget

Marketo Get Available Form Program Member Fields

read-only idempotent
addformfieldvisibilityruleusingpost

Marketo Add Form Field Visibility Rules

Capability Spec

marketo-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API
  description: Marketo exposes a REST API which allows for remote execution of many of the systems capabilities. From creating
    programs to bulk lead import, there are many options which allow fine-grained control of a Marketo instance.
  tags:
  - Marketo
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: marketo
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API HTTP API.
    resources:
    - name: rest-asset-v1-channel-byname-json
      path: /rest/asset/v1/channel/byName.json
      operations:
      - name: getchannelbynameusingget
        method: GET
        description: Marketo Get Channel by Name
        inputParameters:
        - name: Name
          in: query
          type: string
          required: true
          description: Name of channel to retrieve
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-channels-json
      path: /rest/asset/v1/channels.json
      operations:
      - name: getallchannelsusingget
        method: GET
        description: Marketo Get Channels
        inputParameters:
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of channels to return. Max 200, default 20
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-byname-json
      path: /rest/asset/v1/email/byName.json
      operations:
      - name: getemailbynameusingget
        method: GET
        description: Marketo Get Email by Name
        inputParameters:
        - name: name
          in: query
          type: string
          required: true
          description: Name of the email
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        - name: folder
          in: query
          type: string
          description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-json
      path: /rest/asset/v1/email/{id}.json
      operations:
      - name: getemailbyidusingget
        method: GET
        description: Marketo Get Email By Id
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateemailusingpost
        method: POST
        description: Marketo Update Email Metadata
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-approvedraft-json
      path: /rest/asset/v1/email/{id}/approveDraft.json
      operations:
      - name: approvedraftusingpost
        method: POST
        description: Marketo Approve Email Draft
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-clone-json
      path: /rest/asset/v1/email/{id}/clone.json
      operations:
      - name: cloneemailusingpost
        method: POST
        description: Marketo Clone Email
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-json
      path: /rest/asset/v1/email/{id}/content.json
      operations:
      - name: getemailcontentbyidusingget
        method: GET
        description: Marketo Get Email Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateemailcontentusingpost
        method: POST
        description: Marketo Update Email Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-rearrange-json
      path: /rest/asset/v1/email/{id}/content/rearrange.json
      operations:
      - name: rearrangemodulesusingpost
        method: POST
        description: Marketo Rearrange Email Modules
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-htmlid-json
      path: /rest/asset/v1/email/{id}/content/{htmlId}.json
      operations:
      - name: updateemailcomponentcontentusingpost
        method: POST
        description: Marketo Update Email Content Section
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: htmlId
          in: path
          type: string
          required: true
          description: htmlId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: moduleId
          in: path
          type: string
          required: true
          description: moduleId
        - name: name
          in: query
          type: string
          required: true
          description: Name of the module
        - name: index
          in: query
          type: integer
          required: true
          description: Index of the module. Determines the order of the module in the email.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-moduleid-delete-j
      path: /rest/asset/v1/email/{id}/content/{moduleId}/delete.json
      operations:
      - name: deletemoduleusingpost
        method: POST
        description: Marketo Delete Module
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: moduleId
          in: path
          type: string
          required: true
          description: moduleId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-moduleid-duplicat
      path: /rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json
      operations:
      - name: duplicatemoduleusingpost
        method: POST
        description: Marketo Duplicate Email Module
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: moduleId
          in: path
          type: string
          required: true
          description: moduleId
        - name: name
          in: query
          type: string
          required: true
          description: Name of the new module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-content-moduleid-rename-j
      path: /rest/asset/v1/email/{id}/content/{moduleId}/rename.json
      operations:
      - name: renameusingpost
        method: POST
        description: Marketo Rename Email Module
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: moduleId
          in: path
          type: string
          required: true
          description: moduleId
        - name: name
          in: query
          type: string
          required: true
          description: New module name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-delete-json
      path: /rest/asset/v1/email/{id}/delete.json
      operations:
      - name: deleteemailusingpost
        method: POST
        description: Marketo Delete Email
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-discarddraft-json
      path: /rest/asset/v1/email/{id}/discardDraft.json
      operations:
      - name: discarddraftusingpost
        method: POST
        description: Marketo Discard Email Draft
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-dynamiccontent-contentid-
      path: /rest/asset/v1/email/{id}/dynamicContent/{contentId}.json
      operations:
      - name: getemaildynamiccontentusingget
        method: GET
        description: Marketo Get Email Dynamic Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of email
        - name: contentId
          in: path
          type: string
          required: true
          description: Id of email dynamic content section
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateemaildynamiccontentusingpost
        method: POST
        description: Marketo Update Email Dynamic Content Section
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of email
        - name: contentId
          in: path
          type: string
          required: true
          description: Id of email dynamic content section
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-sendsample-json
      path: /rest/asset/v1/email/{id}/sendSample.json
      operations:
      - name: sendsampleemailusingpost
        method: POST
        description: Marketo Send Sample Email
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the email
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-unapprove-json
      path: /rest/asset/v1/email/{id}/unapprove.json
      operations:
      - name: unapprovedraftusingpost
        method: POST
        description: Marketo Unapprove Email
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-variable-name-json
      path: /rest/asset/v1/email/{id}/variable/{name}.json
      operations:
      - name: updatevariableusingpost
        method: POST
        description: Marketo Update Email Variable
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: name
          in: path
          type: string
          required: true
          description: name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-variables-json
      path: /rest/asset/v1/email/{id}/variables.json
      operations:
      - name: getemailvariablesusingget
        method: GET
        description: Marketo Get Email Variables
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-ccfields-json
      path: /rest/asset/v1/email/ccFields.json
      operations:
      - name: getemailccfieldsusingget
        method: GET
        description: Marketo Get Email CC Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: name
          in: query
          type: string
          required: true
          description: name
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateemailtemplateusingpost
        method: POST
        description: Marketo Update Email Template Metadata
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emailtemplate-id-approvedraft-json
      path: /rest/asset/v1/emailTemplate/{id}/approveDraft.json
      operations:
      - name: approvedraftusingpost-1
        method: POST
        description: Marketo Approve Email Template Draft
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emailtemplate-id-content
      path: /rest/asset/v1/emailTemplate/{id}/content
      operations:
      - name: gettemplatecontentbyidusingget
        method: GET
        description: Marketo Get Email Template Content by Id
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emailtemplate-id-discarddraft-json
      path: /rest/asset/v1/emailTemplate/{id}/discardDraft.json
      operations:
      - name: discarddraftusingpost-1
        method: POST
        description: Marketo Discard Email Template Draft
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emailtemplate-id-unapprove-json
      path: /rest/asset/v1/emailTemplate/{id}/unapprove.json
      operations:
      - name: unapprovedraftusingpost-1
        method: POST
        description: Marketo Unapprove Email Template Draft
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emailtemplates-json
      path: /rest/asset/v1/emailTemplates.json
      operations:
      - name: getemailtemplatesusingget
        method: GET
        description: Marketo Get Email Templates
        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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createemailtemplateusingpost
        method: POST
        description: Marketo Create Email Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the email template
        - 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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-emails-json
      path: /rest/asset/v1/emails.json
      operations:
      - name: getemailusingget
        method: GET
        description: Marketo Get Emails
        inputParameters:
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        - name: folder
          in: query
          type: string
          description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of emails to return. Max 200, default 20
        - name: earliestUpdatedAt
          in: query
          type: string
          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/">Datetim
        - name: latestUpdatedAt
          in: query
          type: string
          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</
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createemailusingpost
        method: POST
        description: Marketo Create Email
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-email-id-fullcontent-json
      path: /rest/asset/v1/email/{id}/fullContent.json
      operations:
      - name: getemailfullcontentusingget
        method: GET
        description: Marketo Get Email Full Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the email
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions. Defaults to approved if asset is approved, draft if not.
        - name: leadId
          in: query
          type: integer
          description: The lead id to impersonate. Email is rendered as though it was received by this lead.
        - name: type
          in: query
          type: string
          description: Email content type to return. Default is HTML.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createemailfullcontentusingpost
        method: POST
        description: Marketo Update Email Full Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the email
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-file-byname-json
      path: /rest/asset/v1/file/byName.json
      operations:
      - name: getfilebynameusingget
        method: GET
        description: Marketo Get File by Name
        inputParameters:
        - name: name
          in: query
          type: string
          required: true
          description: Name of the file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-file-id-json
      path: /rest/asset/v1/file/{id}.json
      operations:
      - name: getfilebyidusingget
        method: GET
        description: Marketo Get File by Id
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id for file in database
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-file-id-content-json
      path: /rest/asset/v1/file/{id}/content.json
      operations:
      - name: updatecontentusingpost
        method: POST
        description: Marketo Update File Content
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id for file in database
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-files-json
      path: /rest/asset/v1/files.json
      operations:
      - name: getfilesusingget
        method: GET
        description: Marketo Get Files
        inputParameters:
        - name: folder
          in: query
          type: string
          description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging. Default 0
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of files to return. Max 200, default 20
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createfileusingpost
        method: POST
        description: Marketo Create File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-byname-json
      path: /rest/asset/v1/folder/byName.json
      operations:
      - name: getfolderbynameusingget
        method: GET
        description: Marketo Get Folder by Name
        inputParameters:
        - name: name
          in: query
          type: string
          required: true
          description: Name of the folder. Not applicable for Programs
        - name: type
          in: query
          type: string
          description: Type of folder. 'Folder' or 'Program'
        - name: root
          in: query
          type: string
          description: Parent folder reference
        - name: workSpace
          in: query
          type: string
          description: Name of the workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-id-json
      path: /rest/asset/v1/folder/{id}.json
      operations:
      - name: getfolderbyidusingget
        method: GET
        description: Marketo Get Folder by Id
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the folder to retrieve
        - name: type
          in: query
          type: string
          required: true
          description: Type of folder. 'Folder' or 'Program'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatefolderusingpost
        method: POST
        description: Marketo Update Folder Metadata
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the folder to update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-id-content-json
      path: /rest/asset/v1/folder/{id}/content.json
      operations:
      - name: getfoldercontentusingget
        method: GET
        description: Marketo Get Folder Contents
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the folder to retrieve
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of channels to return. Max 200, default 20
        - name: offset
          in: query
          type: integer
          description: Integer offset for paging
        - name: type
          in: query
          type: string
          required: true
          description: Type of folder. 'Folder' or 'Program'. Default is 'Folder'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-id-delete-json
      path: /rest/asset/v1/folder/{id}/delete.json
      operations:
      - name: deletefolderusingpost
        method: POST
        description: Marketo Delete Folder
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the folder to delete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-id-tokens-json
      path: /rest/asset/v1/folder/{id}/tokens.json
      operations:
      - name: gettokensbyfolderidusingget
        method: GET
        description: Marketo Get Tokens by Folder Id
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        - name: folderType
          in: query
          type: string
          description: Type of folder. 'Folder' or 'Program'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addtokentofolderusingpost
        method: POST
        description: Marketo Create Token
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: Id of the folder to which the token will be associated with
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folder-id-tokens-delete-json
      path: /rest/asset/v1/folder/{id}/tokens/delete.json
      operations:
      - name: deletetokenbynameusingpost
        method: POST
        description: Marketo Delete Token by Name
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-asset-v1-folders-json
      path: /rest/asset/v1/folders.json
      operations:
      - name: getfolderusingget
        method: GET
        description: Marketo Get Folders
        inputParameters:
        - name: root
          in: query
          type: string
          description: Parent folder reference
        - name: maxDepth
          in: query
          type: integer
          description: Maximum folder depth to traverse, Default 2
        - name: maxReturn
          in: query
          type: integer
          description: Maximum number of folders to return. Default 20, maximum 200
        - name: offset
          in: query
          type: integer
        

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marketo/refs/heads/main/capabilities/marketo-capability.yaml