Extensions

Extensions is a powerful capability in Qlik Sense which allows third-party visualizations and other presentation objects to be used in the Qlik Sense client.

Endpoints

Skip to section
GET/v1/extensions
POST/v1/extensions
GET/v1/extensions/{id}
PATCH/v1/extensions/{id}
DELETE/v1/extensions/{id}
GET/v1/extensions/{id}/file
GET/v1/extensions/{id}/file/{filepath}

Lists all extensions.

extend

Facts GET /v1/extensions

Rate limit
required
Tier 1 (1000 requests per minute)

Responses GET /v1/extensions

200
application/json

OK. Lists all extensions.

GET/v1/extensions

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/extensions

{
  "data": [
    {
      "id": "string",
      "file": {},
      "icon": "string",
      "name": "string",
      "tags": [],
      "type": "string",
      "author": "string",
      "bundle": {
        "id": "string",
        "name": "string",
        "description": "string"
      },
      "userId": "string",
      "bundled": true,
      "license": "string",
      "preview": "string",
      "version": "string",
      "checksum": "string",
      "homepage": "string",
      "keywords": "string",
      "loadpath": "string",
      "supplier": "string",
      "tenantId": "string",
      "updateAt": "2023-11-29T00:09:24.450Z",
      "createdAt": "2023-11-29T00:09:24.450Z",
      "supernova": true,
      "deprecated": "2023-11-29T00:09:24.450Z",
      "repository": "string",
      "description": "string",
      "qextVersion": "string",
      "dependencies": {},
      "qextFilename": "string"
    }
  ]
}

Creates a new extension. If a file is provided, the data field is not required.

extend

Facts POST /v1/extensions

Rate limit
required
Tier 2 (100 requests per minute)

Request Body POST /v1/extensions

data
multipart/form-data

The extension model.

file
multipart/form-data
string<binary>

Extension archive.

Responses POST /v1/extensions

201
application/json

Created. Creates a new extension and returns it.

409
application/json

Conflict. Resource with same unique identity already exists.

415
application/json

Unsupported media type. Body of the payload is not a valid JSON object.

422
application/json

Unprocessable entity. Validation error.

default
application/json

Unexpected error.

POST/v1/extensions

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions" \
 -X POST \
 -H "Authorization: Bearer <API-key>" \
 -H "Content-type: multipart/form-data" \
 -F "file=@/path/to/file" \
 -d '{"id":"string","file":{},"icon":"string","name":"string","tags":[],"type":"string","author":"string","bundle":{"id":"string","name":"string","description":"string"},"userId":"string","bundled":true,"license":"string","preview":"string","version":"string","checksum":"string","homepage":"string","keywords":"string","loadpath":"string","supplier":"string","tenantId":"string","updateAt":"2023-11-29T00:09:24.450Z","createdAt":"2023-11-29T00:09:24.450Z","supernova":true,"deprecated":"2023-11-29T00:09:24.450Z","repository":"string","description":"string","qextVersion":"string","dependencies":{},"qextFilename":"string"}'

Request POST /v1/extensions

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "bundle": {
    "id": "string",
    "name": "string",
    "description": "string"
  },
  "userId": "string",
  "bundled": true,
  "license": "string",
  "preview": "string",
  "version": "string",
  "checksum": "string",
  "homepage": "string",
  "keywords": "string",
  "loadpath": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:24.450Z",
  "createdAt": "2023-11-29T00:09:24.450Z",
  "supernova": true,
  "deprecated": "2023-11-29T00:09:24.450Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Response POST /v1/extensions

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "bundle": {
    "id": "string",
    "name": "string",
    "description": "string"
  },
  "userId": "string",
  "bundled": true,
  "license": "string",
  "preview": "string",
  "version": "string",
  "checksum": "string",
  "homepage": "string",
  "keywords": "string",
  "loadpath": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:24.450Z",
  "createdAt": "2023-11-29T00:09:24.450Z",
  "supernova": true,
  "deprecated": "2023-11-29T00:09:24.450Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Returns a specific extension.

