Tenant settings
The Tenant Settings API provides access to tenant-wide configuration options for security policies, user interface customization, and operational preferences that affect all users in your tenant.
Endpoints
Retrieves tenant settings associated with the tenant ID specified in JWT. This is access controlled by the permission admin.tenant-settings:read.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Responses
200
Tenant settings retrieval was successful.
- application/jsonobject
application/json properties
- idstringRequired
- tenantIdstringRequired
- createdAtstringRequired
- createdBystringRequired
userId of the user who created the settings
- updatedAtstringRequired
- updatedBystring
userId of the user who last modified the settings
- releaseCadencestring
Set the release cadence
Can be one of: "monthly""continuous"
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPageobjectOne of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
- StartPageConfigConsoleobject
StartPageConfigConsole properties
- routestring
Can be one of: "/console"
- valuestring
Can be one of: "management-console"
-
-
- crossRegionDataProcessingboolean
Set to true to enable cross-region inference, false to disable.
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `GET /api/v1/tenant-settings` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings', { method: 'GET', headers: { 'Content-Type': 'application/json', }, },)qlik tenant-settings lscurl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings" \-H "Authorization: Bearer <access_token>"Example Response
{ "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "createdAt": "2024-01-01T00:00:00.000Z", "createdBy": "string", "updatedAt": "2024-01-01T00:00:00.000Z", "updatedBy": "string", "releaseCadence": "monthly", "customizeNoAccess": { "linkUrl": "string", "message": "string", "linkLabel": "string", "linkEnabled": true }, "preferredStartPage": { "route": "/insights", "value": "analytics-hub" }, "crossRegionDataProcessing": true}Creates a new tenant settings entry for the tenant ID specified in the JWT. This is access controlled by the permission admin.tenant-settings:create.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Request Body
Required- application/jsonobject
Create a new tenant settings entry for the tenant ID specified in the JWT. At least one of preferredStartPage or customizeNoAccess must be provided.
application/json properties
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPagestring
Can be one of: "analytics-hub""data-integration-hub""management-console"
-
Responses
201
The tenant settings have been successfully created.
- application/jsonobject
application/json properties
- idstringRequired
- tenantIdstringRequired
- createdAtstringRequired
- createdBystringRequired
userId of the user who created the settings
- updatedAtstringRequired
- updatedBystring
userId of the user who last modified the settings
- releaseCadencestring
Set the release cadence
Can be one of: "monthly""continuous"
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPageobjectOne of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
- StartPageConfigConsoleobject
StartPageConfigConsole properties
- routestring
Can be one of: "/console"
- valuestring
Can be one of: "management-console"
-
-
- crossRegionDataProcessingboolean
Set to true to enable cross-region inference, false to disable.
-
400
Bad Request
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- statusinteger
-
- traceIdstring
-
401
Unauthorized
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- statusinteger
-
- traceIdstring
-
403
Forbidden
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- statusinteger
-
- traceIdstring
-
500
Internal Server Error
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codestring
- titlestring
- detailstring
- statusinteger
-
- traceIdstring
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `POST /api/v1/tenant-settings` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ customizeNoAccess: { linkUrl: 'string', message: 'string', linkLabel: 'string', linkEnabled: true, }, preferredStartPage: 'analytics-hub', }), },)qlik tenant-settings create \ --customizeNoAccess-linkEnabled truecurl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings" \-X POST \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '{"customizeNoAccess":{"linkUrl":"string","message":"string","linkLabel":"string","linkEnabled":true},"preferredStartPage":"analytics-hub"}'Example Response
{ "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "createdAt": "2024-01-01T00:00:00.000Z", "createdBy": "string", "updatedAt": "2024-01-01T00:00:00.000Z", "updatedBy": "string", "releaseCadence": "monthly", "customizeNoAccess": { "linkUrl": "string", "message": "string", "linkLabel": "string", "linkEnabled": true }, "preferredStartPage": { "route": "/insights", "value": "analytics-hub" }, "crossRegionDataProcessing": true}Updates existing tenant settings. This is access controlled by the permission admin.tenant-settings:update.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Request Body
Required- application/jsonarray of objectsOne of:
- JSONPatchRequestAddReplaceTestobject
JSONPatchRequestAddReplaceTest properties
- opstringRequired
The operation to perform.
Can be one of: "add""replace""test"
- pathstringRequired
A JSON Pointer path.
- valueanyRequired
The value to add, replace or test.
-
- JSONPatchRequestRemoveobject
JSONPatchRequestRemove properties
- opstringRequired
The operation to perform.
Can be one of: "remove"
- pathstringRequired
A JSON Pointer path.
-
- JSONPatchRequestMoveCopyobject
JSONPatchRequestMoveCopy properties
- opstringRequired
The operation to perform.
Can be one of: "move""copy"
- fromstringRequired
A JSON Pointer path.
- pathstringRequired
A JSON Pointer path.
-
-
Responses
200
The tenant settings have been successfully updated.
- application/jsonobject
application/json properties
- idstringRequired
- tenantIdstringRequired
- createdAtstringRequired
- createdBystringRequired
userId of the user who created the settings
- updatedAtstringRequired
- updatedBystring
userId of the user who last modified the settings
- releaseCadencestring
Set the release cadence
Can be one of: "monthly""continuous"
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPageobjectOne of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
- StartPageConfigConsoleobject
StartPageConfigConsole properties
- routestring
Can be one of: "/console"
- valuestring
Can be one of: "management-console"
-
-
- crossRegionDataProcessingboolean
Set to true to enable cross-region inference, false to disable.
-
404
Tenant settings for this tenant do not exist.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `PATCH /api/v1/tenant-settings` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings', { method: 'PATCH', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify([ { op: 'add', path: 'string' }, ]), },)qlik tenant-settings patch \ --value \ --from ''curl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings" \-X PATCH \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '[{"op":"add","path":"string"}]'Example Response
{ "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "createdAt": "2024-01-01T00:00:00.000Z", "createdBy": "string", "updatedAt": "2024-01-01T00:00:00.000Z", "updatedBy": "string", "releaseCadence": "monthly", "customizeNoAccess": { "linkUrl": "string", "message": "string", "linkLabel": "string", "linkEnabled": true }, "preferredStartPage": { "route": "/insights", "value": "analytics-hub" }, "crossRegionDataProcessing": true}Deletes the tenant settings associated with the tenant ID specified in JWT. This is access controlled by the permission admin.tenant-settings:delete.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Responses
204
The tenant settings have been successfully deleted.
404
Tenant settings for tenant ID do not exist.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `DELETE /api/v1/tenant-settings` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings', { method: 'DELETE', headers: { 'Content-Type': 'application/json', }, },)qlik tenant-settings delete-manycurl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings" \-X DELETE \-H "Authorization: Bearer <access_token>"For new integrations, and when updating your existing integrations, use:
-
POST v1/tenant-settings/actions/toggle-cross-region-inference
Sets the cross region inference setting for the tenant. Creates tenant settings if none exist, or updates existing settings. This is access controlled by the permission admin.tenant-settings:update.
When cross-region processing is required, you must include an additional header x-qlik-consent-verified: true in your API requests to confirm that you have the authority to enable this feature and accept the associated terms.
Facts
| Rate limit | Tier 2 (100 requests per minute) | |
| Deprecated | This endpoint is deprecated and will eventually be removed. Read our API policy here. | |
| Deprecated sunset | 2026-05 | |
| Deprecated description | Use `/tenant-settings/actions/toggle-cross-region-inference` instead. This endpoint uses outdated terminology. | |
| Replaced by |
Request Body
Required- application/jsonobject
Set to true to enable cross-region inference, false to disable. Defaults to false.
application/json properties
- valuebooleanRequired
Set to true to enable cross-region inference, false to disable.
-
Responses
200
The cross region inference setting has been successfully updated.
- application/jsonobject
application/json properties
- idstringRequired
- tenantIdstringRequired
- createdAtstringRequired
- createdBystringRequired
userId of the user who created the settings
- updatedAtstringRequired
- updatedBystring
userId of the user who last modified the settings
- releaseCadencestring
Set the release cadence
Can be one of: "monthly""continuous"
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPageobjectOne of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
- StartPageConfigConsoleobject
StartPageConfigConsole properties
- routestring
Can be one of: "/console"
- valuestring
Can be one of: "management-console"
-
-
- crossRegionDataProcessingboolean
Set to true to enable cross-region inference, false to disable.
-
400
Bad Request. The request is incorrect.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
401
Unauthorized. The user is not authorized to access the service.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
403
Forbidden. You don't have sufficient permissions to access this resource.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `POST /api/v1/tenant-settings/actions/toggle-cross-region-data-processing` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings/actions/toggle-cross-region-data-processing', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ value: true }), },)# qlik-cli has not implemented support for POST /api/v1/tenant-settings/actions/toggle-cross-region-data-processing yet.curl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings/actions/toggle-cross-region-data-processing" \-X POST \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '{"value":true}'Example Response
{ "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "createdAt": "2024-01-01T00:00:00.000Z", "createdBy": "string", "updatedAt": "2024-01-01T00:00:00.000Z", "updatedBy": "string", "releaseCadence": "monthly", "customizeNoAccess": { "linkUrl": "string", "message": "string", "linkLabel": "string", "linkEnabled": true }, "preferredStartPage": { "route": "/insights", "value": "analytics-hub" }, "crossRegionDataProcessing": true}Sets the cross-region inference setting for the tenant. Creates tenant settings if none exist, or updates existing settings. This is access controlled by the permission admin.tenant-settings:update.
When cross-region inference is required, you must include an additional header x-qlik-consent-verified: true in your API requests to confirm that you have the authority to enable this feature and accept the associated terms.
Facts
| Rate limit | Tier 2 (100 requests per minute) | |
| Replaces |
Request Body
Required- application/jsonobject
Set to true to enable cross-region inference, false to disable. Defaults to false.
application/json properties
- valuebooleanRequired
Set to true to enable cross-region inference, false to disable.
-
Responses
200
The cross region inference setting has been successfully updated.
- application/jsonobject
application/json properties
- idstringRequired
- tenantIdstringRequired
- createdAtstringRequired
- createdBystringRequired
userId of the user who created the settings
- updatedAtstringRequired
- updatedBystring
userId of the user who last modified the settings
- releaseCadencestring
Set the release cadence
Can be one of: "monthly""continuous"
- customizeNoAccessobject
customizeNoAccess properties
- linkUrlstring
- messagestring
- linkLabelstring
- linkEnabledbooleanRequired
-
- preferredStartPageobjectOne of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
- StartPageConfigConsoleobject
StartPageConfigConsole properties
- routestring
Can be one of: "/console"
- valuestring
Can be one of: "management-console"
-
-
- crossRegionDataProcessingboolean
Set to true to enable cross-region inference, false to disable.
-
400
Bad Request. The request is incorrect.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
401
Unauthorized. The user is not authorized to access the service.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
403
Forbidden. You don't have sufficient permissions to access this resource.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `POST /api/v1/tenant-settings/actions/toggle-cross-region-inference` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings/actions/toggle-cross-region-inference', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ value: true }), },)qlik tenant-settings toggle-cross-region-inference \ --value truecurl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings/actions/toggle-cross-region-inference" \-X POST \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '{"value":true}'Example Response
{ "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69", "createdAt": "2024-01-01T00:00:00.000Z", "createdBy": "string", "updatedAt": "2024-01-01T00:00:00.000Z", "updatedBy": "string", "releaseCadence": "monthly", "customizeNoAccess": { "linkUrl": "string", "message": "string", "linkLabel": "string", "linkEnabled": true }, "preferredStartPage": { "route": "/insights", "value": "analytics-hub" }, "crossRegionDataProcessing": true}Retrieves start pages for the tenant settings.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Responses
200
Tenant settings start pages retrieval was successful.
- application/jsonobject
application/json properties
- valuesarray of objectsRequiredAny of:
- StartPageConfigHubobject
StartPageConfigHub properties
- routestring
Can be one of: "/insights"
- valuestring
Can be one of: "analytics-hub"
-
- StartPageConfigCreationHubobject
StartPageConfigCreationHub properties
- routestring
Can be one of: "/analytics"
- valuestring
Can be one of: "analytics-creation-hub"
-
- StartPageConfigQdiobject
StartPageConfigQdi properties
- routestring
Can be one of: "/qdi"
- valuestring
Can be one of: "data-integration-hub"
-
-
- defaultValuestringRequired
Can be one of: "analytics-hub"
-
default
Error response.
- application/jsonobject
application/json properties
- errorsarray of objects
errors properties
- codeinteger
Error code.
- titlestring
Error cause.
-
-
// qlik-api has not implemented support for `GET /api/v1/tenant-settings/start-pages` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/v1/tenant-settings/start-pages', { method: 'GET', headers: { 'Content-Type': 'application/json', }, },)qlik tenant-settings start-page lscurl "https://{tenant}.{region}.qlikcloud.com/api/v1/tenant-settings/start-pages" \-H "Authorization: Bearer <access_token>"Example Response
{ "values": [ { "route": "/insights", "value": "analytics-hub" } ], "defaultValue": "analytics-hub"}