The Data qualities API enables you to assess the quality of your datasets through asynchronous computations. Computations run in two phases: profiling (analyzing column statistics) and assessment (evaluating quality rules) to produce aggregated quality metrics.

Trigger data quality computation

Triggers a full data quality computation for a dataset, running profile calculation followed by data quality assessment. Returns a computationId that can be used to track progress via the computation status endpoint (GET /data-governance/data-qualities/computations/{computationId}). The computation runs asynchronously. Poll the status endpoint until status is SUCCEEDED or FAILED.

Facts

Rate limit Tier 2 (100 requests per minute)
Replaces

Request Body

Required
  • application/jsonobject

    Request payload for triggering a data quality computation. The connectionId is optional for file-based datasets. If none of the sampling parameters are provided, the following defaults apply:

    • executionMode: PULLUP
    • sampleMode: ABSOLUTE
    • sampleSize: 1000
    Show application/json properties
    • datasetIdstring
      Required

      The ID of the dataset

    • connectionIdstring

      The ID of the connection

    • sampleModestring

      Specifies how the dataset is sampled. ABSOLUTE represents a fixed number of rows, while RELATIVE refers to a percentage of the total dataset rows.

      Can be one of: "ABSOLUTE""RELATIVE"

    • sampleSizeinteger

      The actual value of the selected sampling method size (either a fixed number for ABSOLUTE mode or a percentage for RELATIVE mode). Maximum allowed value for ABSOLUTE mode is 100000.

    • executionModestring

      Specifies where the data quality computation takes place. In PUSHDOWN mode, it runs within the Cloud Data Warehouse (e.g., Snowflake, Databricks), whereas in PULLUP mode, it runs in Qlik Cloud.

      Can be one of: "PUSHDOWN""PULLUP"

Responses

202

Computation triggered. The response body contains the computationId for tracking progress.

  • application/jsonobject

    Response returned when a data quality computation is successfully triggered.

    Show application/json properties
    • computationIdstring
      Required

      The unique identifier of the triggered computation. Use this value to poll for status.

400

The request is in incorrect format.

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

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • 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
    • traceIdstring

500

Internal Server Error.

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

503

Requested service is not available.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
POST /api/data-governance/data-qualities/computations
// qlik-api has not implemented support for `POST /api/data-governance/data-qualities/computations` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-qualities/computations',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
datasetId: '669144f5aa2d642638ef1dd0',
sampleMode: 'ABSOLUTE',
sampleSize: 10000,
connectionId:
'2b855c3d-426c-4aac-90cf-0edf9fc294d3',
executionMode: 'PULLUP',
}),
},
)
This API is not included yet in qlik-cli
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/data-qualities/computations" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"datasetId":"669144f5aa2d642638ef1dd0","sampleMode":"ABSOLUTE","sampleSize":10000,"connectionId":"2b855c3d-426c-4aac-90cf-0edf9fc294d3","executionMode":"PULLUP"}'

Example Response

{
"computationId": "string"
}

Get data quality computation status

Retrieves the current execution status of a data quality computation. Poll this endpoint after triggering a computation to determine when results are available. The status field returns one of REQUESTED, SUBMITTED, PROFILE_REQUESTED, SUCCEEDED, FAILED, or PROFILE_FAILED.

Facts

Rate limit Tier 1 (1000 requests per minute)
Replaces

Path Parameters

  • computationIdstring
    Required

    The unique identifier of the computation, as returned by POST /data-governance/data-qualities/computations.

Responses

200

Current execution status of the computation.

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

      Can be one of: "PROFILE_REQUESTED""PROFILE_FAILED""REQUESTED""SUBMITTED""SUCCEEDED""FAILED"

400

The request is in incorrect format.

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

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • 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
    • traceIdstring

404

No computation found with the specified computationId.

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

500

Internal Server Error.

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

503

Requested service is not available.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
GET /api/data-governance/data-qualities/computations/{computationId}
// qlik-api has not implemented support for `GET /api/data-governance/data-qualities/computations/{computationId}` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-qualities/computations/{computationId}',
{
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-qualities/computations/{computationId}" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"status": "SUCCEEDED"
}

Get global data quality

Retrieves the global quality results for a dataset, showing counts of valid, invalid, empty, and total sample cells.

Facts

Rate limit Tier 1 (1000 requests per minute)
Replaces

Query Parameters

  • datasetIdstring
    Required

    The unique identifier of the dataset.

  • connectionIdstring

    The unique identifier of the connection.

Responses

200

Global quality results for the dataset, including counts of valid, invalid, empty, and total sample cells per connection.

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

      The unique identifier of the dataset.

    • qualitiesarray of objects
      Required
      Show qualities properties
      • qualityobject
        Required
        Show quality properties
        • emptyinteger
          Required

          Number of empty sample cells.

        • totalinteger
          Required

          Total number of cells in the sample.

        • validinteger
          Required

          Number of valid sample cells.

        • invalidinteger
          Required

          Number of invalid sample cells.

        • updatedAtstring
          Required

          Timestamp of the most recent data quality computation for this dataset and connection.

      • connectionIdstring
        Required

        The unique identifier of the connection.

400

The request is in incorrect format.

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

401

User does not have valid authentication credentials.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • 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
    • traceIdstring

404

No quality results found for the specified dataset.

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

500

Internal Server Error.

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

503

Requested service is not available.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
GET /api/data-governance/data-qualities/global-results
// qlik-api has not implemented support for `GET /api/data-governance/data-qualities/global-results` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/data-governance/data-qualities/global-results',
{
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-qualities/global-results" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"datasetId": "string",
"qualities": [
{
"quality": {
"empty": 42,
"total": 42,
"valid": 42,
"invalid": 42,
"updatedAt": "2023-10-01T12:00:00Z"
},
"connectionId": "string"
}
]
}