Data Products

Data products are the core building blocks of your data mesh. A typical integration flow is to PUT all static information about the data product as a CI/CD pipeline task to Entropy Data, so that you don't have to update any information manually.

Open Data Product Standard and Data Product Specification

Entropy Data supports the Open Data Product Standard and the Data Product Specification.

You can find a detailed comparison between the two formats on the ODPS Details page.


OpenAPI Specification


PUT/api/dataproducts/:id

Create or update a data product

This endpoint allows you to register a new data product or update an existing one for this id.

Required attributes

  • Name
    id
    Type
    string
    Description

    An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed.

  • Name
    name
    Type
    string
    Description

    The display name of this data product

  • Name
    team.name
    Type
    string
    Description

    The team that owns the data product, referenced by the team's id — its external identifier, not the internal UUID. This is the same value you use as the path parameter when creating the team via PUT /api/teams/:id, and the team needs to be created first.

    Used by the Open Data Product Standard (ODPS).

  • Name
    info.owner
    Type
    string
    Description

    The equivalent of team.name for the Data Product Specification (DPS). Takes the same team id value.

    Note that DPS is deprecated and will be removed at the end of 2026. Use ODPS with team.name instead.

Request

POST
/api/dataproducts/:id
curl --request PUT https://api.entropy-data.com/api/dataproducts/search-queries-all \
--header "x-api-key: $DMM_API_KEY" \
--header "content-type: application/json" \
--data @- << EOF
{
    "info": {
        "id": "search-queries-all",
        "name": "Search Queries all",
        "description": "All search queries with user interactions",
        "status": "active",
        "archetype": "consumer-aligned",
        "maturity": "managed",
        "owner": "search-team"
    },
    "inputPorts": [
        {
            "id": "kafka_stock_topic",
            "name": "kafka_stock_topic",
            "description": "Kafka Topic with Stock updates",
            "sourceSystemId": "stock-service",
            "type": "Kafka",
            "location": "stock topic",
            "links": {
                "schema": "https://catalog.example.com/search/search-queries",
                "catalog": "https://catalog.example.com/search/search-queries/",
                "name": "link"
            },
            "custom": {
                "field": "value"
            },
            "tags": [
                "kafka"
            ]
        }
    ],
    "outputPorts": [
        {
            "id": "snowflake_search_queries_all_npii_v1",
            "name": "snowflake_search_queries_all_npii_v1",
            "description": "All search queries and result sets with PII removed.",
            "type": "Snowflake",
            "status": "active",
            "location": "SEARCH_DB.SEARCH_QUERIES_ALL_NPII_V1",
            "links": {
                "schema": "https://catalog.example.com/search/search-queries",
                "catalog": "https://catalog.example.com/search/search-queries/",
                "name": "link"
            },
            "custom": {
                "field": "value"
            },
            "containsPii": false,
            "tags": [
                "snowflake"
            ]
        }
    ],
    "links": {
        "dataProduct": "https://example.com/dataproducts/search-queries",
        "documentation": "https://git.example.com/search/search-queries/README.md",
        "catalog": "https://catalog.example.com/search/search-queries/",
        "repository": "https://git.example.com/search/search-queries",
        "name": "link"
    },
    "custom": {
        "field": "value"
    },
    "tags": [
        "high-quality"
    ]
}
EOF