Data integration projects
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.
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:
-
Start a project task:
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/start
-
Stop a project task:
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/stop
-
Validate a project:
POST /api/v1/di-projects/{projectId}/actions/validate
-
Validate a project task:
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/validate
-
Prepare a project:
POST /api/v1/di-projects/{projectId}/actions/prepare
-
Prepare a project task:
POST /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/actions/prepare
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
WarningExported 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
WarningThis 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
NoteProject 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:
GET /api/v1/di-projects
-
Get a project:
GET /api/v1/di-projects/{projectId}
-
List project tasks:
GET /api/v1/di-projects/{projectId}/di-tasks
-
Get a project task:
GET /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}
-
Get project task runtime state:
GET /api/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state
-
Get action status:
GET /api/v1/di-projects/actions/{actionId}
Endpoints
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
application/json properties
- projectsarray of objects
projects properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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" } ]}
Creates a new data integration project in the specified space.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Request Body
RequiredThe details of the project to create
- application/jsonobject
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
application/json properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
Internal Server Error
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 specific data integration project.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Path Parameters
- projectIdstringRequired
Responses
200
OK
- application/jsonobject
application/json properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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"}
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
- projectIdstringRequired
Data project ID
Request Body
Options for the export process
- application/jsonobject
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
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
Internal Server Error
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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}
Imports a data integration project from a .zip
file.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- projectIdstringRequired
Data project ID
Request Body
RequiredThe ZIP file containing the project to import
- multipart/form-dataobject
multipart/form-data properties
- zipstring
-
Responses
200
OK
- application/jsonobject
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
Internal Server Error
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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
{}
Prepares the data integration project and its tasks for execution.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- projectIdstringRequired
Data project ID
Request Body
Required- application/jsonobject
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).
selectedTasks properties
- taskIdstringRequired
Task identifier
-
-
Responses
202
Preparation started
- application/jsonobject
application/json properties
- actionIdstringRequired
Identifier for tracking the action
-
400
Invalid request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Project not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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"}
Validates the data integration project and its tasks.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- projectIdstringRequired
Data project ID
Request Body
Required- application/jsonobject
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).
selectedTasks properties
- taskIdstringRequired
Task identifier
-
-
Responses
202
Validation started
- application/jsonobject
application/json properties
- actionIdstringRequired
Identifier for tracking the action
-
400
Invalid request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Project not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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"}
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
- projectIdstringRequired
Data project ID
Responses
200
OK
- application/jsonobject
application/json properties
- variablesobject
- nameToIdMapobject
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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": {}}
Updates the export variables for a specific data integration project.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- projectIdstringRequired
Data project ID
Request Body
RequiredThe details of the export variables to update
- application/jsonobject
application/json properties
- variablesobject
-
Responses
200
OK
- application/jsonobject
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
Internal Server Error
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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
{}
Lists data tasks within a given data integration project.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Path Parameters
- projectIdstringRequired
Data project id
Responses
200
OK
- application/jsonobject
application/json properties
- dataTasksarray of objects
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
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 specific data task within a project.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Path Parameters
- dataTaskIdstringRequired
Data task id
- projectIdstringRequired
Data project id
Responses
200
OK
- application/jsonobject
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
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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"}
Prepares the specified data task for execution.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- dataTaskIdstringRequired
Data task ID
- projectIdstringRequired
Data project ID
Request Body
- application/jsonobject
application/json properties
- allowRecreatebooleanRequired
Allow recreation of existing artifacts
-
Responses
202
Preparation started
- application/jsonobject
application/json properties
- actionIdstringRequired
Identifier for tracking the action
-
400
Invalid request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Task not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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"}
Validates the specified data task.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories |
Path Parameters
- dataTaskIdstringRequired
Data task ID
- projectIdstringRequired
Data project ID
Request Body
- application/jsonobject
Request body for task validation
Responses
202
Validation started
- application/jsonobject
application/json properties
- actionIdstringRequired
Identifier for tracking the action
-
400
Invalid request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Task not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 data task on a data integration project.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Path Parameters
- dataTaskIdstringRequired
Data task id
- projectIdstringRequired
Data project id
Responses
204
NO CONTENT
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 data task on a data integration project.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Path Parameters
- dataTaskIdstringRequired
- projectIdstringRequired
Responses
204
NO CONTENT
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 the current runtime state of a data task
Facts
Rate limit | Special (30 requests per minute) |
Categories | manage |
Path Parameters
- dataTaskIdstringRequired
- projectIdstringRequired
Responses
200
OK
- application/jsonobject
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
lastRun properties
- statestring
Can be one of: "STARTING""RUNNING""COMPLETED""FAILED""CANCELED""STOPPING"
- endTimestring
Timestamp indicating when the task instance ended
- generalobject
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
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
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
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
runReadiness properties
- statestring
Can be one of: "READY_TO_RUN""ALREADY_RUNNING""NOT_RUNNABLE"
- messagestring
-
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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" }}
Returns dataset-level runtime state for a data task
Facts
Rate limit | Special (30 requests per minute) |
Categories |
Path Parameters
- dataTaskIdstringRequired
ID of the data task
- projectIdstringRequired
ID of the project
Responses
200
Returns all datasets for the specified data task
- application/jsonobject
application/json properties
- datasetsarray of objects
datasets properties
- namestring
Name of the dataset
- fullLoadobject
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
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
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
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 } } ]}
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
- actionIdstringRequired
Action ID
Responses
200
OK
- application/jsonobject
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
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
taskDetails properties
- infostring
Additional details about task state
- namestring
- errorobject
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
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
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
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 }}