Data connections
Data connections are used by analytics apps and gateways to connect to external data sources. Credentials are stored in data-credentials.
Endpoints
- GET/v1/data-connections
- POST/v1/data-connections
- GET/v1/data-connections/{qID}
- PATCH/v1/data-connections/{qID}
- PUT/v1/data-connections/{qID}
- DELETE/v1/data-connections/{qID}
- POST/v1/data-connections/actions/delete
- POST/v1/data-connections/actions/duplicate
- POST/v1/data-connections/actions/update
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Query Parameters
- dataNamestring
Provides an alternate name to be used for data[] element in GET response.
- extendedboolean
Returns extended list of properties (e.g. encrypted credential string) when set to true.
- spaceIdstring
Filtering on connections by space ID
- personalboolean
Filtering on personal connections, ignored if spaceId is defined in same request
- ownerstring
Filtering on datafile connections by owner (i.e. app) ID.
- ownedByMeboolean
Filtering on connections, return connections owned by the caller if set to true (doesn't apply to datafiles connections)
- limitinteger
Number of resources to be returned (between 1 and 100)
- sortstring
Name of field sort on for pagination, with prefix with + or - indicating ascending or descending order. When used for data-connections, sort field only applies to non-datafiles connections. Whatever sorting order is, datafiles connections will be returned after all regular connections being returned.
- pagestring
Pagination cursor string, which is generated automatically in previous pagination query.
- noDatafilesboolean
Datafiles connections will not be returned if set to true
- userIdstring
Filtering on userId. Requires admin role if specified userId doesn't match that is defined in JWT.
- caseinsensitiveboolean
Sort results will be returned in case insensitive order if set to true (Only used along with sort query)
- localestring
ICU locale ID, used only when caseinsensitive is set to true, default to 'en' if undefined
- includeQrisboolean
Base Qri (encrypted) will be returned when the query is set to true, default is false
- filterstring
Filtering resources by properties (filterable properties only) using SCIM filter string. Note the filter string only applies to connections managed by data-connections service, i.e. filtering doesn't apply to DataFile connections. When filtering on datetime property (e.g. created, updated), datetime should be in RFC3339 format.
Responses
200
application/json
List connections with optional filter queries. Connections will be filtered internally based on the space access rules applicable to the caller. When some of connections are not returned due to errors, errors array in the response will be set.
- application/jsonobject
application/json properties
- dataarray of objects
Essential fields of a connection
data properties
- qIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qEngineObjectID
- qristring
Encrypted base Qri string
- tagsarray of strings
List of tags attached to the connection
- userstringRequired
User ID of the connection's creator
- linksobject
links properties
- selfobjectRequired
Link to current query
self properties
- hrefstringRequired
URL pointing to the resource
-
-
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection, i.e. provider type of underlying connector
- spacestring
ID of the space to which the connection belongs
- qLogOnintegerRequired
Indicates the type of user associated with the data connection
Can be one of: 01
- tenantstringRequired
Tenant ID of the connection's creator
- createdstringRequired
Datetime when the connection was created
- updatedstringRequired
Datetime when the connection was last updated
- privilegesarray of stringsRequired
Array of string (i.e. update, delete, read) indicating the user's privileges on the associated connection
Values may be any of: "list""update""delete""read""change_owner""change_space"
- datasourceIDstring
Data source ID
- qArchitectureintegerRequired
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qID
- qConnectStatementstringRequired
Connection string for the data connection
- qConnectionSecretstring
String that contains connection specific secret (or password). This field will not be included in response of GET /data-connections, will only be included in the response of GET /data-connections/{qID}
- connectionPropertiesobject
List of connection parsed from connection string (only available when query parseConnection=true is set)
- qSeparateCredentialsbooleanRequired
Indicates whether or not this is a credential-less connection
-
- metaobject
meta properties
- countinteger
Total count of resources being requested.
-
- linksobject
links properties
- nextobject
URL link to next page of requested resources (available to paged request only)
next properties
- hrefstringRequired
URL pointing to the next page of resources
-
- prevobject
URL link to previous page of requested resources (available to paged request only)
prev properties
- hrefstringRequired
URL pointing to the previous page of resources
-
- selfobjectRequired
Link to current query
self properties
- hrefstringRequired
URL pointing to the resource
-
-
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
400
application/json
Bad request, typically when dataName is empty
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
500
application/json
Internal error, this happens when the service fails to make requests to dependency services
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
502
application/json
Bad gateway, this happens when requests to required (dependent) services time out
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections" \
-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/data-connections',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli
Response
{
"data": [
{
"qID": "a7eb530e-475a-4864-bc12-dacf4b081e72",
"qri": "qri:db:snowflake://BQ1-3F_BvWfxxCDDiz9vQepqHLAcHWqacoqwLq4wxWM",
"tags": "[\"tag1, \"tag2\"]",
"user": "rFdHeUOiVYgPX5iTbvL0x0Cs6F62QI",
"links": {
"self": {
"href": "https://mytenant.us.qlikcloud.com/..."
}
},
"qName": "MyConnection",
"qType": "QvOdbcConnectorPackage.exe",
"space": "6226583d53a69876774d4f96",
"qLogOn": 1,
"tenant": "xqFQ0k34vSR0d9G7J-vZtHZQkiYrCqc8",
"created": "2022-04-08T10:00:28.287Z",
"updated": "2022-04-09T10:00:28.287Z",
"privileges": "[update, delete, read]",
"datasourceID": "sfdc",
"qArchitecture": 0,
"qCredentialsID": "a4e00184-8743-4a44-a1a8-07bba573afea",
"qEngineObjectID": "a7eb530e-475a-4864-bc12-dacf4b081e72",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qConnectionSecret": "Connection_Specific_Secret",
"connectionProperties": "{\"property1\": \"value\", \"property2\": \"value\"}",
"qSeparateCredentials": true
}
],
"meta": {
"count": 12
},
"links": {
"next": {
"href": "https://mytenant.us.qlikcloud.com/..."
},
"prev": {
"href": "https://mytenant.us.qlikcloud.com/..."
},
"self": {
"href": "https://mytenant.us.qlikcloud.com/.../0e445014-a564-496a-9a8d-28baadcc3ef9"
}
},
"errors": [
{
"code": "DCERROR-0010",
"title": "Bad or invalid request",
"detail": "Field xxx is missing in the request",
"status": 400
}
]
}
Creates a new connection. Depending on the fields defined in the request body, credentials embedded (or associated) in the connection can be updated or created.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Request Body
Requiredapplication/json
- application/jsonobjectOne of:
- ConnectionCreateobject
Schema used to create a connection with given connection string (i.e. qConnectStatement) along with other metadata
ConnectionCreate properties
- qIDstring
Unique identifier (UUID) for the data connection. A UUID will be generated automatically if qID is not specified or empty
- tagsarray of strings
List of tags attached to the connection (allow max 32 tags)
- ownerstring
App ID
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection - indicates connection provider type
- spacestring
ID of the space to which the connection belongs
- qLogOnstring
Indicates the type of user associated with the data connection.
Can be one of: "0""1""LOG_ON_SERVICE_USER""LOG_ON_CURRENT_USER"
- qPasswordstring
Any logon password associated with the data connection (connector encoded)
- qUsernamestring
Any logon username associated with the data connection
- datasourceIDstringRequired
ID of the datasource associated with this connection
- qriInRequeststring
QRI string of the connection. The string will be persisted to mongo when the request is originated from trusted client (i.e. dcaas) to avoid invalid QRi string.
- qArchitectureinteger
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstring
Unique identifier (UUID) for the data connection as specified by the Sense engine. A UUID will be generated automatically if this field is not specified or empty
- qCredentialsNamestring
Name of the credential associated with the connection
- qConnectStatementstringRequired
Connection string for the data connection
- qConnectionSecretstring
String that contains connection specific secret (or password) that requires encryption before persist to database. This field is connection level secret
- qSeparateCredentialsboolean
Indicates whether or not to create a credential-less connection
-
- DcaasConnectionCreateobject
Schema used to create a connection using a list of connection properties for given datasource
DcaasConnectionCreate properties
- tagsarray of strings
List of tags attached to the connection (allow max 31 tags)
- qNamestringRequired
Descriptive name of the data connection
- spacestring
ID of the space in which the connection shall be created. Connection will be created in user's personal space if undefined
- authUrlOnlyboolean
When set to true, only authentication URL will be returned (i.e. no connection will be created) if datasource supports OAuth, and other properties set in the request will ignored. This property will be ignored if the request is not OAuth or datasource doesn't support OAuth
- datasourceIDstringRequired
ID of the datasource of the connection
- connectionPropertiesobjectRequired
Connection properties required to create dataconnection for the given datasource, which is defined by the response of 'GET /v1/data-sources/:{datasourceId}/api-specs'
-
-
Responses
201
application/json
Data connection created
- application/jsonobjectOne of:
- ConnectionCreateResponseobject
Essential fields of a connection
ConnectionCreateResponse properties
- qIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qEngineObjectID
- userstring
User ID of the connection's creator
- linksobject
links properties
- selfobjectRequired
Link to current query
self properties
- hrefstringRequired
URL pointing to the resource
-
-
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection - indicates connection provider type
- spacestring
ID of the space to which the connection belongs
- qLogOnstringRequired
Indicates the type of user associated with the data connection.
Can be one of: "0""1""LOG_ON_SERVICE_USER""LOG_ON_CURRENT_USER"
- createdstring
Datetime when the connection was created
- updatedstring
Datetime when the connection was last updated
- privilegesarray of stringsRequired
Array of string (i.e. update, delete, read) indicating the user's privileges on the associated connection
Values may be any of: "list""update""delete""read""change_owner""change_space"
- qArchitectureintegerRequired
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qReferenceKeystring
Reference key of credential in redis
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qID
- qCredentialsNamestring
Name of the credential associated with the connection
- qConnectStatementstringRequired
Connection string for the data connection
- qSeparateCredentialsbooleanRequired
Indicates whether or not this is a credential-less connection
-
- DcaasConnectionCreateAuthResponseobject
Authentication URL response for OAuth datasources (when authUrlOnly is set to true in request)
DcaasConnectionCreateAuthResponse properties
- authUrlstringRequired
Authentication URL used to generate authentication code for datasources supporting OAuth
-
-
400
application/json
Invalid data connection specified
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the connection or space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Credentials referenced by qCredentialsID in the request body could not be found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
409
application/json
Data connection already exists
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"qID":"b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28","tags":"[\"tag1, \"tag2\"]","owner":"928e2a66-01ba-4678-aa32-e74c213896fa","qName":"MyConnection","qType":"QvOdbcConnectorPackage.exe","space":"611bcebaeec1203d88211ac4","qLogOn":"1","qPassword":"Connector encoded password","qUsername":"MyUsername","datasourceID":"snowflake","qriInRequest":"qri:db:snowflake://BQ1-3F_BvWfxxCDDiz9vQepqHLAcHWqacoqwLq4wxWM","qArchitecture":0,"qCredentialsID":"935ec250-65bc-47c0-965b-53554f3f87d8","qEngineObjectID":"b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28","qCredentialsName":"MyCredential","qConnectStatement":"CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"","qConnectionSecret":"Any connection specific secret string","qSeparateCredentials":false}'
const https = require('https')
const data = JSON.stringify({"qID":"b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28","tags":"[\"tag1, \"tag2\"]","owner":"928e2a66-01ba-4678-aa32-e74c213896fa","qName":"MyConnection","qType":"QvOdbcConnectorPackage.exe","space":"611bcebaeec1203d88211ac4","qLogOn":"1","qPassword":"Connector encoded password","qUsername":"MyUsername","datasourceID":"snowflake","qriInRequest":"qri:db:snowflake://BQ1-3F_BvWfxxCDDiz9vQepqHLAcHWqacoqwLq4wxWM","qArchitecture":0,"qCredentialsID":"935ec250-65bc-47c0-965b-53554f3f87d8","qEngineObjectID":"b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28","qCredentialsName":"MyCredential","qConnectStatement":"CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"","qConnectionSecret":"Any connection specific secret string","qSeparateCredentials":false})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections',
'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
{
"qID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"tags": "[\"tag1, \"tag2\"]",
"owner": "928e2a66-01ba-4678-aa32-e74c213896fa",
"qName": "MyConnection",
"qType": "QvOdbcConnectorPackage.exe",
"space": "611bcebaeec1203d88211ac4",
"qLogOn": "1",
"qPassword": "Connector encoded password",
"qUsername": "MyUsername",
"datasourceID": "snowflake",
"qriInRequest": "qri:db:snowflake://BQ1-3F_BvWfxxCDDiz9vQepqHLAcHWqacoqwLq4wxWM",
"qArchitecture": 0,
"qCredentialsID": "935ec250-65bc-47c0-965b-53554f3f87d8",
"qEngineObjectID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"qCredentialsName": "MyCredential",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qConnectionSecret": "Any connection specific secret string",
"qSeparateCredentials": false
}
Response
{
"qID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"user": "rFdHeUOiVYgPX5iTbvL0x0Cs6F62QI",
"links": {
"self": {
"href": "https://mytenant.us.qlikcloud.com/..."
}
},
"qName": "MyConnection",
"qType": "QvOdbcConnectorPackage.exe",
"space": "611bcebaeec1203d88211ac4",
"qLogOn": "1",
"created": "2022-04-09T10:00:28.287Z",
"updated": "2022-04-09T10:00:28.287Z",
"privileges": "[update, delete, read]",
"qArchitecture": 0,
"qReferenceKey": "credential:key",
"qCredentialsID": "7b475581-2f68-4c81-ac52-25705b8229fb",
"qEngineObjectID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"qCredentialsName": "MyCredential",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qSeparateCredentials": true
}
Retrieves a connection by connection ID, or by name when the query parameter "type" is set to "connectionname."
Facts
Rate limit | Tier 1 (1000 requests per minute) |
Categories | manage |
Query Parameters
- extendedboolean
Returns extended list of properties (e.g. encrypted credential string) when set to true.
- typestring
Connection / credential ID defined in path become connection / credential name when this query parameter is set
Can be one of: "connectionname""credentialname"
- credentialIdstring
Credential ID
- byCredentialNameboolean
If set to true, credentialId in the query will be interpreted as credential's name
- spaceIdstring
Filtering on connections by space ID
- noCacheboolean
datafiles connections will be returned from cache by default (if data-connections is configured to use cache), this query parameter is used disable this default behavior, e.g. return an update-to-date datafiles connection if the query is set to true
- parseConnectionboolean
List of connection properties shall be returned when the query is set to true, default is false
Path Parameters
- qIDstringRequired
Connection ID
Responses
200
application/json
Data connection retrieved
Essential fields of a connection
- application/jsonobject
Essential fields of a connection
application/json properties
- qIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qEngineObjectID
- qristring
Encrypted base Qri string
- tagsarray of strings
List of tags attached to the connection
- userstringRequired
User ID of the connection's creator
- linksobject
links properties
- selfobjectRequired
Link to current query
self properties
- hrefstringRequired
URL pointing to the resource
-
-
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection, i.e. provider type of underlying connector
- spacestring
ID of the space to which the connection belongs
- qLogOnintegerRequired
Indicates the type of user associated with the data connection
Can be one of: 01
- tenantstringRequired
Tenant ID of the connection's creator
- createdstringRequired
Datetime when the connection was created
- updatedstringRequired
Datetime when the connection was last updated
- privilegesarray of stringsRequired
Array of string (i.e. update, delete, read) indicating the user's privileges on the associated connection
Values may be any of: "list""update""delete""read""change_owner""change_space"
- datasourceIDstring
Data source ID
- qArchitectureintegerRequired
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qID
- qConnectStatementstringRequired
Connection string for the data connection
- qConnectionSecretstring
String that contains connection specific secret (or password). This field will not be included in response of GET /data-connections, will only be included in the response of GET /data-connections/{qID}
- connectionPropertiesobject
List of connection parsed from connection string (only available when query parseConnection=true is set)
- qSeparateCredentialsbooleanRequired
Indicates whether or not this is a credential-less connection
-
400
application/json
The qID is not a valid UUID
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the connection or space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Data connection not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
500
application/json
Credential decryption failed, likely due to invalid credentials
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-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/data-connections/{qID}',
'method': 'GET',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli
Response
{
"qID": "a7eb530e-475a-4864-bc12-dacf4b081e72",
"qri": "qri:db:snowflake://BQ1-3F_BvWfxxCDDiz9vQepqHLAcHWqacoqwLq4wxWM",
"tags": "[\"tag1, \"tag2\"]",
"user": "rFdHeUOiVYgPX5iTbvL0x0Cs6F62QI",
"links": {
"self": {
"href": "https://mytenant.us.qlikcloud.com/..."
}
},
"qName": "MyConnection",
"qType": "QvOdbcConnectorPackage.exe",
"space": "6226583d53a69876774d4f96",
"qLogOn": 1,
"tenant": "xqFQ0k34vSR0d9G7J-vZtHZQkiYrCqc8",
"created": "2022-04-08T10:00:28.287Z",
"updated": "2022-04-09T10:00:28.287Z",
"privileges": "[update, delete, read]",
"datasourceID": "sfdc",
"qArchitecture": 0,
"qCredentialsID": "a4e00184-8743-4a44-a1a8-07bba573afea",
"qEngineObjectID": "a7eb530e-475a-4864-bc12-dacf4b081e72",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qConnectionSecret": "Connection_Specific_Secret",
"connectionProperties": "{\"property1\": \"value\", \"property2\": \"value\"}",
"qSeparateCredentials": true
}
Patches a connection specified by connection ID (or by name when type=connectionname is set in query).
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Query Parameters
- typestring
Connection / credential ID defined in path become connection / credential name when this query parameter is set
Can be one of: "connectionname""credentialname"
Path Parameters
- qIDstringRequired
Connection ID
Request Body
Requiredapplication/json
- application/jsonobject
application/json properties
- patchDataarray of objectsRequired
patchData properties
- opstring
Operation type
Can be one of: "add""replace""remove"
- pathstring
Path to the target field to be patched
- valuestring
The value used for the patch, only needed for 'add' or 'replace'. Value type could be either string or integer, should match with the type of the target field
-
-
Responses
204
Data connection updated successfully
400
application/json
Bad request due to invalid data in body
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the connection or space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Data connection not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
409
application/json
Data connection already exists (when updated name conflicts with existing record)
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X PATCH \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"patchData":[{"op":"add","path":"/qName","value":"New value"}]}'
const https = require('https')
const data = JSON.stringify({"patchData":[{"op":"add","path":"/qName","value":"New value"}]})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections/{qID}',
'method': 'PATCH',
'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
{
"patchData": [
{
"op": "add",
"path": "/qName",
"value": "New value"
}
]
}
Updates a connection specified by connection ID (or by name when type=connectionname is set in query). Depends on the fields defined in the request body, credentials embedded (or associated) in the connection can be updated or created.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Query Parameters
- typestring
Connection / credential ID defined in path become connection / credential name when this query parameter is set
Can be one of: "connectionname""credentialname"
- spaceIdstring
Filtering on connections by space ID
Path Parameters
- qIDstringRequired
Connection ID
Request Body
Requiredapplication/json
- application/jsonobject
application/json properties
- qIDstringRequired
Unique identifier for the data connection
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection - indicates connection provider type
- spacestring
ID of the space to which the connection belongs
- qLogOnstring
Indicates the type of user associated with the data connection.
Can be one of: "0""1""LOG_ON_SERVICE_USER""LOG_ON_CURRENT_USER"
- qPasswordstring
Any logon password associated with the data connection
- qUsernamestring
Any logon username associated with the data connection
- datasourceIDstring
ID of the datasource associated with this connection
- qArchitectureinteger
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstringRequired
Unique identifier for the data connection as specified by the Sense engine
- qCredentialsNamestring
Name of the credential associated with the connection
- qConnectStatementstringRequired
Connection string for the data connection
- qConnectionSecretstring
String that contains connection level secret (or password). If this field presents in request, then existing connection secret will be updated to its value. If is an empty string, then existing connection secret will be cleared. If this field is missing, existing secret will not be updated.
- qSeparateCredentialsboolean
Indicates whether or not this is a credential-less connection
-
Responses
204
Data connection updated successfully
400
application/json
Bad request due to invalid data in body
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the connection or space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Data connection not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
409
application/json
Data connection already exists (when updated name conflicts with existing record)
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X PUT \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"qID":"55e13286-fbd8-4a59-a10d-807937a97443","qName":"MyConnection","qType":"snowflake","space":"611bcebaeec1203d88211ac4","qLogOn":"1","qPassword":"password","qUsername":"MyUsername","datasourceID":"snowflake","qArchitecture":1,"qCredentialsID":"cea94172-fa83-47c8-8171-b6f151918ad0","qEngineObjectID":"55e13286-fbd8-4a59-a10d-807937a97443","qCredentialsName":"CredentialName","qConnectStatement":"CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"","qConnectionSecret":"connection specific secret string","qSeparateCredentials":true}'
const https = require('https')
const data = JSON.stringify({"qID":"55e13286-fbd8-4a59-a10d-807937a97443","qName":"MyConnection","qType":"snowflake","space":"611bcebaeec1203d88211ac4","qLogOn":"1","qPassword":"password","qUsername":"MyUsername","datasourceID":"snowflake","qArchitecture":1,"qCredentialsID":"cea94172-fa83-47c8-8171-b6f151918ad0","qEngineObjectID":"55e13286-fbd8-4a59-a10d-807937a97443","qCredentialsName":"CredentialName","qConnectStatement":"CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"","qConnectionSecret":"connection specific secret string","qSeparateCredentials":true})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections/{qID}',
'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
{
"qID": "55e13286-fbd8-4a59-a10d-807937a97443",
"qName": "MyConnection",
"qType": "snowflake",
"space": "611bcebaeec1203d88211ac4",
"qLogOn": "1",
"qPassword": "password",
"qUsername": "MyUsername",
"datasourceID": "snowflake",
"qArchitecture": 1,
"qCredentialsID": "cea94172-fa83-47c8-8171-b6f151918ad0",
"qEngineObjectID": "55e13286-fbd8-4a59-a10d-807937a97443",
"qCredentialsName": "CredentialName",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qConnectionSecret": "connection specific secret string",
"qSeparateCredentials": true
}
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Query Parameters
- typestring
Connection / credential ID defined in path become connection / credential name when this query parameter is set
Can be one of: "connectionname""credentialname"
- spaceIdstring
Filtering on connections by space ID
Path Parameters
- qIDstringRequired
Connection ID
Responses
204
Data connection deleted successfully
403
application/json
User has no access to the connection or space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Data connection not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X DELETE \
-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/data-connections/{qID}',
'method': 'DELETE',
'headers': {
'Authorization': 'Bearer <access_token>'
}
}
const req = https.request(options)
This API is not included yet in qlik-cli
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Request Body
Requiredapplication/json
- application/jsonobject
application/json properties
- connectionsarray of objectsRequired
connections properties
- idstringRequired
ID of connection
- namestring
Connection name
-
-
Responses
207
application/json
Bulk delete completed
- application/jsonobject
application/json properties
- dataarray of objects
data properties
- idstringRequired
ID of the resource
- errorobject
error properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
- statusintegerRequired
Status code of operation on resource identified by ID
-
-
400
application/json
Bad request (Missing required field in request body)
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the endpoint. The endpoint requires Admin role
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/delete" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"connections":[{"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"MyConnection"}]}'
const https = require('https')
const data = JSON.stringify({"connections":[{"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"MyConnection"}]})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections/actions/delete',
'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
{
"connections": [
{
"id": "b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd",
"name": "MyConnection"
}
]
}
Response
{
"data": [
{
"id": "b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd",
"error": {
"code": "DCERROR-0010",
"title": "Bad or invalid request",
"detail": "Field xxx is missing in the request",
"status": 400
},
"status": 204
}
]
}
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Request Body
Requiredapplication/json
- application/jsonobject
application/json properties
- idstringRequired
ID of the source connection being duplicated
- namestring
Optional name for the duplicated connection, must be unique in the target scope. If not specified, a name will be automatically generated
- spaceIdstring
Optional target space ID for the duplicated connection. If not specified, the duplicated connection will be in the same space as the source connection
- qPasswordstring
Optional credential password, specify to override credential embedded (or associated) with the source connection
- qUsernamestring
Optional credential username, specify to override credential embedded (or associated) with the source connection
-
Responses
201
application/json
Duplicate completed
Essential fields of a connection
- application/jsonobject
Essential fields of a connection
application/json properties
- qIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qEngineObjectID
- userstring
User ID of the connection's creator
- linksobject
links properties
- selfobjectRequired
Link to current query
self properties
- hrefstringRequired
URL pointing to the resource
-
-
- qNamestringRequired
Descriptive name of the data connection
- qTypestringRequired
Type of connection - indicates connection provider type
- spacestring
ID of the space to which the connection belongs
- qLogOnstringRequired
Indicates the type of user associated with the data connection.
Can be one of: "0""1""LOG_ON_SERVICE_USER""LOG_ON_CURRENT_USER"
- createdstring
Datetime when the connection was created
- updatedstring
Datetime when the connection was last updated
- privilegesarray of stringsRequired
Array of string (i.e. update, delete, read) indicating the user's privileges on the associated connection
Values may be any of: "list""update""delete""read""change_owner""change_space"
- qArchitectureintegerRequired
- or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified.
Can be one of: 01
- qReferenceKeystring
Reference key of credential in redis
- qCredentialsIDstring
ID of the credential associated with the connection
- qEngineObjectIDstringRequired
Unique identifier (UUID) for the data connection, must be same as qID
- qCredentialsNamestring
Name of the credential associated with the connection
- qConnectStatementstringRequired
Connection string for the data connection
- qSeparateCredentialsbooleanRequired
Indicates whether or not this is a credential-less connection
-
400
application/json
Bad request (Missing required field in request body, or duplicate from / to a reserved connection)
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the source connection or no access to target space
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
404
application/json
Connection defined by id not found
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
409
application/json
Duplicated connection would result in a name conflict with the connections in the scope
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/duplicate" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"ResourceName","spaceId":"611bcebaeec1203d88211ac4","qPassword":"Password","qUsername":"UserName"}'
const https = require('https')
const data = JSON.stringify({"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"ResourceName","spaceId":"611bcebaeec1203d88211ac4","qPassword":"Password","qUsername":"UserName"})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections/actions/duplicate',
'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
{
"id": "b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd",
"name": "ResourceName",
"spaceId": "611bcebaeec1203d88211ac4",
"qPassword": "Password",
"qUsername": "UserName"
}
Response
{
"qID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"user": "rFdHeUOiVYgPX5iTbvL0x0Cs6F62QI",
"links": {
"self": {
"href": "https://mytenant.us.qlikcloud.com/..."
}
},
"qName": "MyConnection",
"qType": "QvOdbcConnectorPackage.exe",
"space": "611bcebaeec1203d88211ac4",
"qLogOn": "1",
"created": "2022-04-09T10:00:28.287Z",
"updated": "2022-04-09T10:00:28.287Z",
"privileges": "[update, delete, read]",
"qArchitecture": 0,
"qReferenceKey": "credential:key",
"qCredentialsID": "7b475581-2f68-4c81-ac52-25705b8229fb",
"qEngineObjectID": "b4a949cb-3aaf-4cd5-a140-dd3ea34f0d28",
"qCredentialsName": "MyCredential",
"qConnectStatement": "CUSTOM CONNECT TO \\\"provider=QvOdbcConnectorPackage.exe;driver=snowflake;server=...\\\"",
"qSeparateCredentials": true
}
Update multiple connections, only available to Admin. When update is to change ownership of a connection, the credentials associated with the connection will NOT be transferred to the new owner, and new owner is expected to provide their own credentials for the connection.
Facts
Rate limit | Tier 2 (100 requests per minute) |
Categories | manage |
Request Body
Requiredapplication/json
- application/jsonobject
application/json properties
- connectionsarray of objectsRequired
connections properties
- idstringRequired
Connection ID
- namestring
Connection name
- ownerIdstring
User ID to which the connection will be updated. If not present, the connection's owner wont be changed
- spaceIdstring
Space ID to which the connection will be updated. If not present, the connection's space wont be changed. If it is empty string, then the connection will be moved to the personal space of the user identified by ownerId (If ownerId is undefined, then the connection will be in oroginal owner's personal space)
- spaceTypestring
Space type. Required when spaceId is specified
Can be one of: "personal""shared""managed""data"
-
-
Responses
207
application/json
Bulk update completed
- application/jsonobject
application/json properties
- dataarray of objects
data properties
- idstringRequired
ID of the resource
- errorobject
error properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
- statusintegerRequired
Status code of operation on resource identified by ID
-
-
400
application/json
Bad request (Missing required field in request body)
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
403
application/json
User has no access to the endpoint. The endpoint requires Admin role
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
Unique internal error code
- titlestring
A summary in english explaining what went wrong
- detailstring
More concrete details
- statusinteger
HTTP status code
-
-
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/update" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"connections":[{"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"MyConnection","ownerId":"6K9xjsItDexffSlu5vg1oWYkY8x7f-06","spaceId":"611bcebaeec1203d88211ac4","spaceType":"personal"}]}'
const https = require('https')
const data = JSON.stringify({"connections":[{"id":"b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd","name":"MyConnection","ownerId":"6K9xjsItDexffSlu5vg1oWYkY8x7f-06","spaceId":"611bcebaeec1203d88211ac4","spaceType":"personal"}]})
const options = {
'hostname': 'https://your-tenant.us.qlikcloud.com',
'port': 443,
'path': '/api/v1/data-connections/actions/update',
'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
{
"connections": [
{
"id": "b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd",
"name": "MyConnection",
"ownerId": "6K9xjsItDexffSlu5vg1oWYkY8x7f-06",
"spaceId": "611bcebaeec1203d88211ac4",
"spaceType": "personal"
}
]
}
Response
{
"data": [
{
"id": "b2c1ab1f-392c-4cd1-87bd-4c3cd256f5fd",
"error": {
"code": "DCERROR-0010",
"title": "Bad or invalid request",
"detail": "Field xxx is missing in the request",
"status": 400
},
"status": 204
}
]
}