Endpoints
Skip to sectionGET | /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 |
Gets a list of connections
Facts GET /v1/data-connections
Rate limit required | Tier 1 (1000 requests per minute) |
Query Parameters GET /v1/data-connections
dataName | Provides an alternate name to be used for data[] element in GET response. |
extended | Returns extended list of properties when set to true. |
spaceId | Filtering on connections by space ID |
personal | Filtering on connections, connections in personal space will be returned if set to true |
owner | Filtering on datafile connections by owner (i.e. app) ID. |
ownedByMe | Filtering on conneections, return connections owned by the caller if set to true (doesn't apply to datafiles connectionos) |
limit default=All resources will be returned if limit is not defined, minimum=1, maximum=100 | Number of resources to be returned |
sort | 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. |
page | Pagination sursor string, which is generated auotmatically in previous pagination query. |
noDatafiles | Datafiles connections will not be returned if set to true |
userId | Filtering on userId. Requires admin role if specified userId doesn't match that is defined in JWT. |
caseinsensitive | Sort results will be returned in case insensitive order if set to true (Only used along with sort query) |
locale | ICU locale ID, used only when caseinsensitive is set to true, default to 'en' if undefined |
includeQris | Base Qri (encrypted) will be returned when the query is set to true, default is false |
Responses GET /v1/data-connections
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. |
400 application/json | Bad request, typically when dataName is empty |
500 application/json | Internal error, this happens when the service fails to make requests to dependency services |
502 application/json | Bad gateway, this happens when the requests to dependency services are timedout |
GET/v1/data-connections
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-connections
{
"data": [
{
"qID": "string",
"qri": "string",
"user": "string",
"links": {
"self": {
"href": "string"
}
},
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"tenant": "string",
"created": "string",
"updated": "string",
"privileges": [],
"datasourceID": "string",
"qArchitecture": 0,
"qReferenceKey": "string",
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qConnectionSecret": "string",
"qSeparateCredentials": true
}
],
"meta": {
"count": 0
},
"links": {
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
}
},
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"status": 0
}
]
}
Creates a connection. Depends on the fields defined in the request body, credentials embedded (or associated) in the connection can be updated or created.
Facts POST /v1/data-connections
Rate limit required | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-connections
application/json | No description |
Responses POST /v1/data-connections
201 application/json | Data connection created |
400 application/json | Invalid data connection specified |
403 application/json | User has no access to the connection or space |
404 application/json | Credentials pointed by qCredentialsID in the request body doesn't exist |
409 application/json | Data connection already exists |
POST/v1/data-connections
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"qID":"string","owner":"string","qName":"string","qType":"string","space":"string","qLogOn":"0","qPassword":"string","qUsername":"string","datasourceID":"string","qriInRequest":"string","qArchitecture":0,"qCredentialsID":"string","qEngineObjectID":"string","qCredentialsName":"string","qConnectStatement":"string","qConnectionSecret":"Any string","qSeparateCredentials":true}'
Request POST /v1/data-connections
{
"qID": "string",
"owner": "string",
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"qPassword": "string",
"qUsername": "string",
"datasourceID": "string",
"qriInRequest": "string",
"qArchitecture": 0,
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qConnectionSecret": "Any string",
"qSeparateCredentials": true
}
Response POST /v1/data-connections
{
"qID": "string",
"user": "string",
"links": {
"self": {
"href": "string"
}
},
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"created": "string",
"updated": "string",
"privileges": [],
"qArchitecture": 0,
"qReferenceKey": "string",
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qSeparateCredentials": true
}
Gets a connection by connection ID (or by name when type=connectionname is set in query)
Facts GET /v1/data-connections/{qID}
Rate limit required | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/data-connections/{qID}
qID required | Connection ID |
Query Parameters GET /v1/data-connections/{qID}
extended | Returns extended list of properties when set to true. |
type | Connection / credential ID defined in path become connection / credential name when this query parameter is set |
credentialId | Credential ID |
byCredentialName | If set to true, credentialId in the query will be intepreted as credential's name |
spaceId | Filtering on connections by space ID |
noCache | 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 |
Responses GET /v1/data-connections/{qID}
200 application/json | Data connection fetched |
400 application/json | qID is an invalid UUID |
403 application/json | User has no access to the connection or space |
404 application/json | Data connection not found |
500 application/json | Credential decryption failed, which is most likely caused by invalid credentials |
GET/v1/data-connections/{qID}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-connections/{qID}
{
"qID": "string",
"qri": "string",
"user": "string",
"links": {
"self": {
"href": "string"
}
},
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"tenant": "string",
"created": "string",
"updated": "string",
"privileges": [],
"datasourceID": "string",
"qArchitecture": 0,
"qReferenceKey": "string",
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qConnectionSecret": "string",
"qSeparateCredentials": true
}
Patches a connection specified by connection ID (or by name when type=connectionname is set in query).
Facts PATCH /v1/data-connections/{qID}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters PATCH /v1/data-connections/{qID}
qID required | Connection ID |
Query Parameters PATCH /v1/data-connections/{qID}
type | Connection / credential ID defined in path become connection / credential name when this query parameter is set |
Request Body PATCH /v1/data-connections/{qID}
application/json | No description |
Responses PATCH /v1/data-connections/{qID}
204 object | Data connection updated successfully |
400 application/json | Bad request due to invalid data in body |
403 application/json | User has no access to the connection or space |
404 application/json | Data connection not found |
409 application/json | Data connection already exists (when updated name conflicts with existing record) |
PATCH/v1/data-connections/{qID}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X PATCH \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"patchData":[{"op":"add","path":"Use '/qName' to patch the field 'qName' on toplevel, use '/tags/<index_number>' to patch an item in array properties like 'tags'","value":"string"}]}'
Request PATCH /v1/data-connections/{qID}
{
"patchData": [
{
"op": "add",
"path": "Use '/qName' to patch the field 'qName' on toplevel, use '/tags/<index_number>' to patch an item in array properties like 'tags'",
"value": "string"
}
]
}
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 PUT /v1/data-connections/{qID}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters PUT /v1/data-connections/{qID}
qID required | Connection ID |
Query Parameters PUT /v1/data-connections/{qID}
type | Connection / credential ID defined in path become connection / credential name when this query parameter is set |
spaceId | Filtering on connections by space ID |
Request Body PUT /v1/data-connections/{qID}
application/json | No description |
Responses PUT /v1/data-connections/{qID}
204 object | Data connection updated successfully |
400 application/json | Bad request due to invalid data in body |
403 application/json | User has no access to the connection or space |
404 application/json | Data connection not found |
409 application/json | Data connection already exists (when updated name conflicts with existing record) |
PUT/v1/data-connections/{qID}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X PUT \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"qID":"string","qName":"string","qType":"string","space":"string","qLogOn":"0","qPassword":"string","qUsername":"string","datasourceID":"string","qArchitecture":0,"qCredentialsID":"string","qEngineObjectID":"string","qCredentialsName":"string","qConnectStatement":"string","qConnectionSecret":"string","qSeparateCredentials":true}'
Request PUT /v1/data-connections/{qID}
{
"qID": "string",
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"qPassword": "string",
"qUsername": "string",
"datasourceID": "string",
"qArchitecture": 0,
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qConnectionSecret": "string",
"qSeparateCredentials": true
}
Deletes the specified data connection by ID (or by name when type=connectionname is set in query)
Facts DELETE /v1/data-connections/{qID}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters DELETE /v1/data-connections/{qID}
qID required | Connection ID |
Query Parameters DELETE /v1/data-connections/{qID}
type | Connection / credential ID defined in path become connection / credential name when this query parameter is set |
spaceId | Filtering on connections by space ID |
Responses DELETE /v1/data-connections/{qID}
204 object | Data connection deleted successfully |
403 application/json | User has no access to the connection or space |
404 application/json | Data connection not found |
DELETE/v1/data-connections/{qID}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/{qID}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
Delete multiple connections, only available to Admin
Facts POST /v1/data-connections/actions/delete
Rate limit required | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-connections/actions/delete
application/json | No description |
Responses POST /v1/data-connections/actions/delete
207 application/json | Bulk delete completed |
400 application/json | Bad request (Missing required field in request body) |
403 application/json | User has no access to the endpoint. The endpoint requires Admin role |
POST/v1/data-connections/actions/delete
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/delete" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"connections":[{"id":"string","name":"string"}]}'
Request POST /v1/data-connections/actions/delete
{
"connections": [
{
"id": "string",
"name": "string"
}
]
}
Response POST /v1/data-connections/actions/delete
{
"data": [
{
"id": "string",
"error": {
"code": "string",
"title": "string",
"detail": "string",
"status": 0
},
"status": 0
}
]
}
Duplicate a connection
Facts POST /v1/data-connections/actions/duplicate
Rate limit required | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-connections/actions/duplicate
application/json | No description |
Responses POST /v1/data-connections/actions/duplicate
201 application/json | Duplicate completed |
400 application/json | Bad request (Missing required field in request body, or duplicate from / to a reserved connection) |
403 application/json | User has no access to the source connection or no access to target space |
404 application/json | Connection defined by id not found |
409 application/json | Duplicated connection would result in a name conficts with the connections in the scope |
POST/v1/data-connections/actions/duplicate
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/duplicate" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"id":"string","name":"string","spaceId":"string","qPassword":"string","qUsername":"string"}'
Request POST /v1/data-connections/actions/duplicate
{
"id": "string",
"name": "string",
"spaceId": "string",
"qPassword": "string",
"qUsername": "string"
}
Response POST /v1/data-connections/actions/duplicate
{
"qID": "string",
"user": "string",
"links": {
"self": {
"href": "string"
}
},
"qName": "string",
"qType": "string",
"space": "string",
"qLogOn": "0",
"created": "string",
"updated": "string",
"privileges": [],
"qArchitecture": 0,
"qReferenceKey": "string",
"qCredentialsID": "string",
"qEngineObjectID": "string",
"qCredentialsName": "string",
"qConnectStatement": "string",
"qSeparateCredentials": true
}
Update multiple connections, only available to Admin
Facts POST /v1/data-connections/actions/update
Rate limit required | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-connections/actions/update
application/json | No description |
Responses POST /v1/data-connections/actions/update
207 application/json | Bulk update completed |
400 application/json | Bad request (Missing required field in request body) |
403 application/json | User has no access to the endpoint. The endpoint requires Admin role |
POST/v1/data-connections/actions/update
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-connections/actions/update" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"connections":[{"id":"string","name":"string","ownerId":"string","spaceId":"string","spaceType":"personal"}]}'
Request POST /v1/data-connections/actions/update
{
"connections": [
{
"id": "string",
"name": "string",
"ownerId": "string",
"spaceId": "string",
"spaceType": "personal"
}
]
}
Response POST /v1/data-connections/actions/update
{
"data": [
{
"id": "string",
"error": {
"code": "string",
"title": "string",
"detail": "string",
"status": 0
},
"status": 0
}
]
}
bycredentialname
booleanIf set to true, credentialId in the query will be intepreted as credential's name
caseinsensitive
booleanSort results will be returned in case insensitive order if set to true (Only used along with sort query)
credentialID
stringCredential ID
dataName
stringProvides an alternate name to be used for data[] element in GET response.
extended
booleanReturns extended list of properties when set to true.
includeQris
booleanBase Qri (encrypted) will be returned when the query is set to true, default is false
limit
integerNumber of resources to be returned
locale
stringICU locale ID, used only when caseinsensitive is set to true, default to 'en' if undefined
nocache
booleandatafiles 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
nodatafiles
booleanDatafiles connections will not be returned if set to true
ownedbyme
booleanFiltering on conneections, return connections owned by the caller if set to true (doesn't apply to datafiles connectionos)
owner
stringFiltering on datafile connections by owner (i.e. app) ID.
page
stringPagination sursor string, which is generated auotmatically in previous pagination query.
personal
booleanFiltering on connections, connections in personal space will be returned if set to true
qConnID
stringConnection ID
sort
stringName 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.
spaceID
stringFiltering on connections by space ID
type
stringConnection / credential ID defined in path become connection / credential name when this query parameter is set
Enum:
connectionname
credentialname
userId
stringFiltering on userId. Requires admin role if specified userId doesn't match that is defined in JWT.
ActionDeleteRequest
objectProperties
connections required | No description |
ActionDuplicateRequest
objectProperties
id required string | ID of the source connection being duplicated |
name string | Optional name for the duplicated connection, must be unique in the target scope. If not specified, a name will be automatically generated |
spaceId string | Optional target space ID for the duplicated connection. If not specified, the duplicated connection will be in the same space as the source connection |
qPassword string | Optional credential password, specify to override credential embedded (or associated) with the source connection |
qUsername string | Optional credential username, specify to override credential embedded (or associated) with the source connection |
ActionUpdateRequest
objectProperties
connections required | No description |
BulkResponse
objectProperties
data | No description |
Connection
objectEssential fields of a connection
Properties
qID required string | Unique identifier (UUID) for the data connection, must be same as qEngineObjectID |
qri string | Encrypted base Qri string |
user required string | User ID of the connection's creator |
links | No description |
qName required string | Descriptive name of the data connection |
qType required string | Type of connection - indicates connection provider type |
space string | ID of the space to which the connection belongs |
qLogOn required string | Indicates the type of user associated with the data connection Enum: 0 1 LOG_ON_SERVICE_USER LOG_ON_CURRENT_USER |
tenant string | Tenant ID of the connection's creator (Only when extended=true in query) |
created required string | Datetime when the connection was created |
updated required string | Datetime when the connection was last updated |
privileges required Array<Privilege> | Array of string (i.e. update, delete, read) indicating the user's privileges on the associated connection |
datasourceID string | Data source ID |
qArchitecture required integer | 0 or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified. Enum: 0 1 |
qReferenceKey string | Reference key of credential in redis |
qCredentialsID string | ID of the credential associated with the connection |
qEngineObjectID required string | Unique identifier (UUID) for the data connection, must be same as qID |
qCredentialsName string | Name of the credential associated with the connection |
qConnectStatement required string | Connection string for the data connection |
qConnectionSecret string | 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 /data0connections/{qID} |
qSeparateCredentials required boolean | Indicates whether or not this is a credential-less connection |
ConnectionCreate
objectProperties
qID string | Unique identifier (UUID) for the data connection. A UUID will be generated automatically if qID is not specified or empty |
owner string | ID of the cloud app that owns this connection |
qName required string | Descriptive name of the data connection |
qType required string | Type of connection - indicates connection provider type |
space string | ID of the space to which the connection belongs |
qLogOn string | Indicates the type of user associated with the data connection. Enum: 0 1 LOG_ON_SERVICE_USER LOG_ON_CURRENT_USER |
qPassword string | Any logon password associated with the data connection |
qUsername string | Any logon username associated with the data connection |
datasourceID required string | ID of the datasource associated with this connection |
qriInRequest string | 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. |
qArchitecture integer | 0 or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified. Enum: 0 1 |
qCredentialsID string | ID of the credential associated with the connection |
qEngineObjectID string | 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 |
qCredentialsName string | Name of the credential associated with the connection |
qConnectStatement required string | Connection string for the data connection |
qConnectionSecret string | String that contains connection specific secret (or password) that requires encryption before persist to database. This field is connection level secret |
qSeparateCredentials default=false boolean | Indicates whether or not to create a credential-less connection |
ConnectionCreateResponse
objectEssential fields of a connection
Properties
qID required string | Unique identifier (UUID) for the data connection, must be same as qEngineObjectID |
user string | User ID of the connection's creator |
links | No description |
qName required string | Descriptive name of the data connection |
qType required string | Type of connection - indicates connection provider type |
space string | ID of the space to which the connection belongs |
qLogOn required string | Indicates the type of user associated with the data connection. Enum: 0 1 LOG_ON_SERVICE_USER LOG_ON_CURRENT_USER |
created string | Datetime when the connection was created |
updated string | Datetime when the connection was last updated |
privileges required Array<Privilege> | No description |
qArchitecture required integer | 0 or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified. Enum: 0 1 |
qReferenceKey string | Reference key of credential in redis |
qCredentialsID string | ID of the credential associated with the connection |
qEngineObjectID required string | Unique identifier (UUID) for the data connection, must be same as qID |
qCredentialsName string | Name of the credential associated with the connection |
qConnectStatement required string | Connection string for the data connection |
qSeparateCredentials required boolean | Indicates whether or not this is a credential-less connection |
Connections
objectProperties
data | No description |
meta | No description |
links | No description |
errors | No description |
ConnectionUpdate
objectProperties
qID required string | Unique identifier for the data connection |
qName required string | Descriptive name of the data connection |
qType required string | Type of connection - indicates connection provider type |
space string | ID of the space to which the connection belongs |
qLogOn string | Indicates the type of user associated with the data connection. Enum: 0 1 LOG_ON_SERVICE_USER LOG_ON_CURRENT_USER |
qPassword string | Any logon password associated with the data connection |
qUsername string | Any logon username associated with the data connection |
datasourceID string | ID of the datasource associated with this connection |
qArchitecture integer | 0 or 1 value indicating whether the data connector is 64-bit (0) or 32-bit (1). Defaults to 0 if not specified. Enum: 0 1 |
qCredentialsID string | ID of the credential associated with the connection |
qEngineObjectID required string | Unique identifier for the data connection as specified by the Sense engine |
qCredentialsName string | Name of the credential associated with the connection |
qConnectStatement required string | Connection string for the data connection |
qConnectionSecret string | 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 eixsting connection secret will be cleared. If this field is missing, existing secret will not be updated. |
qSeparateCredentials boolean | Indicates whether or not this is a credential-less connection |
Error
objectProperties
code string | Unique internal error code |
title string | A summary in english explaining what went wrong |
detail string | More concrete details |
status integer | HTTP status code |
Errors
Array<Error>Properties
code string | Unique internal error code |
title string | A summary in english explaining what went wrong |
detail string | More concrete details |
status integer | HTTP status code |
Link
objectProperties
self required object | Link to cirrent query |
Meta
objectProperties
count integer | Total count of resources being requested. |
PatchRequest
objectProperties
patchData required | No description |
Privilege
stringAccess type allowed on associated data connection
Enum:
list
update
delete
read
ResponseErrors
objectProperties
errors | No description |
TopLevelLink
objectProperties
next object | URL link to next page of requested resources (available to paged request only) |
prev object | URL link to previous page of requested resources (available to paged request only) |
self required object | Link to cirrent query |