Data connections

Data connections are used by analytics apps and gateways to connect to external data sources. Credentials are stored in data-credentials.

Download specification

Gets a list of connections

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
    Show application/json properties
    • dataarray of objects

      Essential fields of a connection

      Show data properties
      • qIDstring
        Required

        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

      • userstring
        Required

        User ID of the connection's creator

      • linksobject
        Show links properties
        • selfobject
          Required

          Link to current query

          Show self properties
          • hrefstring
            Required

            URL pointing to the resource

      • qNamestring
        Required

        Descriptive name of the data connection

      • qTypestring
        Required

        Type of connection, i.e. provider type of underlying connector

      • spacestring

        ID of the space to which the connection belongs

      • qLogOninteger
        Required

        Indicates the type of user associated with the data connection

        Can be one of: 01

      • tenantstring
        Required

        Tenant ID of the connection's creator

      • createdstring
        Required

        Datetime when the connection was created

      • updatedstring
        Required

        Datetime when the connection was last updated

      • privilegesarray of strings
        Required

        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

      • qArchitectureinteger
        Required
        1. 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
        Required

        Unique identifier (UUID) for the data connection, must be same as qID

      • qConnectStatementstring
        Required

        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)

      • qSeparateCredentialsboolean
        Required

        Indicates whether or not this is a credential-less connection

    • metaobject
      Show meta properties
      • countinteger

        Total count of resources being requested.

    • linksobject
      Show links properties
      • nextobject

        URL link to next page of requested resources (available to paged request only)

        Show next properties
        • hrefstring
          Required

          URL pointing to the next page of resources

      • prevobject

        URL link to previous page of requested resources (available to paged request only)

        Show prev properties
        • hrefstring
          Required

          URL pointing to the previous page of resources

      • selfobject
        Required

        Link to current query

        Show self properties
        • hrefstring
          Required

          URL pointing to the resource

    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

GET /v1/data-connections
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

Required

application/json

  • application/jsonobject
    One of:
    • ConnectionCreateobject

      Schema used to create a connection with given connection string (i.e. qConnectStatement) along with other metadata

      Show 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

      • qNamestring
        Required

        Descriptive name of the data connection

      • qTypestring
        Required

        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

      • datasourceIDstring
        Required

        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
        1. 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

      • qConnectStatementstring
        Required

        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

      Show DcaasConnectionCreate properties
      • tagsarray of strings

        List of tags attached to the connection (allow max 31 tags)

      • qNamestring
        Required

        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

      • datasourceIDstring
        Required

        ID of the datasource of the connection

      • connectionPropertiesobject
        Required

        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/jsonobject
    One of:
    • ConnectionCreateResponseobject

      Essential fields of a connection

      Show ConnectionCreateResponse properties
      • qIDstring
        Required

        Unique identifier (UUID) for the data connection, must be same as qEngineObjectID

      • userstring

        User ID of the connection's creator

      • linksobject
        Show links properties
        • selfobject
          Required

          Link to current query

          Show self properties
          • hrefstring
            Required

            URL pointing to the resource

      • qNamestring
        Required

        Descriptive name of the data connection

      • qTypestring
        Required

        Type of connection - indicates connection provider type

      • spacestring

        ID of the space to which the connection belongs

      • qLogOnstring
        Required

        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 strings
        Required

        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"

      • qArchitectureinteger
        Required
        1. 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

      • qEngineObjectIDstring
        Required

        Unique identifier (UUID) for the data connection, must be same as qID

      • qCredentialsNamestring

        Name of the credential associated with the connection

      • qConnectStatementstring
        Required

        Connection string for the data connection

      • qSeparateCredentialsboolean
        Required

        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)

      Show DcaasConnectionCreateAuthResponse properties
      • authUrlstring
        Required

        Authentication URL used to generate authentication code for datasources supporting OAuth

400

application/json

Invalid data connection specified

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

POST /v1/data-connections
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

  • qIDstring
    Required

    Connection ID

Responses

200

application/json

Data connection retrieved

