Data files

API for uploading and managing user data files

Download specification

Get descriptive info for the specified data files.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanagebuild

Query Parameters

  • allowInternalFilesboolean

    If set to false, do not return data files with internal extensions else return all the data files.

  • appIdstring

    Only return files scoped to the specified app. If this parameter is not specified, only files that are not scoped to any app are returned. "*" implies all app-scoped files are returned.

  • connectionIdstring

    Return files that reside in the space referenced by the specified DataFiles connection. If this parameter is not specified, the user's personal space is implied.

  • limitinteger

    If present, the maximum number of data files to return.

  • namestring

    Filter the list of files returned to the given file name.

  • ownerIdstring

    If present, fetch the data files for the specified owner. If a connectionId is specified in this case, the returned list is constrained to the specified space. If connectionId is not specified, then all files owned by the specified user are returned regardless of the personal space that a given file resides in.

  • pagestring

    If present, the cursor that starts the page of data that is returned.

  • sortstring

    The name of the field used to sort the result. By default, the sort order is ascending. Putting a '+' prefix on the sort field name explicitly indicates ascending sort order. A '-' prefix indicates a descending sort order.

    Can be one of: "name""+name""-name""size""+size""-size""modifiedDate""+modifiedDate""-modifiedDate"

Responses

200

application/json

The file list was retrieved.

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

      Properties of the uploaded data files.

      Show data properties
      • idstring
        Required

        The ID for the uploaded file.

      • namestring
        Required

        The name of the uploaded file.

      • sizeinteger
        Required

        The size of the uploaded file, in bytes.

      • appIdstring

        If this file is bound to the lifecycle of a specific app, this is the ID of this app.

      • ownerIdstring
        Required

        The 'owner' of a file is the user who last uploaded the file's content.

      • spaceIdstring

        If the file was uploaded to a team space, this is the ID of that space.

      • createdDatestring
        Required

        The date that the uploaded file was created.

      • modifiedDatestring

        The date that the updated file was last modified.

    • linksobject
      Required
      Show links properties
      • nextobject
        Required
        Show next properties
        • hrefstring

          The URL for the link.

      • prevobject
        Required
        Show prev properties
        • hrefstring

          The URL for the link.

      • selfobject
        Required
        Show self properties
        • hrefstring

          The URL for the link.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

      List of errors and their properties.

      Show errors properties
      • codestring
        Required

        The error code.

      • titlestring

        Summary of the problem.

      • detailstring

        A human-readable explanation specific to this occurrence of the problem.

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
GET /v1/data-files
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file ls

Response