extend

Facts GET /v1/extensions/{id}

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/extensions/{id}

id
required
string

Extension identifier or its qextFilename.

Responses GET /v1/extensions/{id}

200
application/json

OK. Returns extension with {id}.

403
application/json

Forbidden. User is not authorized to read extension with {id}.

404
application/json

Not found. Could not find the extension with {id}.

410
application/json

Gone. Extension with {id} has been deleted.

GET/v1/extensions/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions/{id}" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/extensions/{id}

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "bundle": {
    "id": "string",
    "name": "string",
    "description": "string"
  },
  "userId": "string",
  "bundled": true,
  "license": "string",
  "preview": "string",
  "version": "string",
  "checksum": "string",
  "homepage": "string",
  "keywords": "string",
  "loadpath": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:24.450Z",
  "createdAt": "2023-11-29T00:09:24.450Z",
  "supernova": true,
  "deprecated": "2023-11-29T00:09:24.450Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Updates a specific extension with provided data. If a file is provided, the data field is not required.

extend

Facts PATCH /v1/extensions/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters PATCH /v1/extensions/{id}

id
required
string

Extension identifier or its qextFilename.

Request Body PATCH /v1/extensions/{id}

data
multipart/form-data

The extension model.

file
multipart/form-data
string<binary>

Extension archive.

Responses PATCH /v1/extensions/{id}

200
application/json

OK. Extension has been updated.

403
application/json

Forbidden. User is not authorized to update extension with {id}.

404
application/json

Not found. Could not find the extension with {id}.

409
application/json

Conflict. Resource with same unique identity already exists.

415
application/json

Unsupported media type. Body of the payload is not a valid JSON object.

422
application/json

Unprocessable entity. Validation error.

default
application/json

Unexpected error.

PATCH/v1/extensions/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions/{id}" \
 -X PATCH \
 -H "Authorization: Bearer <API-key>" \
 -H "Content-type: multipart/form-data" \
 -F "file=@/path/to/file" \
 -d '{"id":"string","file":{},"icon":"string","name":"string","tags":[],"type":"string","author":"string","bundle":{"id":"string","name":"string","description":"string"},"userId":"string","bundled":true,"license":"string","preview":"string","version":"string","checksum":"string","homepage":"string","keywords":"string","loadpath":"string","supplier":"string","tenantId":"string","updateAt":"2023-11-29T00:09:24.450Z","createdAt":"2023-11-29T00:09:24.450Z","supernova":true,"deprecated":"2023-11-29T00:09:24.450Z","repository":"string","description":"string","qextVersion":"string","dependencies":{},"qextFilename":"string"}'

Request PATCH /v1/extensions/{id}

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "bundle": {
    "id": "string",
    "name": "string",
    "description": "string"
  },
  "userId": "string",
  "bundled": true,
  "license": "string",
  "preview": "string",
  "version": "string",
  "checksum": "string",
  "homepage": "string",
  "keywords": "string",
  "loadpath": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:24.450Z",
  "createdAt": "2023-11-29T00:09:24.450Z",
  "supernova": true,
  "deprecated": "2023-11-29T00:09:24.450Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Response PATCH /v1/extensions/{id}

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "bundle": {
    "id": "string",
    "name": "string",
    "description": "string"
  },
  "userId": "string",
  "bundled": true,
  "license": "string",
  "preview": "string",
  "version": "string",
  "checksum": "string",
  "homepage": "string",
  "keywords": "string",
  "loadpath": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:24.451Z",
  "createdAt": "2023-11-29T00:09:24.451Z",
  "supernova": true,
  "deprecated": "2023-11-29T00:09:24.451Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Deletes a specific extension.

extend

Facts DELETE /v1/extensions/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters DELETE /v1/extensions/{id}

id
required
string

Extension identifier or its qextFilename.

Responses DELETE /v1/extensions/{id}

204
object

No content. Soft deletes the extension.

403
application/json

