{ "info": { "title": "tenant-settings", "version": "" }, "paths": { "/api/v1/tenant-settings": { "get": { "tags": [ "tenant-settings" ], "summary": "Get tenant settings", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsDefinition" } } }, "description": "Tenant settings retrieval was successful." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "Retrieves tenant settings associated with the tenant ID specified in JWT. This is access controlled by the permission admin.tenant-settings:read.", "operationId": "getTenantSettings", "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "post": { "tags": [ "tenant-settings" ], "summary": "Create tenant settings", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsDefinition" } } }, "description": "The tenant settings have been successfully created." }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "$ref": "#/components/responses/Unauthorized" }, "403": { "$ref": "#/components/responses/Forbidden" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "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.", "operationId": "createTenantSettings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsCreateDefinition" } } }, "required": true }, "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "patch": { "tags": [ "tenant-settings" ], "summary": "Update tenant settings", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsDefinition" } } }, "description": "The tenant settings have been successfully updated." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Tenant settings for this tenant do not exist." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "Updates existing tenant settings. This is access controlled by the permission admin.tenant-settings:update.", "operationId": "updateTenantSettings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchRequest" } } }, "required": true }, "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "delete": { "tags": [ "tenant-settings" ], "summary": "Delete tenant settings", "responses": { "204": { "description": "The tenant settings have been successfully deleted." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Tenant settings for tenant ID do not exist." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "Deletes the tenant settings associated with the tenant ID specified in JWT. This is access controlled by the permission admin.tenant-settings:delete.", "operationId": "deleteTenantSettings", "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/tenant-settings/actions/toggle-cross-region-data-processing": { "post": { "tags": [ "tenant-settings" ], "summary": "Toggle cross-region data processing", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsDefinition" } } }, "description": "The cross region inference setting has been successfully updated." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request. The request is incorrect." }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized. The user is not authorized to access the service." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden. You don't have sufficient permissions to access this resource." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "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`.\nWhen 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.\n", "operationId": "toggleCrossRegionalDataProcessing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetCrossRegionDataProcessing" } } }, "required": true }, "x-qlik-stability": "stable", "x-qlik-deprecated": true, "x-qlik-visibility": "public", "x-qlik-deprecated-sunset": "2026-05", "x-qlik-deprecated-version": "2026-05", "x-qlik-deprecated-description": "Use `/tenant-settings/actions/toggle-cross-region-inference` instead. This endpoint uses outdated terminology.", "x-qlik-replaced-by": [ { "namespace": "", "uniqueIdentifier": "POST:/v1/tenant-settings/actions/toggle-cross-region-inference" } ], "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/tenant-settings/actions/toggle-cross-region-inference": { "post": { "tags": [ "tenant-settings" ], "summary": "Toggle cross-region inference", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSettingsDefinition" } } }, "description": "The cross region inference setting has been successfully updated." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request. The request is incorrect." }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized. The user is not authorized to access the service." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden. You don't have sufficient permissions to access this resource." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "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`.\nWhen 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.\n", "operationId": "toggleCrossRegionInference", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetCrossRegionDataProcessing" } } }, "required": true }, "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-replaces": [ { "namespace": "", "uniqueIdentifier": "POST:/v1/tenant-settings/actions/toggle-cross-region-data-processing" } ], "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/tenant-settings/start-pages": { "get": { "tags": [ "tenant-settings" ], "summary": "Get start pages", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantStartPagesResponse" } } }, "description": "Tenant settings start pages retrieval was successful." }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Error response." } }, "description": "Retrieves start pages for the tenant settings.", "operationId": "getTenantSettingsStartPages", "x-qlik-stability": "stable", "x-qlik-visibility": "public", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } } } }, "openapi": "3.0.0", "components": { "responses": { "BadRequest": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse400" } } }, "description": "Bad Request" }, "Forbidden": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse403" } } }, "description": "Forbidden" }, "InternalServerError": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse500" } } }, "description": "Internal Server Error" }, "Unauthorized": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse401" } } }, "description": "Unauthorized" } }, "schemas": { "CustomizeNoAccess": { "type": "object", "required": [ "linkEnabled" ], "properties": { "linkUrl": { "type": "string", "format": "uri" }, "message": { "type": "string" }, "linkLabel": { "type": "string" }, "linkEnabled": { "type": "boolean" } } }, "Error": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "integer", "readOnly": true, "description": "Error code." }, "title": { "type": "string", "readOnly": true, "description": "Error cause." } } } } } }, "ErrorResponse400": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "example": "HTTP-400" }, "title": { "type": "string", "example": "Bad request" }, "detail": { "type": "string", "example": "The request is incorrect." }, "status": { "type": "integer", "example": 400 } } } }, "traceId": { "type": "string" } } }, "ErrorResponse401": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "example": "HTTP-401" }, "title": { "type": "string", "example": "Unauthorized" }, "detail": { "type": "string", "example": "The user is not authorized to access the service." }, "status": { "type": "integer", "example": 401 } } } }, "traceId": { "type": "string" } } }, "ErrorResponse403": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "example": "HTTP-403" }, "title": { "type": "string", "example": "Forbidden" }, "detail": { "type": "string", "example": "You don't have sufficient permissions to access this resource." }, "status": { "type": "integer", "example": 403 } } } }, "traceId": { "type": "string" } } }, "ErrorResponse500": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "example": "HTTP-500" }, "title": { "type": "string", "example": "Internal Server Error" }, "detail": { "type": "string", "example": "Something went wrong in the server." }, "status": { "type": "integer", "example": 500 } } } }, "traceId": { "type": "string" } } }, "JSONPatchRequestAddReplaceTest": { "type": "object", "required": [ "value", "op", "path" ], "properties": { "op": { "enum": [ "add", "replace", "test" ], "type": "string", "description": "The operation to perform." }, "path": { "type": "string", "description": "A JSON Pointer path." }, "value": { "description": "The value to add, replace or test." } }, "additionalProperties": false }, "JSONPatchRequestMoveCopy": { "type": "object", "required": [ "from", "op", "path" ], "properties": { "op": { "enum": [ "move", "copy" ], "type": "string", "description": "The operation to perform." }, "from": { "type": "string", "description": "A JSON Pointer path." }, "path": { "type": "string", "description": "A JSON Pointer path." } }, "additionalProperties": false }, "JSONPatchRequestRemove": { "type": "object", "required": [ "op", "path" ], "properties": { "op": { "enum": [ "remove" ], "type": "string", "description": "The operation to perform." }, "path": { "type": "string", "description": "A JSON Pointer path." } }, "additionalProperties": false }, "PatchRequest": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/JSONPatchRequestAddReplaceTest" }, { "$ref": "#/components/schemas/JSONPatchRequestRemove" }, { "$ref": "#/components/schemas/JSONPatchRequestMoveCopy" } ] } }, "ReleaseCadenceConfig": { "enum": [ "monthly", "continuous" ], "type": "string", "description": "Set the release cadence" }, "SetCrossRegionDataProcessing": { "type": "object", "required": [ "value" ], "properties": { "value": { "$ref": "#/components/schemas/SetCrossRegionDataProcessingConfig" } }, "description": "Set to true to enable cross-region inference, false to disable. Defaults to false." }, "SetCrossRegionDataProcessingConfig": { "type": "boolean", "description": "Set to true to enable cross-region inference, false to disable." }, "StartPage": { "enum": [ "analytics-hub", "data-integration-hub", "management-console", "analytics-creation-hub" ], "type": "string" }, "StartPageConfigConsole": { "type": "object", "properties": { "route": { "enum": [ "/console" ], "type": "string" }, "value": { "enum": [ "management-console" ], "type": "string" } } }, "StartPageConfigCreationHub": { "type": "object", "properties": { "route": { "enum": [ "/analytics" ], "type": "string" }, "value": { "enum": [ "analytics-creation-hub" ], "type": "string" } } }, "StartPageConfigHub": { "type": "object", "properties": { "route": { "enum": [ "/insights" ], "type": "string" }, "value": { "enum": [ "analytics-hub" ], "type": "string" } } }, "StartPageConfigQdi": { "type": "object", "properties": { "route": { "enum": [ "/qdi" ], "type": "string" }, "value": { "enum": [ "data-integration-hub" ], "type": "string" } } }, "TenantSettingsCreateDefinition": { "type": "object", "properties": { "customizeNoAccess": { "$ref": "#/components/schemas/CustomizeNoAccess" }, "preferredStartPage": { "$ref": "#/components/schemas/StartPage" } }, "description": "Create a new tenant settings entry for the tenant ID specified in the JWT. At least one of preferredStartPage or customizeNoAccess must be provided." }, "TenantSettingsDefinition": { "type": "object", "required": [ "id", "tenantId", "createdBy", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string", "format": "uid", "readOnly": true }, "tenantId": { "type": "string", "format": "uid", "readOnly": true }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z", "readOnly": true }, "createdBy": { "type": "string", "description": "userId of the user who created the settings" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z", "readOnly": true }, "updatedBy": { "type": "string", "description": "userId of the user who last modified the settings" }, "releaseCadence": { "$ref": "#/components/schemas/ReleaseCadenceConfig" }, "customizeNoAccess": { "$ref": "#/components/schemas/CustomizeNoAccess" }, "preferredStartPage": { "oneOf": [ { "$ref": "#/components/schemas/StartPageConfigHub" }, { "$ref": "#/components/schemas/StartPageConfigCreationHub" }, { "$ref": "#/components/schemas/StartPageConfigQdi" }, { "$ref": "#/components/schemas/StartPageConfigConsole" } ] }, "sessionReplayOptOut": { "type": "boolean", "description": "Tenant-wide preference for opting out of session replay. When set, this value overrides individual user preferences. EU regions default to true (opted out) if this is not explicitly configured." }, "crossRegionDataProcessing": { "$ref": "#/components/schemas/SetCrossRegionDataProcessingConfig" } } }, "TenantStartPagesResponse": { "type": "object", "required": [ "defaultValue", "values" ], "properties": { "values": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StartPageConfigHub" }, { "$ref": "#/components/schemas/StartPageConfigCreationHub" }, { "$ref": "#/components/schemas/StartPageConfigQdi" } ] } }, "defaultValue": { "enum": [ "analytics-hub" ], "type": "string" } } } } }, "servers": [ { "url": "https://{tenant}.{region}.qlikcloud.com", "variables": { "region": { "default": "us", "description": "The region the tenant is hosted in" }, "tenant": { "default": "your-tenant", "description": "Name of the tenant that will be called" } } } ] }