Data integration projects

Download specification

Data integration projects are used to group and organize data tasks that move, transform, or prepare data for consumption. These projects can represent data pipelines or replication flows, and are created within spaces.

Overview

The Data Integration Projects API allows you to automate the three key phases of the project:

  • Operation: Prepare and validate individual data tasks or entire projects, and run data tasks.
  • Deployment: Import and export project artifacts, and configure export variables (also known as bindings).
    For a step-by-step example, see Deploy a data integration project.
  • Monitoring: Track asynchronous action status and task runtime state.
Important

Projects and tasks must currently be created or edited in the Qlik Cloud UI.
The API supports operational, deployment, and monitoring actions once a project has been created.

Workflows and key use cases

The API supports three major workflows, matching the project phases:

Operational endpoints

Manage project and task execution:

Note

Prepare and validate actions are asynchronous.
Each call returns an actionId, which you can use to poll the Get action status endpoint.

Deployment endpoints

Deploy a project to another space or tenant:

  • Export a project:
    POST /api/v1/di-projects/{projectId}/actions/export

    Warning

    Exported ZIP files are deployment artifacts. Their contents are not intended to be edited or inspected.
    To create or edit a project, use the Qlik Cloud UI.

  • Get project export variables:
    GET /api/v1/di-projects/{projectId}/bindings

  • Update project export variables:
    PUT /api/v1/di-projects/{projectId}/bindings

  • Create a project:
    POST /api/v1/di-projects

    Warning

    This endpoint creates an empty project in the specified space. Use this only as a container for importing a project, not for manually creating project content.

  • Import a project:
    POST /api/v1/di-projects/{projectId}/actions/import

    Note

    Project export variables must be set before importing a project.
    They apply at import time and don’t dynamically update the UI.

Monitoring endpoints

Retrieve project details, track task state, and monitor asynchronous actions like prepare or validate:

List projects

List data integration projects.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories manage

Query Parameters

  • spaceIdstring

    Filter by space id

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • projectsarray of objects
      Show projects properties
      • idstring
      • namestring
      • ownerIdstring
      • spaceIdstring
      • descriptionstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"projects": [
{
"id": "string",
"name": "string",
"ownerId": "string",
"spaceId": "string",
"description": "string"
}
]
}

Create a new project

Creates a new data integration project in the specified space.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Request Body

Required

The details of the project to create

  • application/jsonobject
    Show application/json properties
    • namestring

      The name of the project

    • typestring

      The type of the project

      Can be one of: "DATA_PIPELINE""DATA_MOVEMENT"

    • spacestring

      The ID of the space where the project will be created

    • descriptionstring

      A description of the project

    • platformTypestring

      The platform type of the project. Supported values: - SNOWFLAKE: Snowflake - BIGQUERY: Google BigQuery - SYNAPSE: Azure Synapse - DATABRICKS: Databricks - REDSHIFT: Amazon Redshift - MSSQL: Microsoft SQL Server - FABRIC: Microsoft Fabric (OneLake) - QLIK_QVD: Qlik-managed QVD - QLIK_QVD_CUSTOMER_MANAGED: Customer-managed QVD

      Can be one of: "SNOWFLAKE""BIGQUERY""SYNAPSE""DATABRICKS""REDSHIFT""MSSQL""FABRIC""QLIK_QVD""QLIK_QVD_CUSTOMER_MANAGED"

    • platformConnectionstring

      The platform connection string

    • cloudStagingConnectionstring

      The cloud staging connection string

Responses

201

Created

  • application/jsonobject
    Show application/json properties
    • idstring
    • namestring
    • ownerIdstring
    • spaceIdstring
    • descriptionstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

500

Internal Server Error

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"name":"New Project","type":"DATA_PIPELINE","space":"space-456","description":"This is a new data integration project.","platformType":"SNOWFLAKE","platformConnection":"connection-string","cloudStagingConnection":"storage-connection-string"}'
const https = require('https')
const data = JSON.stringify({"name":"New Project","type":"DATA_PIPELINE","space":"space-456","description":"This is a new data integration project.","platformType":"SNOWFLAKE","platformConnection":"connection-string","cloudStagingConnection":"storage-connection-string"})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"name": "New Project",
"type": "DATA_PIPELINE",
"space": "space-456",
"description": "This is a new data integration project.",
"platformType": "SNOWFLAKE",
"platformConnection": "connection-string",
"cloudStagingConnection": "storage-connection-string"
}

Response

{
"id": "string",
"name": "string",
"ownerId": "string",
"spaceId": "string",
"description": "string"
}

Get a project