Essential fields of a connection

  • application/jsonobject

    Essential fields of a connection

    Show application/json properties
    • qIDstring
      Required

      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

    • userstring
      Required

      User ID of the connection's creator

    • linksobject
      Show links properties
      • selfobject
        Required

        Link to current query

        Show self properties
        • hrefstring
          Required

          URL pointing to the resource

    • qNamestring
      Required

      Descriptive name of the data connection

    • qTypestring
      Required

      Type of connection, i.e. provider type of underlying connector

    • spacestring

      ID of the space to which the connection belongs

    • qLogOninteger
      Required

      Indicates the type of user associated with the data connection

      Can be one of: 01

    • tenantstring
      Required

      Tenant ID of the connection's creator

    • createdstring
      Required

      Datetime when the connection was created

    • updatedstring
      Required

      Datetime when the connection was last updated

    • privilegesarray of strings
      Required

      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

    • qArchitectureinteger
      Required
      1. 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
      Required

      Unique identifier (UUID) for the data connection, must be same as qID

    • qConnectStatementstring
      Required

      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)

    • qSeparateCredentialsboolean
      Required

      Indicates whether or not this is a credential-less connection

400

application/json

The qID is not a valid UUID

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

GET /v1/data-connections/{qID}
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

  • qIDstring
    Required

    Connection ID

Request Body

Required

application/json

  • application/jsonobject
    Show application/json properties
    • patchDataarray of objects
      Required
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

PATCH /v1/data-connections/{qID}
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

  • qIDstring
    Required

    Connection ID

Request Body

Required

application/json

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

      Unique identifier for the data connection

    • qNamestring
      Required

      Descriptive name of the data connection

    • qTypestring
      Required

      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
      1. 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
      Required

      Unique identifier for the data connection as specified by the Sense engine

    • qCredentialsNamestring

      Name of the credential associated with the connection

    • qConnectStatementstring
      Required

      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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

PUT /v1/data-connections/{qID}
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
}

Deletes the specified data connection by 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"

  • spaceIdstring

    Filtering on connections by space ID

Path Parameters

  • qIDstring
    Required

    Connection ID

Responses

204

Data connection deleted successfully

403

application/json

User has no access to the connection or space

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

DELETE /v1/data-connections/{qID}
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

Delete multiple connections, only available to Admin

Facts

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

Request Body

Required

application/json

  • application/jsonobject
    Show application/json properties
    • connectionsarray of objects
      Required
      Show connections properties
      • idstring
        Required

        ID of connection

      • namestring

        Connection name

Responses

207

application/json

Bulk delete completed

  • application/jsonobject
    Show application/json properties
    • dataarray of objects
      Show data properties
      • idstring
        Required

        ID of the resource

      • errorobject
        Show error properties
        • codestring

          Unique internal error code

        • titlestring

          A summary in english explaining what went wrong

        • detailstring

          More concrete details

        • statusinteger

          HTTP status code

      • statusinteger
        Required

        Status code of operation on resource identified by ID

400

application/json

Bad request (Missing required field in request body)

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

POST /v1/data-connections/actions/delete
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
    }
  ]
}

Duplicate a connection

Facts

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

Request Body

Required

application/json

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

      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

    Show application/json properties
    • qIDstring
      Required

      Unique identifier (UUID) for the data connection, must be same as qEngineObjectID

    • userstring

      User ID of the connection's creator

    • linksobject
      Show links properties
      • selfobject
        Required

        Link to current query

        Show self properties
        • hrefstring
          Required

          URL pointing to the resource

    • qNamestring
      Required

      Descriptive name of the data connection

    • qTypestring
      Required

      Type of connection - indicates connection provider type

    • spacestring

      ID of the space to which the connection belongs

    • qLogOnstring
      Required

      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 strings
      Required

      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"

    • qArchitectureinteger
      Required
      1. 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

    • qEngineObjectIDstring
      Required

      Unique identifier (UUID) for the data connection, must be same as qID

    • qCredentialsNamestring

      Name of the credential associated with the connection

    • qConnectStatementstring
      Required

      Connection string for the data connection

    • qSeparateCredentialsboolean
      Required

      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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

POST /v1/data-connections/actions/duplicate
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

Required

application/json

  • application/jsonobject
    Show application/json properties
    • connectionsarray of objects
      Required
      Show connections properties
      • idstring
        Required

        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
    Show application/json properties
    • dataarray of objects
      Show data properties
      • idstring
        Required

        ID of the resource

      • errorobject
        Show error properties
        • codestring

          Unique internal error code

        • titlestring

          A summary in english explaining what went wrong

        • detailstring

          More concrete details

        • statusinteger

          HTTP status code

      • statusinteger
        Required

        Status code of operation on resource identified by ID

400

application/json

Bad request (Missing required field in request body)

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show 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
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring

        Unique internal error code

      • titlestring

        A summary in english explaining what went wrong

      • detailstring

        More concrete details

      • statusinteger

        HTTP status code

POST /v1/data-connections/actions/update
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
    }
  ]
}