Marketo · Capability

Marketo Engage Rest API — Snippets

Marketo Engage Rest API — Snippets. 13 operations. Lead operation: Marketo Get Snippet by Id. Self-contained Naftiko capability covering one Marketo business surface.

Run with Naftiko MarketoSnippets

What You Can Do

GET
Getsnippetbyidusingget — Marketo Get Snippet by Id
/v1/asset/v1/snippet/id-json
POST
Updatesnippetusingpost — Marketo Update Snippet Metadata
/v1/asset/v1/snippet/id-json
POST
Approvesnippetusingpost — Marketo Approve Snippet Draft
/v1/asset/v1/snippet/{id}/approvedraft-json
POST
Clonesnippetusingpost — Marketo Clone Snippet
/v1/asset/v1/snippet/{id}/clone-json
GET
Getsnippetcontentbyidusingget — Marketo Get Snippet Content
/v1/asset/v1/snippet/{id}/content-json
POST
Updatecontentusingpost1 — Marketo Update Snippet Content
/v1/asset/v1/snippet/{id}/content-json
POST
Deletesnippetusingpost — Marketo Delete Snippet
/v1/asset/v1/snippet/{id}/delete-json
POST
Discardsnippetusingpost — Marketo Discard Snippet Draft
/v1/asset/v1/snippet/{id}/discarddraft-json
GET
Getdynamiccontentusingget — Marketo Get Dynamic Content
/v1/asset/v1/snippet/{id}/dynamiccontent-json
POST
Updatedynamiccontentusingpost — Marketo Update Snippet Dynamic Content
/v1/asset/v1/snippet/{id}/dynamiccontent/segmentid-json
POST
Unapprovesnippetusingpost — Marketo Unapprove Snippet
/v1/asset/v1/snippet/{id}/unapprove-json
GET
Getsnippetusingget — Marketo Get Snippets
/v1/asset/v1/snippets-json
POST
Createsnippetusingpost — Marketo Create Snippet
/v1/asset/v1/snippets-json

MCP Tools

marketo-get-snippet-id

Marketo Get Snippet by Id

read-only idempotent
marketo-update-snippet-metadata

Marketo Update Snippet Metadata

marketo-approve-snippet-draft

Marketo Approve Snippet Draft

marketo-clone-snippet

Marketo Clone Snippet

marketo-get-snippet-content

Marketo Get Snippet Content

read-only idempotent
marketo-update-snippet-content

Marketo Update Snippet Content

marketo-delete-snippet

Marketo Delete Snippet

marketo-discard-snippet-draft

Marketo Discard Snippet Draft

marketo-get-dynamic-content

Marketo Get Dynamic Content

read-only idempotent
marketo-update-snippet-dynamic-content

Marketo Update Snippet Dynamic Content

marketo-unapprove-snippet

Marketo Unapprove Snippet

marketo-get-snippets

Marketo Get Snippets

read-only idempotent
marketo-create-snippet

Marketo Create Snippet

Capability Spec