Get a specific data integration project.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories manage

Path Parameters

  • projectIdstring
    Required

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • idstring
    • namestring
    • ownerIdstring
    • spaceIdstring
    • descriptionstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"id": "string",
"name": "string",
"ownerId": "string",
"spaceId": "string",
"description": "string"
}

Export a project

Exports the specified data integration project.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Header Parameters

  • Acceptstring

    response content type

    Can be one of: "application/octet-stream"

Path Parameters

  • projectIdstring
    Required

    Data project ID

Request Body

Options for the export process

  • application/jsonobject
    Show application/json properties
    • includeBindingsboolean

      Include bindings in the exported zip file (optional, default is false)

Responses

200

OK

  • application/octet-streamstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

500

Internal Server Error

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/actions/export
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/actions/export" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"includeBindings":false}' \
-o "output-file"
const https = require('https')
const data = JSON.stringify({"includeBindings":false})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/actions/export',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"includeBindings": false
}

Import a project

Imports a data integration project from a .zip file.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • projectIdstring
    Required

    Data project ID

Request Body

Required

The ZIP file containing the project to import

  • multipart/form-dataobject
    Show multipart/form-data properties
    • zipstring

Responses

200

OK

  • application/jsonobject

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

500

Internal Server Error

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/actions/import
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/actions/import" \
-X POST \
-H "Content-type: multipart/form-data" \
-H "Authorization: Bearer <access_token>" \
-F "zip=@/path/to/file"
const https = require('https')
const data = JSON.stringify({"zip":"string"})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/actions/import',
'method': 'POST',
'headers': {
'Content-type': 'multipart/form-data',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(formData)
This API is not included yet in qlik-cli

Request

{
"zip": "string"
}

Response

{}

Prepare a project

Prepares the data integration project and its tasks for execution.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • projectIdstring
    Required

    Data project ID

Request Body

Required
  • application/jsonobject
    Show application/json properties
    • allowRecreateboolean
    • selectedTasksarray of objects

      Array of tasks to prepare. Leave empty to trigger project-level orchestration using built-in logic (same as in the user interface).

      Show selectedTasks properties
      • taskIdstring
        Required

        Task identifier

Responses

202

Preparation started

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

      Identifier for tracking the action

400

Invalid request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Project not found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/actions/prepare
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/actions/prepare" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"allowRecreate":false,"selectedTasks":[{"taskId":"string"}]}'
const https = require('https')
const data = JSON.stringify({"allowRecreate":false,"selectedTasks":[{"taskId":"string"}]})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/actions/prepare',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"allowRecreate": false,
"selectedTasks": [
{
"taskId": "string"
}
]
}

Response

{
"actionId": "action-123456"
}

Validate project

Validates the data integration project and its tasks.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • projectIdstring
    Required

    Data project ID

Request Body

Required
  • application/jsonobject
    Show application/json properties
    • selectedTasksarray of objects

      Array of tasks to prepare. Leave empty to trigger project-level orchestration using built-in logic (same as in the user interface).

      Show selectedTasks properties
      • taskIdstring
        Required

        Task identifier

Responses

202

Validation started

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

      Identifier for tracking the action

400

Invalid request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Project not found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/actions/validate
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/actions/validate" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"selectedTasks":[{"taskId":"string"}]}'
const https = require('https')
const data = JSON.stringify({"selectedTasks":[{"taskId":"string"}]})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/actions/validate',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"selectedTasks": [
{
"taskId": "string"
}
]
}

Response

{
"actionId": "action-123456"
}

Get project export variables

Retrieves the export variables for a specific data integration project.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories

Query Parameters

  • recalculateboolean

    Recalculate the bindings if true, otherwise saved bindings are returned.

Path Parameters

  • projectIdstring
    Required

    Data project ID

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • variablesobject
    • nameToIdMapobject

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}/bindings
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/bindings" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/bindings',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"variables": {},
"nameToIdMap": {}
}

Update project export variables

Updates the export variables for a specific data integration project.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • projectIdstring
    Required

    Data project ID

Request Body

Required

The details of the export variables to update

  • application/jsonobject
    Show application/json properties
    • variablesobject

Responses

200

OK

  • application/jsonobject

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

500

Internal Server Error

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
PUT /api/v1/di-projects/{projectId}/bindings
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/bindings" \
-X PUT \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"variables":{}}'
const https = require('https')
const data = JSON.stringify({"variables":{}})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/bindings',
'method': 'PUT',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"variables": {}
}

Response

{}

List project tasks

Lists data tasks within a given data integration project.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories manage

