Data products

Download specification

Data products are packages that group related datasets within a single, curated offering. They enable organizations to organize and govern data by business domain, making it easier for business users to discover and consume trusted, well-documented datasets.

These products can represent subject areas, business functions, or data domains, and are created within spaces.

Overview

The Data products API allows you to automate the complete data product lifecycle:

  • Creation: Define and create new data products within spaces.
  • Management: Add datasets, configure product metadata, move products between spaces, and manage ownership.
  • Activation: Publish data products to make them discoverable and consumable by other services and users.
  • Governance: Track changes through changelogs, export documentation, and monitor product activation status.

For a step-by-step guide to using the Data products API, see the Create and activate a data product.

Workflows and key use cases

The API supports three phases of data product management:

Phase 1: Create an empty data product

Initialize a new data product as a container for datasets:

  • Create a data product:
    POST /data-governance/data-products

    This endpoint creates an empty data product in the specified space. The data product serves as a package to group and organize related datasets.

    Note

    An empty data product is created as a starting point. You must add datasets to it in the next phase.
    Product details like name, description, and tags can be specified at creation time.

Phase 2: Manage datasets and data product metadata

Configure the data product and organize its contents:

  • Get a data product:
    GET /data-governance/data-products/{dataProductId}

    Retrieve full data product details, including associated datasets, metadata, and activation status.

  • Update a data product:
    PATCH /data-governance/data-products/{dataProductId}

    Modify data product metadata such as name, description, tags, and key contacts. Use this endpoint to add datasets to your data product.

  • Move a data product:
    POST /data-governance/data-products/{dataProductId}/actions/move

    Reorganize data products by moving them between spaces.

  • List data products:
    GET /data-governance/data-products

    Retrieve all data products in your tenant to discover available offerings.

Phase 3: Activate and publish the data product

Make the data product available for consumption:

  • Activate a data product:
    POST /data-governance/data-products/{dataProductId}/actions/activate

    Publish the data product, making it discoverable and consumable by other services and users.

  • Deactivate a data product:
    POST /data-governance/data-products/{dataProductId}/actions/deactivate

    Remove a data product from being consumable, stopping it from appearing in marketplace searches.

Note

Activation is required for data product consumers to discover your data product. Users must have the “Consume data products” permission and at least a “Can view” role in the managed space containing the data product to see it listed. Using the data product requires additional permissions in the associated spaces.
For more details on permissions and roles, see Data products roles and permissions on Qlik Help.

Common patterns and best practices

Organizing by domain: Group related datasets by business domain (Sales, Finance, Operations) to make data discovery intuitive for business users.

Metadata completeness: Include detailed descriptions and documentation for all data products. Use changelogs to track governance updates and maintain data lineage transparency.

Lifecycle management: Test data products in development spaces before activating them in production. Use deactivation to archive outdated products rather than deleting them.

Access control: Assign key contacts to each product to clarify ownership and support responsibilities for business users.

Create a data product

Creates a new data product with specified metadata, datasets, and governance information. Use this endpoint to package related datasets into a governed, discoverable asset. Requires create permissions in the target space.

Facts

Rate limit Tier 2 (100 requests per minute)

Request Body

Required
  • application/jsonobject

    Request payload for creating a data product.

    Show application/json properties
    • namestring
      Required

      Display name of the data product.

    • tagsarray of strings

      List of tags for the data product.

    • readMestring

      A readme of the Data Product.

    • spaceIdstring

      Unique identifier of the space.

    • descriptionstring

      A description of the Data Product.

    • keyContactsarray of objects

      List of key contacts for the data product.

      Show keyContacts properties
      • rolestring

        Role of the key contact in the Data Product.

      • userIdstring
        Required

        Unique identifier of the user.

Responses

201

