Marketo · Capability

Marketo Engage Rest API — Folders

Marketo Engage Rest API — Folders. 7 operations. Lead operation: Marketo Get Folder by Name. Self-contained Naftiko capability covering one Marketo business surface.

Run with Naftiko MarketoFolders

What You Can Do

GET
Getfolderbynameusingget — Marketo Get Folder by Name
/v1/asset/v1/folder/byname-json
GET
Getfolderbyidusingget — Marketo Get Folder by Id
/v1/asset/v1/folder/id-json
POST
Updatefolderusingpost — Marketo Update Folder Metadata
/v1/asset/v1/folder/id-json
GET
Getfoldercontentusingget — Marketo Get Folder Contents
/v1/asset/v1/folder/{id}/content-json
POST
Deletefolderusingpost — Marketo Delete Folder
/v1/asset/v1/folder/{id}/delete-json
GET
Getfolderusingget — Marketo Get Folders
/v1/asset/v1/folders-json
POST
Createfolderusingpost — Marketo Create Folder
/v1/asset/v1/folders-json

MCP Tools

marketo-get-folder-name

Marketo Get Folder by Name

read-only idempotent
marketo-get-folder-id

Marketo Get Folder by Id

read-only idempotent
marketo-update-folder-metadata

Marketo Update Folder Metadata

marketo-get-folder-contents

Marketo Get Folder Contents

read-only idempotent
marketo-delete-folder

Marketo Delete Folder

marketo-get-folders

Marketo Get Folders

read-only idempotent
marketo-create-folder

Marketo Create Folder

Capability Spec

engage-rest-folders.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Folders
  description: 'Marketo Engage Rest API — Folders. 7 operations. Lead operation: Marketo Get Folder by Name. Self-contained
    Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Folders
  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-folders
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Folders business capability. Self-contained, no shared references.
    resources:
    - 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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: Name of the folder. Not applicable for Programs
          required: true
        - 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
    - 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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the folder to retrieve
          required: true
        - name: type
          in: query
          type: string
          description: Type of folder. 'Folder' or 'Program'
          required: true
      - name: updatefolderusingpost
        method: POST
        description: Marketo Update Folder Metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the folder to update
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - 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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the folder to retrieve
          required: true
        - 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
          description: Type of folder. 'Folder' or 'Program'. Default is 'Folder'
          required: true
    - 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
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the folder to delete
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-asset-v1-folders.json
      path: /rest/asset/v1/folders.json
      operations:
      - name: getfolderusingget
        method: GET
        description: Marketo Get Folders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        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
          description: Integer offset for paging. Default 0
        - name: workSpace
          in: query
          type: string
          description: Name of the workspace
      - name: createfolderusingpost
        method: POST
        description: Marketo Create Folder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: engage-rest-folders-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Folders. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/asset/v1/folder/byname-json
      name: rest-asset-v1-folder-byname-json
      description: REST surface for rest-asset-v1-folder-byName.json.
      operations:
      - method: GET
        name: getfolderbynameusingget
        description: Marketo Get Folder by Name
        call: engage-rest-folders.getfolderbynameusingget
        with:
          name: rest.name
          type: rest.type
          root: rest.root
          workSpace: rest.workSpace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folder/id-json
      name: rest-asset-v1-folder-id-json
      description: REST surface for rest-asset-v1-folder-id}.json.
      operations:
      - method: GET
        name: getfolderbyidusingget
        description: Marketo Get Folder by Id
        call: engage-rest-folders.getfolderbyidusingget
        with:
          id: rest.id
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatefolderusingpost
        description: Marketo Update Folder Metadata
        call: engage-rest-folders.updatefolderusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folder/{id}/content-json
      name: rest-asset-v1-folder-id-content-json
      description: REST surface for rest-asset-v1-folder-id-content.json.
      operations:
      - method: GET
        name: getfoldercontentusingget
        description: Marketo Get Folder Contents
        call: engage-rest-folders.getfoldercontentusingget
        with:
          id: rest.id
          maxReturn: rest.maxReturn
          offset: rest.offset
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folder/{id}/delete-json
      name: rest-asset-v1-folder-id-delete-json
      description: REST surface for rest-asset-v1-folder-id-delete.json.
      operations:
      - method: POST
        name: deletefolderusingpost
        description: Marketo Delete Folder
        call: engage-rest-folders.deletefolderusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folders-json
      name: rest-asset-v1-folders-json
      description: REST surface for rest-asset-v1-folders.json.
      operations:
      - method: GET
        name: getfolderusingget
        description: Marketo Get Folders
        call: engage-rest-folders.getfolderusingget
        with:
          root: rest.root
          maxDepth: rest.maxDepth
          maxReturn: rest.maxReturn
          offset: rest.offset
          workSpace: rest.workSpace
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createfolderusingpost
        description: Marketo Create Folder
        call: engage-rest-folders.createfolderusingpost
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-folders-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Folders. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: marketo-get-folder-name
      description: Marketo Get Folder by Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-folders.getfolderbynameusingget
      with:
        name: tools.name
        type: tools.type
        root: tools.root
        workSpace: tools.workSpace
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-folder-id
      description: Marketo Get Folder by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-folders.getfolderbyidusingget
      with:
        id: tools.id
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-folder-metadata
      description: Marketo Update Folder Metadata
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-folders.updatefolderusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-folder-contents
      description: Marketo Get Folder Contents
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-folders.getfoldercontentusingget
      with:
        id: tools.id
        maxReturn: tools.maxReturn
        offset: tools.offset
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-delete-folder
      description: Marketo Delete Folder
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-folders.deletefolderusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-folders
      description: Marketo Get Folders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-folders.getfolderusingget
      with:
        root: tools.root
        maxDepth: tools.maxDepth
        maxReturn: tools.maxReturn
        offset: tools.offset
        workSpace: tools.workSpace
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-create-folder
      description: Marketo Create Folder
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-folders.createfolderusingpost
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.