Data integration projects
Data integration projects are containers for data tasks and provide the context for building, monitoring, and controlling data integration pipelines.
Endpoints
- GET/v1/di-projects
- POST/v1/di-projects
- GET/v1/di-projects/{projectId}
- POST/v1/di-projects/{projectId}/actions/export
- POST/v1/di-projects/{projectId}/actions/import
- GET/v1/di-projects/{projectId}/bindings
- PUT/v1/di-projects/{projectId}/bindings
- GET/v1/di-projects/{projectId}/di-tasks
- GET/v1/di-projects/{projectId}/di-tasks/{dataTaskId}
- POST/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/start
- POST/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/actions/stop
- GET/v1/di-projects/{projectId}/di-tasks/{dataTaskId}/runtime/state
List data integration projects.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Query Parameters
- spaceIdstring
Filter by space id
Responses
200
application/json
OK
- application/jsonobject
application/json properties
- projectsarray of objects
projects properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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
Requiredapplication/json
The details of the project to create
- application/jsonobject
application/json properties
- namestring
The name of the project
- typestring
The type of the project
- 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
- platformConnectionstring
The platform connection string
- cloudStagingConnectionstring
The cloud staging connection string
-
Responses
201
application/json
Created
- application/jsonobject
application/json properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
application/json
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
application/json
OK
- application/jsonobject
application/json properties
- idstring
- namestring
- ownerIdstring
- spaceIdstring
- descriptionstring
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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
Can be one of: "application/octet-stream"
Path Parameters
- projectIdstringRequired
Data project ID
Request Body
application/json
Options for the export process
- application/jsonobject
application/json properties
- includeBindingsboolean
Include bindings in the exported zip file (optional, default is false)
-
Responses
200
application/octet-stream
OK
- application/octet-streamstring
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
application/json
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
Requiredmultipart/form-data
The ZIP file containing the project to import
- multipart/form-dataobject
multipart/form-data properties
- zipstring
-
Responses
200
application/json
OK
- application/jsonobject
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
application/json
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
{}
Retrieves the export variables for a specific data integration project.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories |
Path Parameters
- projectIdstringRequired
Data project ID
Responses
200
application/json
OK
- application/jsonobject
application/json properties
- variablesarray of objects
variables properties
- namestring
The name of the variable
- valuestring
The value of the variable
-
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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": [
{
"name": "variable1",
"value": "value1"
}
]
}
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
Requiredapplication/json
The details of the export variables to update
- application/jsonobject
application/json properties
- variablesarray of objects
variables properties
- namestring
The name of the variable
- valuestring
The value of the variable
-
-
Responses
200
application/json
OK
- application/jsonobject
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
Not Found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
500
application/json
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":[{"name":"variable1","value":"value1"}]}'
const https = require('https')
const data = JSON.stringify({"variables":[{"name":"variable1","value":"value1"}]})
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": [
{
"name": "variable1",
"value": "value1"
}
]
}
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
application/json
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"
- ownerIdstring
- spaceIdstring
- descriptionstring
-
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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
application/json
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"
- ownerIdstring
- spaceIdstring
- descriptionstring
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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"
}
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
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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 data task runtime state within a data integration project.
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Path Parameters
- dataTaskIdstringRequired
- projectIdstringRequired
Responses
200
application/json
OK
- application/jsonobject
application/json properties
- lastRunobject
lastRun properties
- statestring
Can be one of: "STARTING""RUNNING""COMPLETED""FAILED""CANCELED"
- messagestring
-
- runReadinessobject
runReadiness properties
- statestring
Can be one of: "READY_TO_RUN""ALREADY_RUNNING""NOT_RUNNABLE"
- messagestring
-
-
400
application/json
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- sourceobject
source properties
- pointerstring
- parameterstring
-
- statusinteger
-
- traceIdstring
-
404
application/json
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
{
"lastRun": {
"state": "STARTING",
"message": "string"
},
"runReadiness": {
"state": "READY_TO_RUN",
"message": "string"
}
}