Data product created successfully.

  • application/jsonobject
    Show application/json properties
    • idstring
      Required
    • qristring

      Qlik Resource Identifier (QRI) uniquely identifying the data product across the platform.

    • namestring
      Required
    • tagsarray of strings
    • mainIdstring

      Primary identifier used for main data product reference.

    • readMestring

      Documentation in Markdown format providing detailed information about the data product.

    • ownerIdstring

      Identifier of the user who owns the data product and is responsible for governance.

    • qualityobject
      Show quality properties
      • validitynumber
        Required
      • completenessnumber
        Required
    • spaceIdstring
    • tenantIdstring
      Required
    • activatedboolean

      Indicates whether the data product is currently activated for consumption.

    • createdAtstring

      Timestamp when the data product was created in ISO 8601 format.

    • createdBystring

      Identifier of the user who created the data product.

    • updatedAtstring

      Timestamp of the most recent update in ISO 8601 format.

    • updatedBystring

      Identifier of the user who last updated the data product.

    • datasetIdsarray of strings
    • trustScoreobject
      Show trustScore properties
      • scorenumber
        Required
      • dimensionsarray of objects
        Show dimensions properties
        • idstring
          Required
        • scorenumber
        • previousScorenumber
        • applicableDatasetsnumber
          Required
      • previousScorenumber
      • applicableDatasetsnumber
        Required
    • activatedAtstring

      Timestamp when the data product was most recently activated in ISO 8601 format.

    • activatedOnarray of strings

      List of target environments or platforms where the data product is activated.

    • descriptionstring
    • glossaryIdsarray of strings
    • keyContactsarray of objects

      Represents a designated contact person for a data product, optionally with their role.

      Show keyContacts properties
      • rolestring

        Role of the key contact in the Data Product.

      • userIdstring
        Required

        Unique identifier of the user.

    • apiConsumableDatasetIdsarray of strings

      List of dataset IDs for which API consumption is enabled

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
POST /api/data-governance/data-products
// qlik-api has not implemented support for `POST /api/data-governance/data-products` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'ExampleDataProductName',
tags: ['exampleTag1', 'exampleTag2'],
readMe:
'This is an example readme for the Data Product.',
spaceId: 'ExampleSpaceId',
description:
'This is an example Data Product.',
keyContacts: [
{
role: 'Data Steward',
userId: 'exampleUserId',
},
],
}),
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"name":"ExampleDataProductName","tags":["exampleTag1","exampleTag2"],"readMe":"This is an example readme for the Data Product.","spaceId":"ExampleSpaceId","description":"This is an example Data Product.","keyContacts":[{"role":"Data Steward","userId":"exampleUserId"}]}'

Example Response

{
"id": "string",
"qri": "string",
"name": "string",
"tags": [
"string"
],
"mainId": "string",
"readMe": "string",
"ownerId": "string",
"quality": {
"validity": 42,
"completeness": 42
},
"spaceId": "string",
"tenantId": "string",
"activated": true,
"createdAt": "2018-03-20T09:12:28Z",
"createdBy": "string",
"updatedAt": "2018-03-20T09:12:28Z",
"updatedBy": "string",
"datasetIds": [
"string"
],
"trustScore": {
"score": 42,
"dimensions": [
{
"id": "string",
"score": 42,
"previousScore": 42,
"applicableDatasets": 42
}
],
"previousScore": 42,
"applicableDatasets": 42
},
"activatedAt": "2018-03-20T09:12:28Z",
"activatedOn": [
"string"
],
"description": "string",
"glossaryIds": [
"string"
],
"keyContacts": [
{
"role": "Data Steward",
"userId": "exampleUserId"
}
],
"apiConsumableDatasetIds": [
"string"
]
}

Get a data product

Retrieves the details of the specified data product, including name, description, associated datasets, key contacts, and activation status. Requires read access to the Data Product.

Facts

