Data Product frontmatter API
eventcatalog@3.8.0Data Products are currently in beta and accepting feedback. The frontmatter API and supported fields may change based on community input.
Overview
Data products are markdown files with Content, MDX components and front-matter.
Here is an example of a basic data product.
---
# Unique identifier for your data product
id: payment-analytics
# Display name rendered in EventCatalog
name: Payment Analytics
# Version of the data product
version: 1.0.0
# Brief summary of what this data product provides
summary: Payment performance metrics and fraud detection insights
# Optional owners (references teams or users)
owners:
- analytics-team
# Optional badges for categorization
badges:
- content: Analytics
backgroundColor: purple
textColor: purple
# Input dependencies (events, services, data stores)
inputs:
- id: PaymentProcessed
- id: FraudCheckCompleted
- id: PaymentService
# Output data products (events, services, data stores with optional contracts)
outputs:
- id: payment-analytics-db
contract:
path: payment-metrics-contract.json
name: Payment Metrics Contract
type: json-schema
---
## Overview
The Payment Analytics data product transforms payment events into actionable insights.
<NodeGraph />
Required fields
id
- Type:
string
Unique id of the data product. EventCatalog uses this for references and slugs.
---
id: payment-analytics
---
name
- Type:
string
Name of the data product used to display on the UI.
---
name: Payment Analytics
---
version
- Type:
string
Version of the data product.
---
version: 1.0.0
---
Optional fields
summary
Short summary of your data product, shown on summary pages.
---
summary: |
Comprehensive payment performance metrics including success rates,
failure analysis, and fraud detection insights.
---
inputs
- Type:
array
Array of input dependencies that feed the data product. Inputs can be events, commands, queries, services, data stores, or channels.
---
inputs:
- id: PaymentProcessed
- id: OrderConfirmed
- id: PaymentService
- id: payments-db
---
Each input can optionally specify a version:
---
inputs:
- id: PaymentProcessed
version: 2.1.0
- id: OrderConfirmed
version: latest # Default if not specified
---
outputs
- Type:
array
Array of outputs produced by the data product. Outputs can be events, commands, queries, services, or data stores.
---
outputs:
- id: OrderMetricsCalculated
- id: NotificationService
- id: orders-analytics-db
---
Outputs can include contracts to define schema specifications:
---
outputs:
- id: payment-analytics-db
contract:
path: payment-metrics-contract.json
name: Payment Metrics Contract
type: json-schema
- id: daily-sales-db
contract:
path: daily-sales-odcs.yaml
name: Daily Sales ODCS
type: odcs
---
Contract properties:
| Property | Type | Required | Description |
|---|---|---|---|
path | string | Yes | File path relative to data product directory |
name | string | Yes | Display name for the contract |
type | string | Yes | Contract format: json-schema or odcs |
owners
- Type:
array
Array of owners for the data product. Owners reference teams or users defined in your catalog.
---
owners:
- analytics-team
- dboyne
---
badges
eventcatalog@3.39.4- Type:
array
Array of badges to display on the data product page.
---
badges:
- content: Analytics
backgroundColor: purple
textColor: purple
- content: dbt
backgroundColor: orange
textColor: orange
---
Badge properties:
| Property | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Text content of the badge |
backgroundColor | string | Yes | Background color (named token or CSS value) |
textColor | string | Yes | Text color (named token or CSS value) |
url | string | No | When set, the badge renders as a clickable link with an external-link icon |