Themes

Themes enable you to customize/style the Qlik Sense client experience.

Endpoints

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

Lists all themes.

extend

Facts GET /v1/themes

Rate limit
required
Tier 1 (1000 requests per minute)

Responses GET /v1/themes

200
application/json

OK. Lists all themes.

GET/v1/themes

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

Response GET /v1/themes

{
  "data": [
    {
      "id": "string",
      "file": {},
      "icon": "string",
      "name": "string",
      "tags": [],
      "type": "string",
      "author": "string",
      "userId": "string",
      "license": "string",
      "version": "string",
      "homepage": "string",
      "keywords": "string",
      "supplier": "string",
      "tenantId": "string",
      "updateAt": "2023-11-29T00:09:33.796Z",
      "createdAt": "2023-11-29T00:09:33.796Z",
      "repository": "string",
      "description": "string",
      "qextVersion": "string",
      "dependencies": {},
      "qextFilename": "string"
    }
  ]
}

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

extend

Facts POST /v1/themes

Rate limit
required
Tier 2 (100 requests per minute)

Request Body POST /v1/themes

data
multipart/form-data

The theme model.

file
multipart/form-data
string<binary>

Theme archive.

Responses POST /v1/themes

201
application/json

Created. Creates a new theme 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/themes

curl "https://your-tenant.us.qlikcloud.com/api/v1/themes" \
 -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","userId":"string","license":"string","version":"string","homepage":"string","keywords":"string","supplier":"string","tenantId":"string","updateAt":"2023-11-29T00:09:33.796Z","createdAt":"2023-11-29T00:09:33.796Z","repository":"string","description":"string","qextVersion":"string","dependencies":{},"qextFilename":"string"}'

Request POST /v1/themes

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "userId": "string",
  "license": "string",
  "version": "string",
  "homepage": "string",
  "keywords": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:33.796Z",
  "createdAt": "2023-11-29T00:09:33.796Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Response POST /v1/themes

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "userId": "string",
  "license": "string",
  "version": "string",
  "homepage": "string",
  "keywords": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:33.796Z",
  "createdAt": "2023-11-29T00:09:33.796Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Returns a specific theme.

extend

Facts GET /v1/themes/{id}

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/themes/{id}

id
required
string

Theme identifier or its qextFilename

Responses GET /v1/themes/{id}

200
application/json

OK. Returns theme with {id}.

403
application/json

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

404
application/json

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

410
application/json

Gone. Theme with {id} has been deleted.

GET/v1/themes/{id}

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

Response GET /v1/themes/{id}

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "userId": "string",
  "license": "string",
  "version": "string",
  "homepage": "string",
  "keywords": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:33.797Z",
  "createdAt": "2023-11-29T00:09:33.797Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

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

extend

Facts PATCH /v1/themes/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters PATCH /v1/themes/{id}

id
required
string

Theme identifier or its qextFilename.

Request Body PATCH /v1/themes/{id}

data
multipart/form-data

The theme model.

file
multipart/form-data
string<binary>

Theme archive.

Responses PATCH /v1/themes/{id}

200
application/json

OK. Theme has been updated.

403
application/json

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

404
application/json

Not found. Could not find the theme 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/themes/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/themes/{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","userId":"string","license":"string","version":"string","homepage":"string","keywords":"string","supplier":"string","tenantId":"string","updateAt":"2023-11-29T00:09:33.797Z","createdAt":"2023-11-29T00:09:33.797Z","repository":"string","description":"string","qextVersion":"string","dependencies":{},"qextFilename":"string"}'

Request PATCH /v1/themes/{id}

{
  "id": "string",
  "file": {},
  "icon": "string",
  "name": "string",
  "tags": [],
  "type": "string",
  "author": "string",
  "userId": "string",
  "license": "string",
  "version": "string",
  "homepage": "string",
  "keywords": "string",
  "supplier": "string",
  "tenantId": "string",
  "updateAt": "2023-11-29T00:09:33.797Z",
  "createdAt": "2023-11-29T00:09:33.797Z",
  "repository": "string",
  "description": "string",
  "qextVersion": "string",
  "dependencies": {},
  "qextFilename": "string"
}

Response PATCH /v1/themes/{id}

{
  "data": [
    {
      "id": "string",
      "file": {},
      "icon": "string",
      "name": "string",
      "tags": [],
      "type": "string",
      "author": "string",
      "userId": "string",
      "license": "string",
      "version": "string",
      "homepage": "string",
      "keywords": "string",
      "supplier": "string",
      "tenantId": "string",
      "updateAt": "2023-11-29T00:09:33.797Z",
      "createdAt": "2023-11-29T00:09:33.797Z",
      "repository": "string",
      "description": "string",
      "qextVersion": "string",
      "dependencies": {},
      "qextFilename": "string"
    }
  ]
}

Deletes a specific theme.

extend

Facts DELETE /v1/themes/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters DELETE /v1/themes/{id}

id
required
string

Theme identifier or its qextFilename.

Responses DELETE /v1/themes/{id}

204
object

No content. Soft deletes the theme.

403
application/json

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

404
application/json

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

410
application/json

Gone. Theme with {id} has been deleted.

DELETE/v1/themes/{id}

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

Downloads the theme as an archive.

extend

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

Rate limit
required
Tier 1 (1000 requests per minute)

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

id
required
string

Theme identifier or its qextFilename

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

200
object

OK. Theme exists. Returns the theme archive.

403
application/json

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

404
application/json

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

410
application/json

Gone. Theme with {id} has been deleted.

GET/v1/themes/{id}/file

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

Downloads a file from the theme archive.

extend

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

Rate limit
required
Tier 1 (1000 requests per minute)

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

filepath
required
string

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

id
required
string

Theme identifier or its qextFilename.

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

200
object

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

403
application/json

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

404
application/json

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

410
application/json

Gone. Theme with {id} has been deleted.

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

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

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.

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.

theme

object

The theme model.

Properties

id
string

No description

file
object

The file that was uploaded with the theme.

icon
string

Icon to show in the client.

name
string

The display name of this theme.

tags
Array<string>

List of tags.

type
string

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

author
PII data
string

Author of the theme.

userId
string

No description

license
string

Under which license this theme is published.

version
string

Version of the theme.

homepage
string

Home page of the theme.

keywords
string

Keywords for the theme.

supplier
string

Supplier of the theme.

tenantId
string

No description

updateAt
string<date>

No description

createdAt
string<date>

No description

repository
string

Link to the theme source code.

description
string

Description of the theme.

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

themes

object

Properties

data
required

No description

v0.879.8
Was this page helpful?