Rate limit Tier 1 (1000 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Responses

200

Data product details retrieved successfully.

  • application/jsonobject
    Show application/json properties
    • idstring
      Required
    • qristring

      Qlik Resource Identifier (QRI) uniquely identifying the data product across the platform.

    • namestring
      Required
    • tagsarray of strings
    • mainIdstring

      Primary identifier used for main data product reference.

    • readMestring

      Documentation in Markdown format providing detailed information about the data product.

    • ownerIdstring

      Identifier of the user who owns the data product and is responsible for governance.

    • qualityobject
      Show quality properties
      • validitynumber
        Required
      • completenessnumber
        Required
    • spaceIdstring
    • tenantIdstring
      Required
    • activatedboolean

      Indicates whether the data product is currently activated for consumption.

    • createdAtstring

      Timestamp when the data product was created in ISO 8601 format.

    • createdBystring

      Identifier of the user who created the data product.

    • updatedAtstring

      Timestamp of the most recent update in ISO 8601 format.

    • updatedBystring

      Identifier of the user who last updated the data product.

    • datasetIdsarray of strings
    • trustScoreobject
      Show trustScore properties
      • scorenumber
        Required
      • dimensionsarray of objects
        Show dimensions properties
        • idstring
          Required
        • scorenumber
        • previousScorenumber
        • applicableDatasetsnumber
          Required
      • previousScorenumber
      • applicableDatasetsnumber
        Required
    • activatedAtstring

      Timestamp when the data product was most recently activated in ISO 8601 format.

    • activatedOnarray of strings

      List of target environments or platforms where the data product is activated.

    • descriptionstring
    • glossaryIdsarray of strings
    • keyContactsarray of objects

      Represents a designated contact person for a data product, optionally with their role.

      Show keyContacts properties
      • rolestring

        Role of the key contact in the Data Product.

      • userIdstring
        Required

        Unique identifier of the user.

    • apiConsumableDatasetIdsarray of strings

      List of dataset IDs for which API consumption is enabled

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
GET /api/data-governance/data-products/{dataProductId}
// qlik-api has not implemented support for `GET /api/data-governance/data-products/{dataProductId}` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"id": "string",
"qri": "string",
"name": "string",
"tags": [
"string"
],
"mainId": "string",
"readMe": "string",
"ownerId": "string",
"quality": {
"validity": 42,
"completeness": 42
},
"spaceId": "string",
"tenantId": "string",
"activated": true,
"createdAt": "2018-03-20T09:12:28Z",
"createdBy": "string",
"updatedAt": "2018-03-20T09:12:28Z",
"updatedBy": "string",
"datasetIds": [
"string"
],
"trustScore": {
"score": 42,
"dimensions": [
{
"id": "string",
"score": 42,
"previousScore": 42,
"applicableDatasets": 42
}
],
"previousScore": 42,
"applicableDatasets": 42
},
"activatedAt": "2018-03-20T09:12:28Z",
"activatedOn": [
"string"
],
"description": "string",
"glossaryIds": [
"string"
],
"keyContacts": [
{
"role": "Data Steward",
"userId": "exampleUserId"
}
],
"apiConsumableDatasetIds": [
"string"
]
}

Update a data product

Partially updates an existing data product using JSON Patch operations. Use this endpoint to modify properties such as name, description, datasets, tags, or key contacts. Changes are tracked in the data product changelog.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Request Body

Required
  • application/jsonarray of objects
    Show application/json properties
    • opstring
      Required

      Can be one of: "replace"

    • pathstring
      Required

      Can be one of: "/name""/description""/datasetIds""/glossaryIds""/readMe""/keyContacts""/tags""/apiConsumableDatasetIds"

    • valuestring|array
      One of:
      • string

        Value is expected to be null or a string if the path is either /name, /description, or /readMe

      • ArrayOfUniqueStringsarray of strings
      • array of objects

        Value is expected to be null or an array of object if the path is /keyContacts

Responses

204

Data product updated successfully.

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
PATCH /api/data-governance/data-products/{dataProductId}
// qlik-api has not implemented support for `PATCH /api/data-governance/data-products/{dataProductId}` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}',
{
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify([
{
op: 'replace',
path: '/name',
value: 'string',
},
]),
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}" \
-X PATCH \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '[{"op":"replace","path":"/name","value":"string"}]'

Delete a data product

Permanently removes a data product from the tenant. This action cannot be undone and does not affect the underlying datasets. Requires delete permissions for the data product.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Responses

204

Data product deleted successfully.

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
DELETE /api/data-governance/data-products/{dataProductId}
// qlik-api has not implemented support for `DELETE /api/data-governance/data-products/{dataProductId}` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}',
{
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}" \
-X DELETE \
-H "Authorization: Bearer <access_token>"

Activate a data product

Activates a data product for publishing and consumption. Once activated, the data product becomes discoverable and accessible to authorized users. Requires publish permissions and valid data product configuration.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Request Body

Required
  • application/jsonobject
    Show application/json properties
    • namestring
      Required

      Name of the data product to activate.

    • tagsarray of strings

      List of tags for the data product.

    • spaceIdstring

      Unique identifier of the space.

    • descriptionstring

      A description of the data product.

Responses

201