{
  "data": [
    {
      "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
      "name": "MyFile.csv",
      "size": 1024,
      "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
      "ownerId": "lDL4DIINndhL_iJkcbqWyJenuwizP-2D",
      "spaceId": "617979737a9f56e49dea2e6e",
      "createdDate": "2020-07-07T20:52:40.8534780Z",
      "modifiedDate": "2020-07-07T20:52:40.8534780Z"
    }
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Upload a new data file.

Facts

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

Request Body

multipart/form-data

  • multipart/form-dataobject
    Show multipart/form-data properties
    • Filestring

      IFormFile form multipart/form-data

    • Jsonobject

      See PostDataFileRequest schema which defines request structure. See model.

      Show Json properties
      • namestring
        Required

        Name that will be given to the uploaded file. It should be noted that the '/' character in a data file name indicates a 'path' separator in a logical folder hierarchy for the name. Names that contain '/'s should be used with the assumption that a logical 'folder hierarchy' is being defined for the full pathname of that file. '/' is a significant character in the data file name, and may impact the behavior of future APIs which take this folder hierarchy into account.

      • appIdstring

        If this file should be bound to the lifecycle of a specific app, this is the ID of this app.

      • sourceIdstring

        If a SourceId is specified, this is the ID of the existing data file whose content should be copied into the specified data file. That is, instead of the file content being specified in the Data element, it is effectively copied from an existing, previously uploaded file.

      • connectionIdstring

        If present, this is the DataFiles connection that the upload should occur in the context of. If absent, the default is that the upload will occur in the context of the MyDataFiles connection. If the DataFiles connection is different from the one specified when the file was last POSTed or PUT, this will result in a logical move of this file into the new space.

      • tempContentFileIdstring

        If a TempContentFileId is specified, this is the ID of a previously uploaded temporary content file whose content should be copied into the specified data file. That is, instead of the file content being specified in the Data element, it is effectively copied from an existing, previously uploaded file. The expectation is that this file was previously uploaded to the temporary content service, and the ID specified here is the one returned from the temp content upload request.

Responses

201

application/json

New file was uploaded and created.

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

      The ID for the uploaded file.

    • namestring
      Required

      The name of the uploaded file.

    • sizeinteger
      Required

      The size of the uploaded file, in bytes.

    • appIdstring

      If this file is bound to the lifecycle of a specific app, this is the ID of this app.

    • ownerIdstring
      Required

      The 'owner' of a file is the user who last uploaded the file's content.

    • spaceIdstring

      If the file was uploaded to a team space, this is the ID of that space.

    • createdDatestring
      Required

      The date that the uploaded file was created.

    • modifiedDatestring

      The date that the updated file was last modified.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

409

application/json

A file with the same name already exists in the specified user or app scope.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

413

application/json

The file exceeds the user's quota for maximum file size to upload.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

423

application/json

The file is already locked for read or write by another client.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
POST /v1/data-files
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files" \
-X POST \
-H "Content-type: multipart/form-data" \
-H "Authorization: Bearer <API-key>" \
-F "File=@/path/to/file" \
-F "Json={\"name\":\"MyFile.csv\",\"appId\":\"f34b91a1-0dc3-44ac-a847-51cb84122c84\",\"sourceId\":\"f34b91a1-0dc3-44ac-a847-51cb84122c84\",\"connectionId\":\"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc\",\"tempContentFileId\":\"624b0f54459f1c00018dade4\"}"
const https = require('https')
  const data = JSON.stringify({"File":"string","Json":{"name":"MyFile.csv","appId":"f34b91a1-0dc3-44ac-a847-51cb84122c84","sourceId":"f34b91a1-0dc3-44ac-a847-51cb84122c84","connectionId":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc","tempContentFileId":"624b0f54459f1c00018dade4"}})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files',
    'method': 'POST',
    'headers': {
      'Content-type': 'multipart/form-data',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(formData)
  
qlik data-file create

Request

{
  "File": "string",
  "Json": {
    "name": "MyFile.csv",
    "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
    "sourceId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
    "connectionId": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
    "tempContentFileId": "624b0f54459f1c00018dade4"
  }
}

Response

{
  "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
  "name": "MyFile.csv",
  "size": 1024,
  "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
  "ownerId": "lDL4DIINndhL_iJkcbqWyJenuwizP-2D",
  "spaceId": "617979737a9f56e49dea2e6e",
  "createdDate": "2020-07-07T20:52:40.8534780Z",
  "modifiedDate": "2020-07-07T20:52:40.8534780Z"
}

Get descriptive info for the specified data file.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanagebuild

Path Parameters

  • idstring
    Required

    The ID of the data file.

Responses

200

application/json

The file was located.

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

      The ID for the uploaded file.

    • namestring
      Required

      The name of the uploaded file.

    • sizeinteger
      Required

      The size of the uploaded file, in bytes.

    • appIdstring

      If this file is bound to the lifecycle of a specific app, this is the ID of this app.

    • ownerIdstring
      Required

      The 'owner' of a file is the user who last uploaded the file's content.

    • spaceIdstring

      If the file was uploaded to a team space, this is the ID of that space.

    • createdDatestring
      Required

      The date that the uploaded file was created.

    • modifiedDatestring

      The date that the updated file was last modified.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A data file with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
GET /v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/{id}',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file get <data-fileId>

Response

{
  "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
  "name": "MyFile.csv",
  "size": 1024,
  "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
  "ownerId": "lDL4DIINndhL_iJkcbqWyJenuwizP-2D",
  "spaceId": "617979737a9f56e49dea2e6e",
  "createdDate": "2020-07-07T20:52:40.8534780Z",
  "modifiedDate": "2020-07-07T20:52:40.8534780Z"
}

Re-upload an existing data file.

Facts

Rate limit Special (800 requests per minute)
Categories externalmanagebuild

Path Parameters

  • idstring
    Required

    The ID of the data file to update.

Request Body

multipart/form-data

  • multipart/form-dataobject
    Show multipart/form-data properties
    • Filestring

      IFormFile form multipart/form-data

    • Jsonobject

      See PutDataFileRequest schema which defines request structure. See model.

      Show Json properties
      • namestring

        Name that will be given to the uploaded file. If this name is different than the name used when the file was last POSTed or PUT, this will result in a rename of the file. It should be noted that the '/' character in a data file name indicates a 'path' separator in a logical folder hierarchy for the name. Names that contain '/'s should be used with the assumption that a logical 'folder hierarchy' is being defined for the full pathname of that file. '/' is a significant character in the data file name, and may impact the behavior of future APIs that take this folder hierarchy into account.

      • appIdstring

        If this file should be bound to the lifecycle of a specific app, this is the ID of this app.

      • sourceIdstring

        If a SourceId is specified, this is the ID of the existing data file whose content should be copied into the specified data file. That is, instead of the file content being specified in the Data element, it is effectively copied from an existing, previously uploaded file.

      • connectionIdstring

        If present, this is the DataFiles connection that the upload should occur in the context of. If absent, the default is that the upload will occur in the context of the MyDataFiles connection. If the DataFiles connection is different from the one specified when the file was last POSTed or PUT, this will result in a logical move of this file into the new space.

      • tempContentFileIdstring

        If a TempContentFileId is specified, this is the ID of a previously uploaded temporary content file whose content should be copied into the specified data file. That is, instead of the file content being specified in the Data element, it is effectively copied from an existing, previously uploaded file. The expectation is that this file was previously uploaded to the temporary content service, and the ID specified here is the one returned from the temp content upload request.

Responses

201

application/json

The fie was updated.

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

      The ID for the uploaded file.

    • namestring
      Required

      The name of the uploaded file.

    • sizeinteger
      Required

      The size of the uploaded file, in bytes.

    • appIdstring

      If this file is bound to the lifecycle of a specific app, this is the ID of this app.

    • ownerIdstring
      Required

      The 'owner' of a file is the user who last uploaded the file's content.

    • spaceIdstring

      If the file was uploaded to a team space, this is the ID of that space.

    • createdDatestring
      Required

      The date that the uploaded file was created.

    • modifiedDatestring

      The date that the updated file was last modified.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A data file with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

409

application/json

If the file was renamed during the update, a file with the new name already exists in the specified user or app scope. Also, if the space that the file resides in was changed as part of the update, a file with the same name already resides in the new space.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

413

application/json

The file exceeds the user's quota for maximum file size to upload.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

423

application/json

The file is already locked for read or write by another client.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
PUT /v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-X PUT \
-H "Content-type: multipart/form-data" \
-H "Authorization: Bearer <API-key>" \
-F "File=@/path/to/file" \
-F "Json={\"name\":\"MyFile.csv\",\"appId\":\"f34b91a1-0dc3-44ac-a847-51cb84122c84\",\"sourceId\":\"f34b91a1-0dc3-44ac-a847-51cb84122c84\",\"connectionId\":\"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc\",\"tempContentFileId\":\"624b0f54459f1c00018dade4\"}"
const https = require('https')
  const data = JSON.stringify({"File":"string","Json":{"name":"MyFile.csv","appId":"f34b91a1-0dc3-44ac-a847-51cb84122c84","sourceId":"f34b91a1-0dc3-44ac-a847-51cb84122c84","connectionId":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc","tempContentFileId":"624b0f54459f1c00018dade4"}})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/{id}',
    'method': 'PUT',
    'headers': {
      'Content-type': 'multipart/form-data',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(formData)
  
qlik data-file update <data-fileId>

Request

{
  "File": "string",
  "Json": {
    "name": "MyFile.csv",
    "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
    "sourceId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
    "connectionId": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
    "tempContentFileId": "624b0f54459f1c00018dade4"
  }
}

Response

{
  "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
  "name": "MyFile.csv",
  "size": 1024,
  "appId": "f34b91a1-0dc3-44ac-a847-51cb84122c84",
  "ownerId": "lDL4DIINndhL_iJkcbqWyJenuwizP-2D",
  "spaceId": "617979737a9f56e49dea2e6e",
  "createdDate": "2020-07-07T20:52:40.8534780Z",
  "modifiedDate": "2020-07-07T20:52:40.8534780Z"
}

Delete the specified data file.

Facts

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

Path Parameters

  • idstring
    Required

    The ID of the data file to delete.

Responses

204

The fie was deleted.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A data file with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
DELETE /v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/{id}',
    'method': 'DELETE',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file rm <data-fileId>

Change the owner of an existing data file.

This is primarily an admin type of operation. In general, the owner of a data file is implicitly set as part of a data file upload. For data files that reside in a personal space, changing the owner has the effect of moving the data file to the new owner's personal space.

Facts

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

Path Parameters

  • idstring
    Required

    The ID of the data file whose owner will be updated.

Request Body

application/json

The request.

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

      The ID of the new owner.

Responses

204

The file's owner was changed.

400

application/json

An owner with the specified ID does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

The user does not have permission to modify the specified data file.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A data file with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

423

application/json

The file is already locked for read or write by another client.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
POST /v1/data-files/{id}/actions/change-owner
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}/actions/change-owner" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"ownerId":"lDL4DIINndhL_iJkcbqWyJenuwizP-2D"}'
const https = require('https')
  const data = JSON.stringify({"ownerId":"lDL4DIINndhL_iJkcbqWyJenuwizP-2D"})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/{id}/actions/change-owner',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik data-file change-owner <data-fileId> \
--ownerId="lDL4DIINndhL_iJkcbqWyJenuwizP-2D"

Request

{
  "ownerId": "lDL4DIINndhL_iJkcbqWyJenuwizP-2D"
}

Change the space that an existing data file resides in.

This is to allow for a separate admin type of operation that is more global in terms of access in cases where admin users may not explicitly have been granted full access to a given space within the declared space-level permissions. If the space ID is set to null, then the datafile will end up residing in the personal space of the user who is the owner of the file.

Facts

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

Path Parameters

  • idstring
    Required

    The ID of the data file whose space will be updated.

Request Body

application/json

The request.

  • application/jsonobject
    Show application/json properties
    • spaceIdstring

      The ID of the space. If null, this data file will be moved to the user's personal space.

Responses

204

The file's space was changed.

400

application/json

A space with the specified ID does not exist.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

The user does not have permission to modify the specified data file.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A data file with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

423

application/json

The file is already locked for read or write by another client.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
POST /v1/data-files/{id}/actions/change-space
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}/actions/change-space" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"spaceId":"617979737a9f56e49dea2e6e"}'
const https = require('https')
  const data = JSON.stringify({"spaceId":"617979737a9f56e49dea2e6e"})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/{id}/actions/change-space',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik data-file change-space <data-fileId> \
--spaceId="617979737a9f56e49dea2e6e"

Request

{
  "spaceId": "617979737a9f56e49dea2e6e"
}

Change the spaces that a set of existing data files reside in a a single batch.

This is to allow for a separate admin type of operation that is more global in terms of access in cases where admin users may not explicitly have been granted full access to a given space within the declared space-level permissions. If the space ID is set to null, then the data file will end up residing in the personal space of the user who is the owner of the file.

Facts

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

Request Body

application/json

The batch of IDs for each data file in the batch whose space will be changed along with the space IDs for each change.

Specifies the list of data file change space operations in a single batch.

  • application/jsonobject

    Specifies the list of data file change space operations in a single batch.

    Show application/json properties
    • change-spacearray of objects
      Required

      The list of data files to delete.

      Show change-space properties
      • idstring
        Required

        The ID of the data file whose space will be changed.

      • spaceIdstring

        The ID of the new space. Passing in a null will result in the data file being moved to the user's personal space.

Responses

207

application/json

The result status of the change space operations on each specified data file.

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

      List of individual results for the items in the specified batch.

      Show data properties
      • idstring
        Required

        The unique identifier of the file.

      • codestring
        Required

        The error code.

      • titlestring

        Summary of the problem.

      • detailstring

        A human-readable explanation specific to this occurrence of the problem.

      • statusinteger
        Required

        The HTTP status code.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
POST /v1/data-files/actions/change-space
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/actions/change-space" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"change-space":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc","spaceId":"617979737a9f56e49dea2e6e"}]}'
const https = require('https')
  const data = JSON.stringify({"change-space":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc","spaceId":"617979737a9f56e49dea2e6e"}]})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/actions/change-space',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
This API is not included yet in qlik-cli

Request

{
  "change-space": [
    {
      "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
      "spaceId": "617979737a9f56e49dea2e6e"
    }
  ]
}

Response

{
  "data": [
    {
      "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
      "code": "HTTP-400",
      "title": "Cursor not formatted correctly.",
      "detail": "Invalid encoding of cursor.",
      "status": 400
    }
  ]
}

Delete the specified set of data files as a single batch.

Facts

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

Request Body

application/json

The IDs for the batch of data files to delete.

Specifies the list of data files to be deleted in a single batch.

  • application/jsonobject

    Specifies the list of data files to be deleted in a single batch.

    Show application/json properties
    • deletearray of objects
      Required

      The list of data files to delete.

      Show delete properties
      • idstring
        Required

        The ID of the data file to delete.

Responses

207

application/json

The result status of the delete operations on each specified data file.

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

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
POST /v1/data-files/actions/delete
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/actions/delete" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"delete":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"}]}'
const https = require('https')
  const data = JSON.stringify({"delete":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"}]})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/actions/delete',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik data-file delete \
--delete='{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"}'

Request

{
  "delete": [
    {
      "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"
    }
  ]
}

Response

{
  "data": [
    {}
  ]
}

Get the list of built-in connections used by the engine to load/write data files.

The non-filtered list contains a set of hardcoded connections, along with one connection per team space that the given user has access to.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanagebuild

Query Parameters

  • appIdstring

    If present, get connections with connection strings that are scoped to the given app ID.

  • limitinteger

    If present, the maximum number of data file connection records to return.

  • namestring

    If present, only return connections with the given name.

  • pagestring

    If present, the cursor that starts the page of data that is returned.

  • personalboolean

    If true, only return the connections that access data in a personal space. Default is false.

  • sortstring

    The name of the field used to sort the result. By default, the sort is ascending. Putting a '+' prefix on the sort field name explicitly indicates ascending sort order. A '-' prefix indicates a descending sort order.

    Can be one of: "spaceId""+spaceId""-spaceId"

  • spaceIdstring

    If present, only return the connection that accesses data files in the specified space.

Responses

200

application/json

Connection list was returned.

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

      Properties of the connections to the tenant spaces.

      Show data properties
      • idstring
        Required

        The unique identifier of the connection.

      • namestring
        Required

        The name of the connection.

      • typestring
        Required

        The type of the connection.

      • spaceIdstring

        The team space that the given connection is associated with. If null, the connection is not associated with any specific team space.

      • connectStatementstring
        Required

        The connect statement that will be passed to the connector when invoked.

    • linksobject
      Required
      Show links properties
      • nextobject
        Required
        Show next properties
        • hrefstring

          The URL for the link.

      • prevobject
        Required
        Show prev properties
        • hrefstring

          The URL for the link.

      • selfobject
        Required
        Show self properties
        • hrefstring

          The URL for the link.

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
GET /v1/data-files/connections
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/connections" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/connections',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file connection ls

Response

{
  "data": [
    {
      "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
      "name": "DataFiles",
      "type": "qix-datafiles.exe",
      "spaceId": "617979737a9f56e49dea2e6e",
      "connectStatement": "CUSTOM CONNECT TO \"provider=qix-datafiles.exe;path=mydatafiles;\""
    }
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Get the built-in connection used by the engine to load/write data files given a connection ID.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanagebuild

Path Parameters

  • idstring
    Required

    The ID of the connection.

Responses

200

application/json

The connection was returned.

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

      The unique identifier of the connection.

    • namestring
      Required

      The name of the connection.

    • typestring
      Required

      The type of the connection.

    • spaceIdstring

      The team space that the given connection is associated with. If null, the connection is not associated with any specific team space.

    • connectStatementstring
      Required

      The connect statement that will be passed to the connector when invoked.

403

application/json

The space referenced by the specified connection was not found, or is not accessible to the current user.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

404

application/json

A connection with the specified ID was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
GET /v1/data-files/connections/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/connections/{id}" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/connections/{id}',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file connection get <connectionId>

Response

{
  "id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
  "name": "DataFiles",
  "type": "qix-datafiles.exe",
  "spaceId": "617979737a9f56e49dea2e6e",
  "connectStatement": "CUSTOM CONNECT TO \"provider=qix-datafiles.exe;path=mydatafiles;\""
}

Get quota information for the calling user.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanagebuild

Responses

200

application/json

The quota information was retrieved.

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

      The current aggregate size of all files uploaded by a given user. If the current aggregate size is greater than the maximum aggregate size, this is a quota violation.

    • maxSizeinteger
      Required

      The maximum aggregate size of all files uploaded by a given user.

    • maxFileSizeinteger
      Required

      Maximum allowable size of an uploaded file.

    • maxLargeFileSizeinteger
      Required

      Maximum allowable size for a single uploaded large data file (in bytes). This is a file that was indirectly uploaded using the temp content service chunked upload capability.

    • allowedExtensionsarray of strings
      Required

      The allowed file extensions on files that are uploaded.

    • allowedInternalExtensionsarray of strings
      Required

      The allowed file extensions for files that are only used internally by the system (and thus not typically shown to end users).

400

application/json

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required

403

application/json

Forbidden

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Required
GET /v1/data-files/quotas
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/quotas" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/data-files/quotas',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik data-file quotas

Response

{
  "size": 5000,
  "maxSize": 9223372036854776000,
  "maxFileSize": 524288000,
  "maxLargeFileSize": 6442450944,
  "allowedExtensions": [
    "string"
  ],
  "allowedInternalExtensions": [
    "string"
  ]
}