Path Parameters

  • projectIdstring
    Required

    Data project id

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • dataTasksarray of objects
      Show dataTasks properties
      • idstring
      • namestring
      • typestring

        Can be one of: "LANDING""STORAGE""QVD_STORAGE""TRANSFORM""DATAMART""REGISTERED_DATA""REPLICATION""DISTRIBUTION""LAKE_LANDING""KNOWLEDGE_MART""FILE_BASED_KNOWLEDGE_MART""LAKEHOUSE_STORAGE""LAKEHOUSE_MIRROR"

      • ownerIdstring
      • spaceIdstring
      • descriptionstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}/di-tasks
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"dataTasks": [
{
"id": "string",
"name": "string",
"type": "LANDING",
"ownerId": "string",
"spaceId": "string",
"description": "string"
}
]
}

Get a project task

Get a specific data task within a project.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories manage

Path Parameters

  • dataTaskIdstring
    Required

    Data task id

  • projectIdstring
    Required

    Data project id

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • idstring
    • namestring
    • typestring

      Can be one of: "LANDING""STORAGE""QVD_STORAGE""TRANSFORM""DATAMART""REGISTERED_DATA""REPLICATION""DISTRIBUTION""LAKE_LANDING""KNOWLEDGE_MART""FILE_BASED_KNOWLEDGE_MART""LAKEHOUSE_STORAGE""LAKEHOUSE_MIRROR"

    • ownerIdstring
    • spaceIdstring
    • descriptionstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"id": "string",
"name": "string",
"type": "LANDING",
"ownerId": "string",
"spaceId": "string",
"description": "string"
}

Prepare a project task

Prepares the specified data task for execution.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • dataTaskIdstring
    Required

    Data task ID

  • projectIdstring
    Required

    Data project ID

Request Body

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

      Allow recreation of existing artifacts

Responses

202

Preparation started

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

      Identifier for tracking the action

400

Invalid request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Task not found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/prepare
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/prepare" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"allowRecreate":false}'
const https = require('https')
const data = JSON.stringify({"allowRecreate":false})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/prepare',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{
"allowRecreate": false
}

Response

{
"actionId": "action-123456"
}

Validate a project task

Validates the specified data task.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories

Path Parameters

  • dataTaskIdstring
    Required

    Data task ID

  • projectIdstring
    Required

    Data project ID

Request Body

  • application/jsonobject

    Request body for task validation

Responses

202

Validation started

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

      Identifier for tracking the action

400