Created

  • application/jsonobject
    Show application/json properties
    • idstring
      Required
    • qristring

      Qlik Resource Identifier (QRI) uniquely identifying the data product across the platform.

    • namestring
      Required
    • tagsarray of strings
    • mainIdstring

      Primary identifier used for main data product reference.

    • readMestring

      Documentation in Markdown format providing detailed information about the data product.

    • ownerIdstring

      Identifier of the user who owns the data product and is responsible for governance.

    • qualityobject
      Show quality properties
      • validitynumber
        Required
      • completenessnumber
        Required
    • spaceIdstring
    • tenantIdstring
      Required
    • activatedboolean

      Indicates whether the data product is currently activated for consumption.

    • createdAtstring

      Timestamp when the data product was created in ISO 8601 format.

    • createdBystring

      Identifier of the user who created the data product.

    • updatedAtstring

      Timestamp of the most recent update in ISO 8601 format.

    • updatedBystring

      Identifier of the user who last updated the data product.

    • datasetIdsarray of strings
    • trustScoreobject
      Show trustScore properties
      • scorenumber
        Required
      • dimensionsarray of objects
        Show dimensions properties
        • idstring
          Required
        • scorenumber
        • previousScorenumber
        • applicableDatasetsnumber
          Required
      • previousScorenumber
      • applicableDatasetsnumber
        Required
    • activatedAtstring

      Timestamp when the data product was most recently activated in ISO 8601 format.

    • activatedOnarray of strings

      List of target environments or platforms where the data product is activated.

    • descriptionstring
    • glossaryIdsarray of strings
    • keyContactsarray of objects

      Represents a designated contact person for a data product, optionally with their role.

      Show keyContacts properties
      • rolestring

        Role of the key contact in the Data Product.

      • userIdstring
        Required

        Unique identifier of the user.

    • apiConsumableDatasetIdsarray of strings

      List of dataset IDs for which API consumption is enabled

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
POST /api/data-governance/data-products/{dataProductId}/actions/activate
// qlik-api has not implemented support for `POST /api/data-governance/data-products/{dataProductId}/actions/activate` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}/actions/activate',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'ExampleDataProductName',
tags: ['example'],
spaceId: 'ExampleSpaceId',
description:
'This is an example data product.',
}),
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}/actions/activate" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"name":"ExampleDataProductName","tags":["example"],"spaceId":"ExampleSpaceId","description":"This is an example data product."}'

Example Response

{
"id": "string",
"qri": "string",
"name": "string",
"tags": [
"string"
],
"mainId": "string",
"readMe": "string",
"ownerId": "string",
"quality": {
"validity": 42,
"completeness": 42
},
"spaceId": "string",
"tenantId": "string",
"activated": true,
"createdAt": "2018-03-20T09:12:28Z",
"createdBy": "string",
"updatedAt": "2018-03-20T09:12:28Z",
"updatedBy": "string",
"datasetIds": [
"string"
],
"trustScore": {
"score": 42,
"dimensions": [
{
"id": "string",
"score": 42,
"previousScore": 42,
"applicableDatasets": 42
}
],
"previousScore": 42,
"applicableDatasets": 42
},
"activatedAt": "2018-03-20T09:12:28Z",
"activatedOn": [
"string"
],
"description": "string",
"glossaryIds": [
"string"
],
"keyContacts": [
{
"role": "Data Steward",
"userId": "exampleUserId"
}
],
"apiConsumableDatasetIds": [
"string"
]
}

Deactivate a data product

Deactivates a data product, preventing it from being consumed by other services or users.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Responses

204

No content

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
POST /api/data-governance/data-products/{dataProductId}/actions/deactivate
// qlik-api has not implemented support for `POST /api/data-governance/data-products/{dataProductId}/actions/deactivate` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}/actions/deactivate',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}/actions/deactivate" \
-X POST \
-H "Authorization: Bearer <access_token>"

Export data product documentation

Exports data product documentation in Markdown format. Use this endpoint to generate documentation for sharing or archiving. Requires read access to the data product.

Facts

