Marketo · Capability

Marketo Engage Rest API — Folder

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

Run with Naftiko MarketoFolder

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
Gettokensbyfolderidusingget — Marketo Get Tokens by Folder Id
/v1/asset/v1/folder/{id}/tokens-json
POST
Addtokentofolderusingpost — Marketo Create Token
/v1/asset/v1/folder/{id}/tokens-json
POST
Deletetokenbynameusingpost — Marketo Delete Token by Name
/v1/asset/v1/folder/{id}/tokens/delete-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-tokens-folder-id

Marketo Get Tokens by Folder Id

read-only idempotent
marketo-create-token

Marketo Create Token

marketo-delete-token-name

Marketo Delete Token by Name

Capability Spec

engage-rest-folder.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Folder
  description: 'Marketo Engage Rest API — Folder. 8 operations. Lead operation: Marketo Get Folder by Name. Self-contained
    Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Folder
  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-folder
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Folder 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-folder-id-tokens.json
      path: /rest/asset/v1/folder/{id}/tokens.json
      operations:
      - name: gettokensbyfolderidusingget
        method: GET
        description: Marketo Get Tokens by Folder Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: folderType
          in: query
          type: string
          description: Type of folder. 'Folder' or 'Program'
      - name: addtokentofolderusingpost
        method: POST
        description: Marketo Create Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Id of the folder to which the token will be associated with
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - 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
        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
  exposes:
  - type: rest
    namespace: engage-rest-folder-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Folder. 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-folder.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-folder.getfolderbyidusingget
        with:
          id: rest.id
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatefolderusingpost
        description: Marketo Update Folder Metadata
        call: engage-rest-folder.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-folder.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-folder.deletefolderusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folder/{id}/tokens-json
      name: rest-asset-v1-folder-id-tokens-json
      description: REST surface for rest-asset-v1-folder-id-tokens.json.
      operations:
      - method: GET
        name: gettokensbyfolderidusingget
        description: Marketo Get Tokens by Folder Id
        call: engage-rest-folder.gettokensbyfolderidusingget
        with:
          id: rest.id
          folderType: rest.folderType
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addtokentofolderusingpost
        description: Marketo Create Token
        call: engage-rest-folder.addtokentofolderusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/folder/{id}/tokens/delete-json
      name: rest-asset-v1-folder-id-tokens-delete-json
      description: REST surface for rest-asset-v1-folder-id-tokens-delete.json.
      operations:
      - method: POST
        name: deletetokenbynameusingpost
        description: Marketo Delete Token by Name
        call: engage-rest-folder.deletetokenbynameusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-folder-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Folder. 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-folder.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-folder.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-folder.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-folder.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-folder.deletefolderusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-tokens-folder-id
      description: Marketo Get Tokens by Folder Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-folder.gettokensbyfolderidusingget
      with:
        id: tools.id
        folderType: tools.folderType
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-create-token
      description: Marketo Create Token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-folder.addtokentofolderusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-delete-token-name
      description: Marketo Delete Token by Name
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-folder.deletetokenbynameusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.