Snowplow Data Products API
Manage data products (tracking plans) which organize event specifications and define the behavioral data strategy for a product or feature.
Manage data products (tracking plans) which organize event specifications and define the behavioral data strategy for a product or feature.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/snowplow-data-products-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Snowplow Console Authentication Data Products API
description: The Snowplow Console API provides programmatic management of the Snowplow behavioral data platform. Covers data structures (JSON schemas), data products (tracking plans), event specifications, and credentials management. All endpoints are scoped to an organization and require JWT bearer authentication obtained via the Credentials API.
version: '1.0'
contact:
name: Snowplow Support
url: https://snowplow.io/support
termsOfService: https://snowplow.io/terms-of-service
servers:
- url: https://console.snowplowanalytics.com/api/msc/v1
description: Snowplow Console API
security:
- bearerAuth: []
tags:
- name: Data Products
description: Manage data products (tracking plans) which organize event specifications and define the behavioral data strategy for a product or feature.
paths:
/organizations/{organizationId}/data-products/v2:
get:
operationId: listDataProducts
summary: List Data Products
description: Retrieve a comprehensive list of all data products (tracking plans) in the organization, including their associated event specifications.
tags:
- Data Products
parameters:
- $ref: '#/components/parameters/organizationId'
responses:
'200':
description: List of data products returned successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DataProduct'
'401':
description: Unauthorized
post:
operationId: createDataProduct
summary: Create Data Product
description: Create a new data product (tracking plan) with a name and optional description and domain metadata.
tags:
- Data Products
parameters:
- $ref: '#/components/parameters/organizationId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataProductCreate'
responses:
'201':
description: Data product created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DataProduct'
'400':
description: Invalid request
'401':
description: Unauthorized
/organizations/{organizationId}/data-products/v2/{dataProductId}:
get:
operationId: getDataProduct
summary: Get Data Product
description: Retrieve details for a specific data product including all associated event specifications.
tags:
- Data Products
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/dataProductId'
responses:
'200':
description: Data product retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DataProduct'
'401':
description: Unauthorized
'404':
description: Data product not found
post:
operationId: updateDataProduct
summary: Update Data Product
description: Update an existing data product. Requires a status field in the request body.
tags:
- Data Products
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/dataProductId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataProductUpdate'
responses:
'200':
description: Data product updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DataProduct'
'400':
description: Invalid request
'401':
description: Unauthorized
'404':
description: Data product not found
/organizations/{organizationId}/data-products/v2/{dataProductId}/history:
get:
operationId: getDataProductHistory
summary: Get Data Product History
description: Fetch the change log for a data product with filtering options by date range and change type.
tags:
- Data Products
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/dataProductId'
responses:
'200':
description: Change history retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoryEntry'
'401':
description: Unauthorized
'404':
description: Data product not found
components:
parameters:
dataProductId:
name: dataProductId
in: path
required: true
description: The unique identifier of the data product
schema:
type: string
format: uuid
organizationId:
name: organizationId
in: path
required: true
description: The Snowplow organization UUID
schema:
type: string
format: uuid
schemas:
HistoryEntry:
type: object
properties:
timestamp:
type: string
format: date-time
user:
type: string
changeType:
type: string
description:
type: string
DataProductCreate:
type: object
required:
- name
properties:
name:
type: string
description:
type: string
domain:
type: string
DataProductUpdate:
type: object
required:
- status
properties:
name:
type: string
description:
type: string
status:
type: string
enum:
- active
- draft
- deprecated
DataProduct:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
description:
type: string
status:
type: string
enum:
- active
- draft
- deprecated
domain:
type: string
eventSpecificationCount:
type: integer
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: JWT token obtained from the Credentials API (/credentials/v3/token)
externalDocs:
description: Snowplow Console API Documentation (Swagger UI)
url: https://console.snowplowanalytics.com/api/msc/v1/docs/