Endpoints
Skip to sectionGET | /v1/data-files |
POST | /v1/data-files |
GET | /v1/data-files/{id} |
PUT | /v1/data-files/{id} |
DELETE | /v1/data-files/{id} |
POST | /v1/data-files/{id}/actions/change-owner |
POST | /v1/data-files/{id}/actions/change-space |
POST | /v1/data-files/actions/change-space |
POST | /v1/data-files/actions/delete |
GET | /v1/data-files/connections |
GET | /v1/data-files/connections/{id} |
GET | /v1/data-files/quotas |
Get descriptive info for the specified data files.
Facts GET /v1/data-files
Rate limit | Tier 1 (1000 requests per minute) |
Query Parameters GET /v1/data-files
allowInternalFiles optional boolean | If set to false, do not return data files with internal extensions else return all the data files. |
appId optional string | 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. |
connectionId optional string<uuid> | 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. |
limit optional, default=20, minimum=1, maximum=1000 integer<int32> | If present, the maximum number of data files to return. |
name optional string | Filter the list of files returned to the given file name. |
ownerId optional string | 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. |
page optional string | If present, the cursor that starts the page of data that is returned. |
sort optional | 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. |
Responses GET /v1/data-files
200 optional, application/json | The file list was retrieved. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
GET/v1/data-files
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-files
{
"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": "http://example.com"
},
"prev": {
"href": "http://example.com"
},
"self": {
"href": "http://example.com"
}
}
}
Upload a new data file.
Facts POST /v1/data-files
Rate limit | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-files
File optional, multipart/form-data string<binary> | IFormFile form multipart/form-data |
Json multipart/form-data | See PostDataFileRequest schema which defines request structure. See model. |
Responses POST /v1/data-files
201 optional, application/json | New file was uploaded and created. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
409 optional, application/json | A file with the same name already exists in the specified user or app scope. |
413 optional, application/json | The file exceeds the user's quota for maximum file size to upload. |
423 optional, application/json | The file is already locked for read or write by another client. |
POST/v1/data-files
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: multipart/form-data" \
-F "File=@/path/to/file" \
-F "Json={\"name\":\"MyFile.csv\"}"
Response POST /v1/data-files
{
"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 GET /v1/data-files/{id}
Rate limit | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/data-files/{id}
id string<uuid> | The ID of the data file. |
Responses GET /v1/data-files/{id}
200 optional, application/json | The file was located. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
404 optional, application/json | A data file with the specified ID was not found. |
GET/v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-files/{id}
{
"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 PUT /v1/data-files/{id}
Rate limit | Tier 2 (100 requests per minute) |
Path Parameters PUT /v1/data-files/{id}
id string<uuid> | The ID of the data file to update. |
Request Body PUT /v1/data-files/{id}
File optional, multipart/form-data string<binary> | IFormFile form multipart/form-data |
Json optional, multipart/form-data | See PutDataFileRequest schema which defines request structure. See model. |
Responses PUT /v1/data-files/{id}
201 optional, application/json | The fie was updated. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
404 optional, application/json | A data file with the specified ID was not found. |
409 optional, 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. |
413 optional, application/json | The file exceeds the user's quota for maximum file size to upload. |
423 optional, application/json | The file is already locked for read or write by another client. |
PUT/v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-X PUT \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: multipart/form-data" \
-F "File=@/path/to/file"
Response PUT /v1/data-files/{id}
{
"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 DELETE /v1/data-files/{id}
Rate limit | Tier 2 (100 requests per minute) |
Path Parameters DELETE /v1/data-files/{id}
id string<uuid> | The ID of the data file to delete. |
Responses DELETE /v1/data-files/{id}
204 optional object | The fie was deleted. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
404 optional, application/json | A data file with the specified ID was not found. |
DELETE/v1/data-files/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/{id}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
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 POST /v1/data-files/{id}/actions/change-owner
Rate limit | Tier 2 (100 requests per minute) |
Path Parameters POST /v1/data-files/{id}/actions/change-owner
id string<uuid> | The ID of the data file whose owner will be updated. |
Request Body POST /v1/data-files/{id}/actions/change-owner
application/json | The request. |
Responses POST /v1/data-files/{id}/actions/change-owner
204 optional object | The file's owner was changed. |
400 optional, application/json | An owner with the specified ID does not exist. |
403 optional, application/json | The user does not have permission to modify the specified data file. |
404 optional, application/json | A data file with the specified ID was not found. |
423 optional, application/json | The file is already locked for read or write by another client. |
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 "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"ownerId":"lDL4DIINndhL_iJkcbqWyJenuwizP-2D"}'
Request POST /v1/data-files/{id}/actions/change-owner
{
"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 POST /v1/data-files/{id}/actions/change-space
Rate limit | Tier 2 (100 requests per minute) |
Path Parameters POST /v1/data-files/{id}/actions/change-space
id string<uuid> | The ID of the data file whose space will be updated. |
Request Body POST /v1/data-files/{id}/actions/change-space
optional, application/json | The request. |
Responses POST /v1/data-files/{id}/actions/change-space
204 optional object | The file's space was changed. |
400 optional, application/json | A space with the specified ID does not exist. |
403 optional, application/json | The user does not have permission to modify the specified data file. |
404 optional, application/json | A data file with the specified ID was not found. |
423 optional, application/json | The file is already locked for read or write by another client. |
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 "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"spaceId":"617979737a9f56e49dea2e6e"}'
Request POST /v1/data-files/{id}/actions/change-space
{
"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 POST /v1/data-files/actions/change-space
Rate limit | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-files/actions/change-space
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. |
Responses POST /v1/data-files/actions/change-space
207 optional, application/json | The result status of the change space operations on each specified data file. |
400 optional, application/json | Bad Request |
POST/v1/data-files/actions/change-space
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/actions/change-space" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"change-space":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc","spaceId":"617979737a9f56e49dea2e6e"}]}'
Request POST /v1/data-files/actions/change-space
{
"change-space": [
{
"id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
"spaceId": "617979737a9f56e49dea2e6e"
}
]
}
Response POST /v1/data-files/actions/change-space
{
"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 POST /v1/data-files/actions/delete
Rate limit | Tier 2 (100 requests per minute) |
Request Body POST /v1/data-files/actions/delete
application/json | The IDs for the batch of data files to delete. |
Responses POST /v1/data-files/actions/delete
207 optional, application/json | The result status of the delete operations on each specified data file. |
400 optional, application/json | Bad Request |
POST/v1/data-files/actions/delete
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/actions/delete" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"delete":[{"id":"ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"}]}'
Request POST /v1/data-files/actions/delete
{
"delete": [
{
"id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc"
}
]
}
Response POST /v1/data-files/actions/delete
{
"data": [
{
"id": "ee6a390c-5d33-11e8-9c2d-fa7ae01bbebc",
"code": "HTTP-400",
"title": "Cursor not formatted correctly.",
"detail": "Invalid encoding of cursor.",
"status": 400
}
]
}
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 GET /v1/data-files/connections
Rate limit | Tier 1 (1000 requests per minute) |
Query Parameters GET /v1/data-files/connections
appId optional string | If present, get connections with connection strings that are scoped to the given app ID. |
limit optional, default=20, minimum=1, maximum=1000 integer<int32> | If present, the maximum number of data file connection records to return. |
name optional string | If present, only return connections with the given name. |
page optional string | If present, the cursor that starts the page of data that is returned. |
personal optional boolean | If true, only return the connections that access data in a personal space. Default is false. |
sort optional | 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. |
spaceId optional string | If present, only return the connection that accesses data files in the specified space. |
Responses GET /v1/data-files/connections
200 optional, application/json | Connection list was returned. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
GET/v1/data-files/connections
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/connections" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-files/connections
{
"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": "http://example.com"
},
"prev": {
"href": "http://example.com"
},
"self": {
"href": "http://example.com"
}
}
}
Get the built-in connection used by the engine to load/write data files given a connection ID.
Facts GET /v1/data-files/connections/{id}
Rate limit | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/data-files/connections/{id}
id string<uuid> | The ID of the connection. |
Responses GET /v1/data-files/connections/{id}
200 optional, application/json | The connection was returned. |
403 optional, application/json | The space referenced by the specified connection was not found, or is not accessible to the current user. |
404 optional, application/json | A connection with the specified ID was not found. |
GET/v1/data-files/connections/{id}
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/connections/{id}" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-files/connections/{id}
{
"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 GET /v1/data-files/quotas
Rate limit | Tier 1 (1000 requests per minute) |
Responses GET /v1/data-files/quotas
200 optional, application/json | The quota information was retrieved. |
400 optional, application/json | Bad Request |
403 optional, application/json | Forbidden |
GET/v1/data-files/quotas
curl "https://your-tenant.us.qlikcloud.com/api/v1/data-files/quotas" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/data-files/quotas
{
"size": 5000,
"maxSize": 9223372036854776000,
"maxFileSize": 524288000,
"maxLargeFileSize": 6442450944,
"allowedExtensions": [],
"allowedInternalExtensions": []
}
BatchChangeSpaceItem
objectProperties
id string<uuid> | The ID of the data file whose space will be changed. |
spaceId optional string | The ID of the new space. Passing in a null will result in the data file being moved to the user's personal space. |
BatchDeleteItem
objectProperties
id string<uuid> | The ID of the data file to delete. |
ChangeDataFileOwnerRequest
objectProperties
ownerId string | The ID of the new owner. |
ChangeDataFileSpaceRequest
objectProperties
spaceId optional string | The ID of the space. If null, this data file will be moved to the user's personal space. |
ConnectionsResponse
objectProperties
id string<uuid> | No description |
name string | The name of the connection. |
type string | The type of the connection. |
spaceId optional string | The team space that the given connection is associated with. If null, the connection is not associated with any specific team space. |
connectStatement string | The connect statement that will be passed to the connector when invoked. |
DataFileBatchChangeSpaceRequest
objectSpecifies the list of data file change space operations in a single batch.
Properties
change-space | The list of data files to delete. |
DataFileBatchDeleteRequest
objectSpecifies the list of data files to be deleted in a single batch.
Properties
delete | The list of data files to delete. |
DataFileUploadResponse
objectProperties
id string<uuid> | The ID for the uploaded file. |
name string | The name of the uploaded file. |
size integer<int64> | The size of the uploaded file, in bytes. |
appId optional string | If this file is bound to the lifecycle of a specific app, this is the ID of this app. |
ownerId string | The 'owner' of a file is the user who last uploaded the file's content. |
spaceId optional string | If the file was uploaded to a team space, this is the ID of that space. |
createdDate string<date-time> | The date that the uploaded file was created. |
modifiedDate optional string<date-time> | The date that the updated file was last modified. |
ErrorResponse
objectProperties
errors | No description |
ErrorResponseItem
objectProperties
code string | No description |
title optional string | No description |
detail optional string | No description |
GetConnectionsResponse
objectProperties
data | No description |
links optional | No description |
GetConnectionsSortField
stringEnum:
spaceId
+spaceId
-spaceId
GetDataFileInfosResponse
objectProperties
data | No description |
links optional | No description |
GetDataFileInfosSortField
stringEnum:
name
+name
-name
size
+size
-size
modifiedDate
+modifiedDate
-modifiedDate
LinkResponse
objectProperties
href optional string<uri> | No description |
LinksResponse
objectProperties
next optional | No description |
prev optional | No description |
self optional | No description |
MultiStatusResponse
objectProperties
data | List of individual results for the items in the specified batch. |
MultiStatusResponseItem
objectProperties
id string<uuid> | No description |
code string | No description |
title optional string | No description |
detail optional string | No description |
status integer<int32> | No description |
QuotaResponse
objectProperties
size integer<int64> | 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. |
maxSize integer<int64> | The maximum aggregate size of all files uploaded by a given user. |
maxFileSize integer<int64> | Maximum allowable size of an uploaded file. |
maxLargeFileSize integer<int64> | 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. |
allowedExtensions Array<string> | The allowed file extensions on files that are uploaded. |
allowedInternalExtensions Array<string> | The allowed file extensions for files that are only used internally by the system (and thus not typically shown to end users). |