Rate limit Tier 1 (1000 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Responses

200

Documentation exported successfully in Markdown format.

  • text/markdownstring

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

406

MIME type isn't supported.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

415

Unsupported output format requested.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
GET /api/data-governance/data-products/{dataProductId}/actions/export-documentation
// qlik-api has not implemented support for `GET /api/data-governance/data-products/{dataProductId}/actions/export-documentation` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}/actions/export-documentation',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}/actions/export-documentation" \
-H "Authorization: Bearer <access_token>"

Example Response

"string"

Move a data product

Moves a data product from its current space to a different space. Use this endpoint to reorganize data products across workspaces or governance domains. Requires delete permissions in the source space and create permissions in the target space.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Request Body

Required
  • application/jsonobject
    Show application/json properties
    • spaceIdstring
      Required

      Unique identifier of the space.

Responses

204

No content

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
POST /api/data-governance/data-products/{dataProductId}/actions/move
// qlik-api has not implemented support for `POST /api/data-governance/data-products/{dataProductId}/actions/move` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}/actions/move',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
spaceId: 'exampleSpaceId',
}),
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}/actions/move" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"spaceId":"exampleSpaceId"}'

Get data product changelogs

Retrieves a paginated history of all notable changes made to a data product. Each changelog entry captures the operation type, affected property, and timestamp. Use this endpoint to track the history of changes or data product evolution over time.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • pageinteger

    Page number.

  • limitinteger

    Maximum number of items to return per page.

  • sortstring

    Sort order for changelog entries. Use +createdAt for oldest first or -createdAt for newest first. Prefix with + for ascending or - for descending order. Default: -createdAt.

    Can be one of: "+createdAt""-createdAt"

Path Parameters

  • dataProductIdstring
    Required

    Unique identifier of the data product. Must be a valid GUID assigned when the data product was created.

Responses

200

OK response

  • application/jsonobject
    Show application/json properties
    • dataarray of objects
      Show data properties
      • idstring
      • changesarray of objects
        Show changes properties
        • pathstring

          Can be one of: "/name""/description""/spaceId""/datasetIds""/glossaryIds""/readMe""/keyContacts""/tags""/activatedOn""/apiConsumableDatasetIds"

        • valuestring|array
          One of:
          • string

            Value is expected to be null or a string if the path is either /name, /description, /readMe or /spaceId.

          • ArrayOfUniqueStringsarray of strings
          • array of objects

            value is expected to be null or an array of object if the path is /keyContacts.

        • operatorstring

          Can be one of: "replace""add""remove"

      • createdAtstring

        Timestamp when this changelog entry was created in ISO 8601 format.

      • createdBystring

        Identifier of the user who made these changes.

    • pageinteger
    • limitinteger
    • linksobject
      Show links properties
      • lastobject
        Show last properties
        • hrefstring
      • nextobject
        Show next properties
        • hrefstring
      • prevobject
        Show prev properties
        • hrefstring
      • selfobject
        Show self properties
        • hrefstring
      • firstobject
        Show first properties
        • hrefstring
    • pagesinteger
    • totalinteger

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

409

The input request conflicts with the current state of the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
GET /api/data-governance/data-products/{dataProductId}/changelogs
// qlik-api has not implemented support for `GET /api/data-governance/data-products/{dataProductId}/changelogs` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/{dataProductId}/changelogs',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/{dataProductId}/changelogs" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"data": [
{
"id": "string",
"changes": [
{
"path": "/name",
"value": "string",
"operator": "replace"
}
],
"createdAt": "2018-03-20T09:12:28Z",
"createdBy": "string"
}
],
"page": 42,
"limit": 42,
"links": {
"last": {
"href": "string"
},
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
},
"first": {
"href": "string"
}
},
"pages": 42,
"total": 42
}

Generate provider URL

Generates a URL to access a third-party provider's user interface. Use this endpoint to integrate external services with your data product.

Facts

Rate limit Tier 2 (100 requests per minute)

Query Parameters

  • dataSetIdstring
    Required

    Unique identifier of the dataset.

Responses

200

OK response

  • application/jsonobject
    Show application/json properties
    • urlstring
      Required

400

The request is in incorrect format.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

403

User does not have access to the resource.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

404

Resource does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

500

Internal server error.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring

503

Service temporarily unavailable. Retry the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • statusstring
    • traceIdstring
POST /api/data-governance/data-products/actions/generate-provider-url
// qlik-api has not implemented support for `POST /api/data-governance/data-products/actions/generate-provider-url` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-products/actions/generate-provider-url',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-products/actions/generate-provider-url" \
-X POST \
-H "Authorization: Bearer <access_token>"

Example Response

{
"url": "string"
}