engage-rest-snippets.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Snippets
  description: 'Marketo Engage Rest API — Snippets. 13 operations. Lead operation: Marketo Get Snippet by Id. Self-contained
    Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Snippets
  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-snippets
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Snippets business capability. Self-contained, no shared references.
    resources:
    - name: rest-asset-v1-snippet-id}.json
      path: /rest/asset/v1/snippet/{id}.json
      operations:
      - name: getsnippetbyidusingget
        method: GET
        description: Marketo Get Snippet 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: updatesnippetusingpost
        method: POST
        description: Marketo Update Snippet 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-snippet-id-approveDraft.json
      path: /rest/asset/v1/snippet/{id}/approveDraft.json
      operations:
      - name: approvesnippetusingpost
        method: POST
        description: Marketo Approve Snippet Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-snippet-id-clone.json
      path: /rest/asset/v1/snippet/{id}/clone.json
      operations:
      - name: clonesnippetusingpost
        method: POST
        description: Marketo Clone Snippet
        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-snippet-id-content.json
      path: /rest/asset/v1/snippet/{id}/content.json
      operations:
      - name: getsnippetcontentbyidusingget
        method: GET
        description: Marketo Get Snippet Content
        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: updatecontentusingpost1
        method: POST
        description: Marketo Update Snippet Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: content
          in: query
          type: string
          description: Content of the snippet
          required: true
        - name: type
          in: query
          type: string
          description: Type of snippet content
          required: true
    - name: rest-asset-v1-snippet-id-delete.json
      path: /rest/asset/v1/snippet/{id}/delete.json
      operations:
      - name: deletesnippetusingpost
        method: POST
        description: Marketo Delete Snippet
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-snippet-id-discardDraft.json
      path: /rest/asset/v1/snippet/{id}/discardDraft.json
      operations:
      - name: discardsnippetusingpost
        method: POST
        description: Marketo Discard Snippet Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-snippet-id-dynamicContent.json
      path: /rest/asset/v1/snippet/{id}/dynamicContent.json
      operations:
      - name: getdynamiccontentusingget
        method: GET
        description: Marketo Get Dynamic Content
        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: rest-asset-v1-snippet-id-dynamicContent-segmentId}.json
      path: /rest/asset/v1/snippet/{id}/dynamicContent/{segmentId}.json
      operations:
      - name: updatedynamiccontentusingpost
        method: POST
        description: Marketo Update Snippet Dynamic Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
        - name: segmentId
          in: path
          type: integer
          description: segmentId
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-asset-v1-snippet-id-unapprove.json
      path: /rest/asset/v1/snippet/{id}/unapprove.json
      operations:
      - name: unapprovesnippetusingpost
        method: POST
        description: Marketo Unapprove Snippet
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: id
          required: true
    - name: rest-asset-v1-snippets.json
      path: /rest/asset/v1/snippets.json
      operations:
      - name: getsnippetusingget
        method: GET
        description: Marketo Get Snippets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
        - 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: createsnippetusingpost
        method: POST
        description: Marketo Create Snippet
        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-snippets-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Snippets. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/asset/v1/snippet/id-json
      name: rest-asset-v1-snippet-id-json
      description: REST surface for rest-asset-v1-snippet-id}.json.
      operations:
      - method: GET
        name: getsnippetbyidusingget
        description: Marketo Get Snippet by Id
        call: engage-rest-snippets.getsnippetbyidusingget
        with:
          id: rest.id
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatesnippetusingpost
        description: Marketo Update Snippet Metadata
        call: engage-rest-snippets.updatesnippetusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/approvedraft-json
      name: rest-asset-v1-snippet-id-approvedraft-json
      description: REST surface for rest-asset-v1-snippet-id-approveDraft.json.
      operations:
      - method: POST
        name: approvesnippetusingpost
        description: Marketo Approve Snippet Draft
        call: engage-rest-snippets.approvesnippetusingpost
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/clone-json
      name: rest-asset-v1-snippet-id-clone-json
      description: REST surface for rest-asset-v1-snippet-id-clone.json.
      operations:
      - method: POST
        name: clonesnippetusingpost
        description: Marketo Clone Snippet
        call: engage-rest-snippets.clonesnippetusingpost
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/content-json
      name: rest-asset-v1-snippet-id-content-json
      description: REST surface for rest-asset-v1-snippet-id-content.json.
      operations:
      - method: GET
        name: getsnippetcontentbyidusingget
        description: Marketo Get Snippet Content
        call: engage-rest-snippets.getsnippetcontentbyidusingget
        with:
          id: rest.id
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatecontentusingpost1
        description: Marketo Update Snippet Content
        call: engage-rest-snippets.updatecontentusingpost1
        with:
          id: rest.id
          content: rest.content
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/delete-json
      name: rest-asset-v1-snippet-id-delete-json
      description: REST surface for rest-asset-v1-snippet-id-delete.json.
      operations:
      - method: POST
        name: deletesnippetusingpost
        description: Marketo Delete Snippet
        call: engage-rest-snippets.deletesnippetusingpost
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/discarddraft-json
      name: rest-asset-v1-snippet-id-discarddraft-json
      description: REST surface for rest-asset-v1-snippet-id-discardDraft.json.
      operations:
      - method: POST
        name: discardsnippetusingpost
        description: Marketo Discard Snippet Draft
        call: engage-rest-snippets.discardsnippetusingpost
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/dynamiccontent-json
      name: rest-asset-v1-snippet-id-dynamiccontent-json
      description: REST surface for rest-asset-v1-snippet-id-dynamicContent.json.
      operations:
      - method: GET
        name: getdynamiccontentusingget
        description: Marketo Get Dynamic Content
        call: engage-rest-snippets.getdynamiccontentusingget
        with:
          id: rest.id
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/dynamiccontent/segmentid-json
      name: rest-asset-v1-snippet-id-dynamiccontent-segmentid-json
      description: REST surface for rest-asset-v1-snippet-id-dynamicContent-segmentId}.json.
      operations:
      - method: POST
        name: updatedynamiccontentusingpost
        description: Marketo Update Snippet Dynamic Content
        call: engage-rest-snippets.updatedynamiccontentusingpost
        with:
          id: rest.id
          segmentId: rest.segmentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippet/{id}/unapprove-json
      name: rest-asset-v1-snippet-id-unapprove-json
      description: REST surface for rest-asset-v1-snippet-id-unapprove.json.
      operations:
      - method: POST
        name: unapprovesnippetusingpost
        description: Marketo Unapprove Snippet
        call: engage-rest-snippets.unapprovesnippetusingpost
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/snippets-json
      name: rest-asset-v1-snippets-json
      description: REST surface for rest-asset-v1-snippets.json.
      operations:
      - method: GET
        name: getsnippetusingget
        description: Marketo Get Snippets
        call: engage-rest-snippets.getsnippetusingget
        with:
          status: rest.status
          maxReturn: rest.maxReturn
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsnippetusingpost
        description: Marketo Create Snippet
        call: engage-rest-snippets.createsnippetusingpost
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-snippets-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Snippets. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: marketo-get-snippet-id
      description: Marketo Get Snippet by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-snippets.getsnippetbyidusingget
      with:
        id: tools.id
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-snippet-metadata
      description: Marketo Update Snippet Metadata
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.updatesnippetusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-approve-snippet-draft
      description: Marketo Approve Snippet Draft
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.approvesnippetusingpost
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-clone-snippet
      description: Marketo Clone Snippet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.clonesnippetusingpost
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-snippet-content
      description: Marketo Get Snippet Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-snippets.getsnippetcontentbyidusingget
      with:
        id: tools.id
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-snippet-content
      description: Marketo Update Snippet Content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.updatecontentusingpost1
      with:
        id: tools.id
        content: tools.content
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-delete-snippet
      description: Marketo Delete Snippet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.deletesnippetusingpost
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-discard-snippet-draft
      description: Marketo Discard Snippet Draft
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.discardsnippetusingpost
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-dynamic-content
      description: Marketo Get Dynamic Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-snippets.getdynamiccontentusingget
      with:
        id: tools.id
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-update-snippet-dynamic-content
      description: Marketo Update Snippet Dynamic Content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.updatedynamiccontentusingpost
      with:
        id: tools.id
        segmentId: tools.segmentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-unapprove-snippet
      description: Marketo Unapprove Snippet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.unapprovesnippetusingpost
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-snippets
      description: Marketo Get Snippets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-snippets.getsnippetusingget
      with:
        status: tools.status
        maxReturn: tools.maxReturn
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-create-snippet
      description: Marketo Create Snippet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: engage-rest-snippets.createsnippetusingpost
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.