> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dqlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Product

> Product endpoints: Create Product, Get Export Data, Get Product, Get Product Lineage, Get Output Port, Get Products, Update Product, Update Product From Yaml, Delete Product

<script type="application/ld+json">
  {`{
            "@context": "https://schema.org",
            "@type": "TechArticle",
            "headline": "Product",
            "description": "Product endpoints: Create Product, Get Export Data, Get Product, Get Product Lineage, Get Output Port, Get Products, Update Product, Update Product From Yaml, Delete Product",
            "url": "https://docs.dqlabs.ai/api-reference/governance/product",
            "publisher": {
              "@type": "Organization",
              "name": "DQLabs Inc",
              "logo": "https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg"
            }
            }`}
</script>

<Tabs>
  <Tab title="Create Product">
    `POST /api/v1/governance/product`

    Create a new product

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://<your-workspace>.prizmdata.ai/api/v1/governance/product" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Create a new product",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>

  <Tab title="Get Export Data">
    `POST /api/v1/governance/product/export`

    Get Export Data

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/export" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Get Export Data",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>

  <Tab title="Get Product">
    `GET /api/v1/governance/product/{productId}`

    Get a product by ID

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">
      <ResponseField name="name" type="string">
        Example: `"governance_product"`.
      </ResponseField>

      <ResponseField name="qualified_name" type="string" />

      <ResponseField name="description" type="string" />

      <ResponseField name="type" type="string">
        Example: `"Source"`.
      </ResponseField>

      <ResponseField name="level" type="string" />

      <ResponseField name="source" type="string" />

      <ResponseField name="owner_team" type="string" />

      <ResponseField name="sensitivity_level" type="string" />

      <ResponseField name="channel" type="string" />

      <ResponseField name="parent_id" type="string" />

      <ResponseField name="domain_id" type="string">
        Example: `"d22eaa72-da63-4c04-9701-c1db138b2842"`.
      </ResponseField>

      <ResponseField name="trust_score" type="string" />

      <ResponseField name="score" type="string" />

      <ResponseField name="total_alerts" type="integer">
        Example: `0`.
      </ResponseField>

      <ResponseField name="total_issues" type="integer">
        Example: `0`.
      </ResponseField>

      <ResponseField name="linked_asset_count" type="string" />

      <ResponseField name="linked_metric_count" type="string" />

      <ResponseField name="total_likes" type="string" />

      <ResponseField name="total_dislikes" type="string" />

      <ResponseField name="total_conversations" type="integer">
        Example: `0`.
      </ResponseField>

      <ResponseField name="output_port" type="string" />

      <ResponseField name="total_views" type="integer">
        Example: `2`.
      </ResponseField>

      <ResponseField name="health_index" type="string" />

      <ResponseField name="freshness_sla_compliance_index" type="string" />

      <ResponseField name="adoption_usage_coverage_index" type="string" />

      <ResponseField name="business_impact_index" type="string" />

      <ResponseField name="owner" type="string" />

      <ResponseField name="user" type="string" />

      <ResponseField name="status" type="string">
        Example: `"PENDING"`.
      </ResponseField>

      <ResponseField name="is_active" type="boolean">
        Example: `true`.
      </ResponseField>

      <ResponseField name="is_deleted" type="boolean">
        Example: `false`.
      </ResponseField>

      <ResponseField name="freshness_sla" type="string" />

      <ResponseField name="schema_stability" type="string" />

      <ResponseField name="definition" type="string" />

      <ResponseField name="context" type="string" />

      <ResponseField name="who_should_use_this" type="string" />

      <ResponseField name="id" type="string">
        Example: `"dffafdeb-6c4d-4e64-b293-696dcdcfc923"`.
      </ResponseField>

      <ResponseField name="created_at" type="string">
        Example: `"2026-09-20T17:02:48.274860Z"`.
      </ResponseField>

      <ResponseField name="modified_at" type="string">
        Example: `"2026-09-21T06:39:16.447949Z"`.
      </ResponseField>

      <ResponseField name="created_by" type="string">
        Example: `"87efd845-c1f5-4c65-8a2a-1ecc91736c30"`.
      </ResponseField>

      <ResponseField name="modified_by" type="string">
        Example: `"87efd845-c1f5-4c65-8a2a-1ecc91736c30"`.
      </ResponseField>

      <ResponseField name="linked_assets" type="integer">
        Example: `0`.
      </ResponseField>

      <ResponseField name="domain" type="object[]">
        <ResponseField name="id" type="string">
          Example: `"d22eaa72-da63-4c04-9701-c1db138b2842"`.
        </ResponseField>

        <ResponseField name="name" type="string">
          Example: `"Alation Domain"`.
        </ResponseField>

        <ResponseField name="label" type="string">
          Example: `"Alation Domain"`.
        </ResponseField>

        <ResponseField name="qualified_name" type="string">
          Example: `"Alation Domain"`.
        </ResponseField>

        <ResponseField name="type" type="string">
          Example: `"domain"`.
        </ResponseField>

        <ResponseField name="is_active" type="boolean">
          Example: `true`.
        </ResponseField>
      </ResponseField>

      <ResponseField name="application" type="object[]">
        <ResponseField name="id" type="string">
          Example: `"0f6be62d-b72b-4d1e-a427-1f88a743a14f"`.
        </ResponseField>

        <ResponseField name="name" type="string">
          Example: `"test_governance_application"`.
        </ResponseField>

        <ResponseField name="qualified_name" type="string">
          Example: `"governance_application"`.
        </ResponseField>

        <ResponseField name="role" type="string" />

        <ResponseField name="description" type="string" />

        <ResponseField name="is_active" type="boolean">
          Example: `true`.
        </ResponseField>

        <ResponseField name="label" type="string">
          Example: `"test_governance_application"`.
        </ResponseField>
      </ResponseField>

      <ResponseField name="tag" type="object[]" />

      <ResponseField name="term" type="object[]" />

      <ResponseField name="viewers" type="object[]">
        <ResponseField name="id" type="string">
          Example: `"08ba2090-a236-4538-a671-fca112ca8ad2"`.
        </ResponseField>

        <ResponseField name="viewed_at" type="string">
          Example: `"2026-09-21T10:32:26.827300+00:00"`.
        </ResponseField>

        <ResponseField name="name" type="string" />

        <ResponseField name="email" type="string">
          Example: `"rejeesh@dqlabs.ai"`.
        </ResponseField>
      </ResponseField>

      <ResponseField name="audiences" type="object[]" />

      <ResponseField name="catalog_upstream" type="object">
        <ResponseField name="items" type="object[]" />

        <ResponseField name="total_count" type="integer">
          Example: `0`.
        </ResponseField>
      </ResponseField>

      <ResponseField name="catalog_downstream" type="object">
        <ResponseField name="items" type="object[]" />

        <ResponseField name="total_count" type="integer">
          Example: `0`.
        </ResponseField>
      </ResponseField>

      <ResponseField name="recent_conversations" type="string" />

      <ResponseField name="context_freshness" type="object">
        <ResponseField name="description" type="string" />

        <ResponseField name="owner_verified" type="string" />
      </ResponseField>
    </ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X GET "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>"
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Get a product by ID",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {
        "name": "governance_product",
        "qualified_name": null,
        "description": null,
        "type": "Source",
        "level": null,
        "source": null,
        "owner_team": null,
        "sensitivity_level": null,
        "channel": null,
        "parent_id": null,
        "domain_id": "d22eaa72-da63-4c04-9701-c1db138b2842",
        "trust_score": null,
        "score": null,
        "total_alerts": 0,
        "total_issues": 0,
        "linked_asset_count": null,
        "linked_metric_count": null,
        "total_likes": null,
        "total_dislikes": null,
        "total_conversations": 0,
        "output_port": null,
        "total_views": 2,
        "health_index": null,
        "freshness_sla_compliance_index": null,
        "adoption_usage_coverage_index": null,
        "business_impact_index": null,
        "owner": null,
        "user": null,
        "status": "PENDING",
        "is_active": true,
        "is_deleted": false,
        "freshness_sla": null,
        "schema_stability": null,
        "definition": null,
        "context": null,
        "who_should_use_this": null,
        "id": "dffafdeb-6c4d-4e64-b293-696dcdcfc923",
        "created_at": "2026-09-20T17:02:48.274860Z",
        "modified_at": "2026-09-21T06:39:16.447949Z",
        "created_by": "87efd845-c1f5-4c65-8a2a-1ecc91736c30",
        "modified_by": "87efd845-c1f5-4c65-8a2a-1ecc91736c30",
        "linked_assets": 0,
        "domain": [
          {
            "id": "d22eaa72-da63-4c04-9701-c1db138b2842",
            "name": "Alation Domain",
            "label": "Alation Domain",
            "qualified_name": "Alation Domain",
            "type": "domain",
            "is_active": true
          }
        ],
        "application": [
          {
            "id": "0f6be62d-b72b-4d1e-a427-1f88a743a14f",
            "name": "test_governance_application",
            "qualified_name": "governance_application",
            "role": null,
            "description": null,
            "is_active": true,
            "label": "test_governance_application"
          }
        ],
        "tag": [],
        "term": [],
        "viewers": [
          {
            "id": "08ba2090-a236-4538-a671-fca112ca8ad2",
            "viewed_at": "2026-09-21T10:32:26.827300+00:00",
            "name": null,
            "email": "rejeesh@dqlabs.ai"
          }
        ],
        "audiences": [],
        "catalog_upstream": {
          "items": [],
          "total_count": 0
        },
        "catalog_downstream": {
          "items": [],
          "total_count": 0
        },
        "recent_conversations": null,
        "context_freshness": {
          "description": null,
          "owner_verified": null
        }
      }
    }
    ```
  </Tab>

  <Tab title="Get Product Lineage">
    `POST /api/v1/governance/product/{productId}/lineage`

    Get product lineage graph

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">
      <ResponseField name="nodes" type="object[]" />

      <ResponseField name="edges" type="object[]" />
    </ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}/lineage" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Get product lineage graph",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {
        "nodes": [],
        "edges": []
      }
    }
    ```
  </Tab>

  <Tab title="Get Output Port">
    `POST /api/v1/governance/product/{productId}/output-port`

    Get output port for a product

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}/output-port" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Get output port for a product",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>

  <Tab title="Get Products">
    `POST /api/v1/governance/product/list`

    Get products with optional filtering

    **Request Body**

    <ParamField body="pagination" type="object">
      <ParamField body="page" type="integer">
        Example: `1`.
      </ParamField>

      <ParamField body="pageSize" type="integer">
        Example: `10`.
      </ParamField>
    </ParamField>

    <ParamField body="sorting" type="object[]" />

    <ParamField body="filters" type="object[]" />

    <ParamField body="search" type="string">
      Example: `""`.
    </ParamField>

    <ParamField body="export" type="boolean">
      Example: `false`.
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">
      <ResponseField name="data" type="object[]">
        <ResponseField name="name" type="string">
          Example: `"governance_product"`.
        </ResponseField>

        <ResponseField name="description" type="string" />

        <ResponseField name="type" type="string">
          Example: `"Source"`.
        </ResponseField>

        <ResponseField name="domain_id" type="string">
          Example: `"d22eaa72-da63-4c04-9701-c1db138b2842"`.
        </ResponseField>

        <ResponseField name="total_alerts" type="integer">
          Example: `0`.
        </ResponseField>

        <ResponseField name="total_issues" type="integer">
          Example: `0`.
        </ResponseField>

        <ResponseField name="total_conversations" type="integer">
          Example: `0`.
        </ResponseField>

        <ResponseField name="total_views" type="integer">
          Example: `1`.
        </ResponseField>

        <ResponseField name="status" type="string">
          Example: `"PENDING"`.
        </ResponseField>

        <ResponseField name="is_active" type="boolean">
          Example: `true`.
        </ResponseField>

        <ResponseField name="is_deleted" type="boolean">
          Example: `false`.
        </ResponseField>

        <ResponseField name="id" type="string">
          Example: `"dffafdeb-6c4d-4e64-b293-696dcdcfc923"`.
        </ResponseField>

        <ResponseField name="created_at" type="string">
          Example: `"2026-09-20T17:02:48.274860Z"`.
        </ResponseField>

        <ResponseField name="modified_at" type="string">
          Example: `"2026-09-20T19:01:54.341732Z"`.
        </ResponseField>

        <ResponseField name="created_by" type="string">
          Example: `"87efd845-c1f5-4c65-8a2a-1ecc91736c30"`.
        </ResponseField>

        <ResponseField name="modified_by" type="string">
          Example: `"87efd845-c1f5-4c65-8a2a-1ecc91736c30"`.
        </ResponseField>

        <ResponseField name="linked_assets" type="integer">
          Example: `0`.
        </ResponseField>

        <ResponseField name="domain" type="object[]">
          <ResponseField name="id" type="string">
            Example: `"d22eaa72-da63-4c04-9701-c1db138b2842"`.
          </ResponseField>

          <ResponseField name="name" type="string">
            Example: `"Alation Domain"`.
          </ResponseField>

          <ResponseField name="label" type="string">
            Example: `"Alation Domain"`.
          </ResponseField>

          <ResponseField name="qualified_name" type="string">
            Example: `"Alation Domain"`.
          </ResponseField>

          <ResponseField name="type" type="string">
            Example: `"domain"`.
          </ResponseField>

          <ResponseField name="is_active" type="boolean">
            Example: `true`.
          </ResponseField>
        </ResponseField>

        <ResponseField name="application" type="object[]">
          <ResponseField name="id" type="string">
            Example: `"0f6be62d-b72b-4d1e-a427-1f88a743a14f"`.
          </ResponseField>

          <ResponseField name="name" type="string">
            Example: `"test_governance_application"`.
          </ResponseField>

          <ResponseField name="qualified_name" type="string">
            Example: `"governance_application"`.
          </ResponseField>

          <ResponseField name="role" type="string" />

          <ResponseField name="description" type="string" />

          <ResponseField name="is_active" type="boolean">
            Example: `true`.
          </ResponseField>

          <ResponseField name="label" type="string">
            Example: `"test_governance_application"`.
          </ResponseField>
        </ResponseField>

        <ResponseField name="tag" type="object[]" />

        <ResponseField name="term" type="object[]" />

        <ResponseField name="viewers" type="object[]" />

        <ResponseField name="audiences" type="object[]" />
      </ResponseField>

      <ResponseField name="total_count" type="integer">
        Example: `38`.
      </ResponseField>

      <ResponseField name="metrics" type="object[]" />
    </ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/list" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{
        "pagination": {
          "page": 1,
          "pageSize": 10
        },
        "sorting": [],
        "filters": [],
        "search": "",
        "export": false
      }'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Get products with optional filtering",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {
        "data": [
          {
            "name": "governance_product",
            "description": null,
            "type": "Source",
            "domain_id": "d22eaa72-da63-4c04-9701-c1db138b2842",
            "total_alerts": 0,
            "total_issues": 0,
            "total_conversations": 0,
            "total_views": 1,
            "status": "PENDING",
            "is_active": true,
            "is_deleted": false,
            "id": "dffafdeb-6c4d-4e64-b293-696dcdcfc923",
            "created_at": "2026-09-20T17:02:48.274860Z",
            "modified_at": "2026-09-20T19:01:54.341732Z",
            "created_by": "87efd845-c1f5-4c65-8a2a-1ecc91736c30",
            "modified_by": "87efd845-c1f5-4c65-8a2a-1ecc91736c30",
            "linked_assets": 0,
            "domain": [
              {
                "id": "d22eaa72-da63-4c04-9701-c1db138b2842",
                "name": "Alation Domain",
                "label": "Alation Domain",
                "qualified_name": "Alation Domain",
                "type": "domain",
                "is_active": true
              }
            ],
            "application": [
              {
                "id": "0f6be62d-b72b-4d1e-a427-1f88a743a14f",
                "name": "test_governance_application",
                "qualified_name": "governance_application",
                "role": null,
                "description": null,
                "is_active": true,
                "label": "test_governance_application"
              }
            ],
            "tag": [],
            "term": [],
            "viewers": [],
            "audiences": []
          }
        ],
        "total_count": 38,
        "metrics": []
      }
    }
    ```
  </Tab>

  <Tab title="Update Product">
    `PUT /api/v1/governance/product/{productId}`

    Update a product

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X PUT "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Update a product",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>

  <Tab title="Update Product From Yaml">
    `PUT /api/v1/governance/product/{productId}/update/yaml`

    Update Product From Yaml

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X PUT "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}/update/yaml" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>" \
        -H "Content-Type: application/json" \
        -d '{}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Update Product From Yaml",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>

  <Tab title="Delete Product">
    `DELETE /api/v1/governance/product/{productId}`

    Delete a product

    **Path Parameters**

    <ParamField path="productId" type="string" required={true}>
      Example: \`\`
    </ParamField>

    **Response**

    <ResponseField name="success" type="boolean">Whether the request completed successfully</ResponseField>

    <ResponseField name="message" type="string">Human-readable result message</ResponseField>

    <ResponseField name="timestamp" type="string">ISO 8601 server timestamp</ResponseField>

    <ResponseField name="correlation_id" type="string">Unique ID for this request</ResponseField>

    <ResponseField name="data" type="object">The endpoint's response payload.</ResponseField>

    **Example**

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X DELETE "https://<your-workspace>.prizmdata.ai/api/v1/governance/product/{productId}" \
        -H "Authorization: Bearer <YOUR_API_TOKEN>"
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "success": true,
      "message": "Delete a product",
      "timestamp": "2026-09-21T09:43:50.316067+00:00",
      "correlation_id": "1bff0823-3db2-4b12-bf56-22ea8d38bba2",
      "data": {}
    }
    ```
  </Tab>
</Tabs>