Invalid request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Task not found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/validate
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/validate" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{}'
const https = require('https')
const data = JSON.stringify({})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/validate',
'method': 'POST',
'headers': {
'Content-type': 'application/json',
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
req.write(data)
This API is not included yet in qlik-cli

Request

{}

Response

{
"actionId": "action-123456"
}

Start a project task

Start a data task on a data integration project.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories manage

Path Parameters

  • dataTaskIdstring
    Required

    Data task id

  • projectIdstring
    Required

    Data project id

Responses

204

NO CONTENT

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/start
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/start" \
-X POST \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/start',
'method': 'POST',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Stop a project task

Stop a data task on a data integration project.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories manage

Path Parameters

  • dataTaskIdstring
    Required
  • projectIdstring
    Required

Responses

204

NO CONTENT

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/stop
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/stop" \
-X POST \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/stop',
'method': 'POST',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Get project task runtime state

Get the current runtime state of a data task

Facts

Rate limit Special (30 requests per minute)
Categories manage

Path Parameters

  • dataTaskIdstring
    Required
  • projectIdstring
    Required

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • namestring

      Name of the data task

    • typestring

      Can be one of: "LANDING""STORAGE""QVD_STORAGE""TRANSFORM""DATAMART""REGISTERED_DATA""REPLICATION""DISTRIBUTION""LAKE_LANDING""KNOWLEDGE_MART""FILE_BASED_KNOWLEDGE_MART""LAKEHOUSE_STORAGE""LAKEHOUSE_MIRROR"

    • lastRunobject
      Show lastRun properties
      • statestring

        Can be one of: "STARTING""RUNNING""COMPLETED""FAILED""CANCELED""STOPPING"

      • endTimestring

        Timestamp indicating when the task instance ended

      • generalobject
        Show general properties
        • gatewayIdstring

          For tasks that run on a gateway, this is the id of the gateway

        • gatewayNamestring

          For tasks that run on a gateway, this is the name of the gateway

        • datasetCountnumber

          Total number of datasets produced by the task, including ones in error

        • gatewayTaskNamestring

          For tasks that run on a gateway, this is the internal name of the task on the gateway

        • dataTaskUpdatedTostring

          The latest point in time the data reflects, based on updates from the source system.

        • liveViewsUpdatedTostring

          The latest point in time the live views reflect, based on updates from the source system.

        • datasetsInErrorCountnumber

          Count of datasets that encountered errors

        • lakehouseClusterNamestring

          For lakehouse storage tasks, this is the name of the cluster where the task runs

      • messagestring
      • durationstring

        Duration in HH:MM:SS format (hours:minutes:seconds)

      • fullLoadobject
        Show fullLoad properties
        • errorCountnumber

          Number of datasets that have failed full load in this task run

        • queuedCountnumber

          Number of datasets that are queued for full load in this task run

        • loadingCountnumber

          Number of datasets that are currently being loaded in this task run

        • completedCountnumber

          Number of datasets that have completed full load in this task run

      • cdcStatusobject
        Show cdcStatus properties
        • latencystring

          Duration in HH:MM:SS format (hours:minutes:seconds)

        • totalProcessedCountnumber
        • applyingChangesCountnumber
        • accumulatingChangesCountnumber
        • throughputInKilobytesPerSecondnumber

          Throughput in kilobytes per second

      • startTimestring

        Timestamp indicating when the task instance started

      • lastBatchOfChangesobject
        Show lastBatchOfChanges properties
        • relatesToRecordsTostring

          This batch ends with operational source changes from this time.

        • totalProcessedCountnumber
        • relatesToRecordsFromstring

          This batch starts with operational source changes from this time.

        • throughputInRecordsPerSecondnumber

          Throughput in records per second

    • runReadinessobject
      Show runReadiness properties
      • statestring

        Can be one of: "READY_TO_RUN""ALREADY_RUNNING""NOT_RUNNABLE"

      • messagestring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"name": "string",
"type": "LANDING",
"lastRun": {
"state": "STARTING",
"endTime": "2018-10-30T07:06:22Z",
"general": {
"gatewayId": "string",
"gatewayName": "string",
"datasetCount": 42,
"gatewayTaskName": "string",
"dataTaskUpdatedTo": "2018-10-30T07:06:22Z",
"liveViewsUpdatedTo": "2018-10-30T07:06:22Z",
"datasetsInErrorCount": 42,
"lakehouseClusterName": "string"
},
"message": "string",
"duration": "string",
"fullLoad": {
"errorCount": 42,
"queuedCount": 42,
"loadingCount": 42,
"completedCount": 42
},
"cdcStatus": {
"latency": "01:30:45",
"totalProcessedCount": 42,
"applyingChangesCount": 42,
"accumulatingChangesCount": 42,
"throughputInKilobytesPerSecond": 42
},
"startTime": "2018-10-30T07:06:22Z",
"lastBatchOfChanges": {
"relatesToRecordsTo": "2018-10-30T07:06:22Z",
"totalProcessedCount": 42,
"relatesToRecordsFrom": "2018-10-30T07:06:22Z",
"throughputInRecordsPerSecond": 42
}
},
"runReadiness": {
"state": "READY_TO_RUN",
"message": "string"
}
}

List runtime dataset states

Returns dataset-level runtime state for a data task

Facts

Rate limit Special (30 requests per minute)
Categories

Path Parameters

  • dataTaskIdstring
    Required

    ID of the data task

  • projectIdstring
    Required

    ID of the project

Responses

200

Returns all datasets for the specified data task

  • application/jsonobject
    Show application/json properties
    • datasetsarray of objects
      Show datasets properties
      • namestring

        Name of the dataset

      • fullLoadobject
        Show fullLoad properties
        • statestring

          Can be one of: "QUEUED""LOADING""COMPLETED""ERROR"

        • endTimestring
        • messagestring
        • durationstring

          Duration in HH:MM:SS format (hours:minutes:seconds)

        • startTimestring
        • cachedChangesCountnumber

          Number of changes captured and cached during full load (CDC landing/replication tasks only)

        • failedRecordsCountnumber

          Number of records that failed to load (currently only for knowledge marts)

        • totalProcessedCountnumber

          Number of records (or docs in knowledge marts) were loaded.

      • cdcStatusobject
        Show cdcStatus properties
        • statestring

          Can be one of: "QUEUED""PROCESSING""ACCUMULATING_CHANGES""COMPLETED""ERROR"

        • messagestring
        • ddlCountnumber

          Number of DDL statements executed during the last run

        • deleteCountnumber

          delete portion of totalProcessedCount. Only available for some task types

        • insertCountnumber

          Insert portion of totalProcessedCount. Only available for some task types

        • updateCountnumber

          update portion of totalProcessedCount. Only available for some task types

        • lastProcessedstring
        • totalProcessedCountnumber

          Total number of changes/DMLs applied to the dataset

      • datasetIdstring

        Id of the dataset

      • sourceNamestring

        Original name of the dataset, relevant only for data movement tasks

      • dataReadinessstring

        Is the data ready for use?

        Can be one of: "READY""NOT_READY""ERROR"

      • lastBatchOfChangesobject
        Show lastBatchOfChanges properties
        • statestring

          Can be one of: "QUEUED""PROCESSING""COMPLETED""ERROR"

        • endTimestring
        • messagestring
        • durationstring

          Duration in HH:MM:SS format (hours:minutes:seconds)

        • startTimestring
        • totalProcessedCountnumber
        • throughputInRecordsPerSecondnumber

          Throughput in records per second

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring

