Snowplow · Capability

Snowplow Console API — Data Products

Snowplow Console API — Data Products. 5 operations. Lead operation: List Data Products. Self-contained Naftiko capability covering one Snowplow business surface.

Run with Naftiko SnowplowData Products

What You Can Do

GET
Listdataproducts — List Data Products
/v1/organizations/{organizationid}/data-products/v2
POST
Createdataproduct — Create Data Product
/v1/organizations/{organizationid}/data-products/v2
GET
Getdataproduct — Get Data Product
/v1/organizations/{organizationid}/data-products/v2/{dataproductid}
POST
Updatedataproduct — Update Data Product
/v1/organizations/{organizationid}/data-products/v2/{dataproductid}
GET
Getdataproducthistory — Get Data Product History
/v1/organizations/{organizationid}/data-products/v2/{dataproductid}/history

MCP Tools

list-data-products

List Data Products

read-only idempotent
create-data-product

Create Data Product

get-data-product

Get Data Product

read-only idempotent
update-data-product

Update Data Product

get-data-product-history

Get Data Product History

read-only idempotent

Capability Spec

console-data-products.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snowplow Console API — Data Products
  description: 'Snowplow Console API — Data Products. 5 operations. Lead operation: List Data Products. Self-contained Naftiko
    capability covering one Snowplow business surface.'
  tags:
  - Snowplow
  - Data Products
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNOWPLOW_API_KEY: SNOWPLOW_API_KEY
capability:
  consumes:
  - type: http
    namespace: console-data-products
    baseUri: https://console.snowplowanalytics.com/api/msc/v1
    description: Snowplow Console API — Data Products business capability. Self-contained, no shared references.
    resources:
    - name: organizations-organizationId-data-products-v2
      path: /organizations/{organizationId}/data-products/v2
      operations:
      - name: listdataproducts
        method: GET
        description: List Data Products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdataproduct
        method: POST
        description: Create Data Product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: organizations-organizationId-data-products-v2-dataProductId
      path: /organizations/{organizationId}/data-products/v2/{dataProductId}
      operations:
      - name: getdataproduct
        method: GET
        description: Get Data Product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatedataproduct
        method: POST
        description: Update Data Product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: organizations-organizationId-data-products-v2-dataProductId-history
      path: /organizations/{organizationId}/data-products/v2/{dataProductId}/history
      operations:
      - name: getdataproducthistory
        method: GET
        description: Get Data Product History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.SNOWPLOW_API_KEY}}'
  exposes:
  - type: rest
    namespace: console-data-products-rest
    port: 8080
    description: REST adapter for Snowplow Console API — Data Products. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/organizations/{organizationid}/data-products/v2
      name: organizations-organizationid-data-products-v2
      description: REST surface for organizations-organizationId-data-products-v2.
      operations:
      - method: GET
        name: listdataproducts
        description: List Data Products
        call: console-data-products.listdataproducts
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdataproduct
        description: Create Data Product
        call: console-data-products.createdataproduct
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/data-products/v2/{dataproductid}
      name: organizations-organizationid-data-products-v2-dataproductid
      description: REST surface for organizations-organizationId-data-products-v2-dataProductId.
      operations:
      - method: GET
        name: getdataproduct
        description: Get Data Product
        call: console-data-products.getdataproduct
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatedataproduct
        description: Update Data Product
        call: console-data-products.updatedataproduct
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/data-products/v2/{dataproductid}/history
      name: organizations-organizationid-data-products-v2-dataproductid-history
      description: REST surface for organizations-organizationId-data-products-v2-dataProductId-history.
      operations:
      - method: GET
        name: getdataproducthistory
        description: Get Data Product History
        call: console-data-products.getdataproducthistory
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: console-data-products-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snowplow Console API — Data Products. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-data-products
      description: List Data Products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-data-products.listdataproducts
      outputParameters:
      - type: object
        mapping: $.
    - name: create-data-product
      description: Create Data Product
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: console-data-products.createdataproduct
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-data-product
      description: Get Data Product
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-data-products.getdataproduct
      outputParameters:
      - type: object
        mapping: $.
    - name: update-data-product
      description: Update Data Product
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: console-data-products.updatedataproduct
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-data-product-history
      description: Get Data Product History
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-data-products.getdataproducthistory
      outputParameters:
      - type: object
        mapping: $.