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
    Required
    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
    Required
    Description

    The display name of this data product

  • Name
    teamId
    Type
    string
    Required
    Description

    The UUID of the team that owns the data product.

    The team needs to be created first with this teamId.

Request

POST
/api/dataproducts/:id
curl --request PUT https://api.datamesh-manager.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": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec"
    },
    "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