Forbidden. User is not authorized to delete extension with {id}.

404
application/json

Not found. Could not find the extension with {id}.

410
application/json

Gone. Extension with {id} has been deleted.

DELETE/v1/extensions/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions/{id}" \
 -X DELETE \
 -H "Authorization: Bearer <API-key>"

Downloads the extension as an archive.

extend

Facts GET /v1/extensions/{id}/file

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/extensions/{id}/file

id
required
string

Extension identifier or its qextFilename.

Responses GET /v1/extensions/{id}/file

200
object

OK. Extension exists. Returns the extension archive.

403
application/json

Forbidden. User is not authorized to read extension with {id}.

404
application/json

Not found. Could not find the extension with {id}.

410
application/json

Gone. Extension with {id} has been deleted.

GET/v1/extensions/{id}/file

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions/{id}/file" \
 -H "Authorization: Bearer <API-key>"

Downloads a file from the extension archive.

extend

Facts GET /v1/extensions/{id}/file/{filepath}

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/extensions/{id}/file/{filepath}

filepath
required
string

Path to the file archive for the specified extension archive. Folders separated with forward slashes.

id
required
string

Extension identifier or its qextFilename.

Responses GET /v1/extensions/{id}/file/{filepath}

200
object

OK. Extension exists and the file specified exists. Returns the specific file.

403
application/json

Forbidden. User is not authorized to read extension with {id}.

404
application/json

Not found. Could not find the extension with {id} or the file does not exist in the archive.

410
application/json

Gone. Extension with {id} has been deleted.

GET/v1/extensions/{id}/file/{filepath}

curl "https://your-tenant.us.qlikcloud.com/api/v1/extensions/{id}/file/{filepath}" \
 -H "Authorization: Bearer <API-key>"

bundleMeta

Object containing meta data regarding the bundle the extension belongs to. If it does not belong to a bundle, this object is not defined.

Properties

id
string

Unique identifier of the bundle.

name
string

Name of the bundle.

description
string

Description of the bundle.

error

An error object.

Properties

meta

Object containing meta data regarding an error. It does not necessarily contain all the properties.

title
required
string

Title of the HTTP status code.

source
object

Optional JSON patch object pointing to an invalid property.

status
number

The HTTP status code.

extension

object

The extension model.

Properties

id
string

No description

file
object

The file that was uploaded with the extension.

icon
string

Icon to show in the client.

name
string

The display name of this extension.

tags
Array<string>

List of tags.

type
string

The type of this extension (visualization, etc.).

author
PII data
string

Author of the extension.

bundle

Object containing meta data regarding the bundle the extension belongs to. If it does not belong to a bundle, this object is not defined.

userId
string

No description

bundled
boolean

If the extension is part of an extension bundle.

license
string

Under which license this extension is published.

preview
string

Path to an image that enables users to preview the extension.

version
string

Version of the extension.

checksum
string

Checksum of the extension contents.

homepage
string

Home page of the extension.

keywords
string

Keywords for the extension.

loadpath
string

Relative path to the extension's entry file, defaults to filename from the qext file.

supplier
string

Supplier of the extension.

tenantId
string

No description

updateAt
string<date>

No description

createdAt
string<date>

No description

supernova
boolean

If the extension is a supernova extension or not.

deprecated
string<date>

A date noting when the extension was deprecated.

repository
string

Link to the extension source code.

description
string

Description of the extension.

qextVersion
string

The version from the qext file that was uploaded with this extension.

dependencies
object

Map of dependencies describing version of the component it requires.

qextFilename
string

The name of the qext file that was uploaded with this extension.

extensions

object

Properties

data
required

No description

meta

Object containing meta data regarding an error. It does not necessarily contain all the properties.

Properties

stack
string

Full stack trace of the error that was raised.

message
string

A more detailed message explaining the error.

resourceName
string

Name of the resource related to the error. If there is a conflict, it is the name of the model attempting to be created.

v0.879.8
Was this page helpful?