Marketo · Capability

Marketo Engage Rest API — Segments

Marketo Engage Rest API — Segments. 3 operations. Lead operation: Marketo Get Segmentations. Self-contained Naftiko capability covering one Marketo business surface.

Run with Naftiko MarketoSegments

What You Can Do

GET
Getsegmentationusingget — Marketo Get Segmentations
/v1/asset/v1/segmentation-json
GET
Getsegmentsforsegmentationusingget — Marketo Get Segments For Segmentation
/v1/asset/v1/segmentation/{id}/segments-json
POST
Updatedynamiccontentusingpost — Marketo Update Snippet Dynamic Content
/v1/asset/v1/snippet/{id}/dynamiccontent/segmentid-json

MCP Tools

marketo-get-segmentations

Marketo Get Segmentations

read-only idempotent
marketo-get-segments-segmentation

Marketo Get Segments For Segmentation

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

Marketo Update Snippet Dynamic Content

Capability Spec

engage-rest-segments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marketo Engage Rest API — Segments
  description: 'Marketo Engage Rest API — Segments. 3 operations. Lead operation: Marketo Get Segmentations. Self-contained
    Naftiko capability covering one Marketo business surface.'
  tags:
  - Marketo
  - Segments
  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-segments
    baseUri: https://localhost:8080
    description: Marketo Engage Rest API — Segments business capability. Self-contained, no shared references.
    resources:
    - name: rest-asset-v1-segmentation.json
      path: /rest/asset/v1/segmentation.json
      operations:
      - name: getsegmentationusingget
        method: GET
        description: Marketo Get Segmentations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
          description: Status filter for draft or approved versions
    - name: rest-asset-v1-segmentation-id-segments.json
      path: /rest/asset/v1/segmentation/{id}/segments.json
      operations:
      - name: getsegmentsforsegmentationusingget
        method: GET
        description: Marketo Get Segments For Segmentation
        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: 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: 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
  exposes:
  - type: rest
    namespace: engage-rest-segments-rest
    port: 8080
    description: REST adapter for Marketo Engage Rest API — Segments. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/asset/v1/segmentation-json
      name: rest-asset-v1-segmentation-json
      description: REST surface for rest-asset-v1-segmentation.json.
      operations:
      - method: GET
        name: getsegmentationusingget
        description: Marketo Get Segmentations
        call: engage-rest-segments.getsegmentationusingget
        with:
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/asset/v1/segmentation/{id}/segments-json
      name: rest-asset-v1-segmentation-id-segments-json
      description: REST surface for rest-asset-v1-segmentation-id-segments.json.
      operations:
      - method: GET
        name: getsegmentsforsegmentationusingget
        description: Marketo Get Segments For Segmentation
        call: engage-rest-segments.getsegmentsforsegmentationusingget
        with:
          id: rest.id
          status: rest.status
          offset: rest.offset
          maxReturn: rest.maxReturn
        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-segments.updatedynamiccontentusingpost
        with:
          id: rest.id
          segmentId: rest.segmentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: engage-rest-segments-mcp
    port: 9090
    transport: http
    description: MCP adapter for Marketo Engage Rest API — Segments. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: marketo-get-segmentations
      description: Marketo Get Segmentations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-segments.getsegmentationusingget
      with:
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: marketo-get-segments-segmentation
      description: Marketo Get Segments For Segmentation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: engage-rest-segments.getsegmentsforsegmentationusingget
      with:
        id: tools.id
        status: tools.status
        offset: tools.offset
        maxReturn: tools.maxReturn
      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-segments.updatedynamiccontentusingpost
      with:
        id: tools.id
        segmentId: tools.segmentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.