404

Not Found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state/datasets
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state/datasets" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state/datasets',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"datasets": [
{
"name": "string",
"fullLoad": {
"state": "QUEUED",
"endTime": "2018-10-30T07:06:22Z",
"message": "string",
"duration": "string",
"startTime": "2018-10-30T07:06:22Z",
"cachedChangesCount": 42,
"failedRecordsCount": 42,
"totalProcessedCount": 42
},
"cdcStatus": {
"state": "QUEUED",
"message": "string",
"ddlCount": 42,
"deleteCount": 42,
"insertCount": 42,
"updateCount": 42,
"lastProcessed": "2018-10-30T07:06:22Z",
"totalProcessedCount": 42
},
"datasetId": "string",
"sourceName": "string",
"dataReadiness": "READY",
"lastBatchOfChanges": {
"state": "QUEUED",
"endTime": "2018-10-30T07:06:22Z",
"message": "string",
"duration": "string",
"startTime": "2018-10-30T07:06:22Z",
"totalProcessedCount": 42,
"throughputInRecordsPerSecond": 42
}
}
]
}

Get Action status

Retrieves the status of an asynchronous operation.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories

Query Parameters

  • detailedboolean

    Specifies whether to include detailed status information in the response. Set to true to return detailed information.

Path Parameters

  • actionIdstring
    Required

    Action ID

Responses

200

OK

  • application/jsonobject
    Show application/json properties
    • namestring

      Name of the async operation

    • typestring

      Type of action being performed

      Can be one of: "PROJECT_PREPARE""PROJECT_VALIDATE""TASK_PREPARE""TASK_VALIDATE"

    • errorobject
      Show error properties
      • codestring

        Error code

      • detailsstring

        Additional error details

      • messagestring

        Error message

    • statestring

      State of the action

      Can be one of: "PENDING""EXECUTING""COMPLETED""FAILED""CANCELED""SKIPPED"

    • endTimestring
    • startTimestring
    • taskDetailsarray of objects
      Show taskDetails properties
      • infostring

        Additional details about task state

      • namestring
      • errorobject
        Show error properties
        • codestring

          Error code

        • detailsstring

          Additional error details

        • messagestring

          Error message

      • statestring

        State of the action

        Can be one of: "PENDING""EXECUTING""COMPLETED""FAILED""CANCELED""SKIPPED"

      • taskIdstring
    • taskProgressobject
      Show taskProgress properties
      • failedinteger

        Number of tasks that failed

      • pendinginteger

        Number of tasks pending execution

      • skippedinteger

        Number of tasks skipped due to conflicts

      • canceledinteger

        Number of tasks canceled

      • completedinteger

        Number of tasks completed successfully

      • executinginteger

        Number of tasks currently executing

404

Action not found

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
      • sourceobject
        Show source properties
        • pointerstring
        • parameterstring
      • statusinteger
    • traceIdstring
GET /api/v1/di-projects/actions/{actionId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/di-projects/actions/{actionId}" \
-H "Authorization: Bearer <access_token>"
const https = require('https')
const data = JSON.stringify("")
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/di-projects/actions/{actionId}',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli

Response

{
"name": "Prepare project myspace.demoproject",
"type": "PROJECT_PREPARE",
"error": {
"code": "string",
"details": "string",
"message": "string"
},
"state": "PENDING",
"endTime": "2018-10-30T07:06:22Z",
"startTime": "2018-10-30T07:06:22Z",
"taskDetails": [
{
"info": "string",
"name": "string",
"error": {
"code": "string",
"details": "string",
"message": "string"
},
"state": "PENDING",
"taskId": "string"
}
],
"taskProgress": {
"failed": 42,
"pending": 42,
"skipped": 42,
"canceled": 42,
"completed": 42,
"executing": 42
}
}