Qlik Sense Tenant Settings API

The tenant-settings API from Qlik Sense — 4 operation(s) for tenant-settings.

Business capability
Tenant Configuration Management BC-4230.20

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/tenant-settings Get the tenant's settings · Get tenant settings #
Ask an LLM
“What settings are currently saved for my Qlik Cloud tenant?”
“Which permission do I need to read tenant settings?”
Tell an agent
Show my tenant settings.
Get the settings entry for this tenant.
POST /api/v1/tenant-settings Create the tenant settings entry · Create tenant settings #
Ask an LLM
“How do I set a preferred start page when the tenant has no settings yet?”
“Can I configure what users see when they have no access while creating tenant settings?”
Tell an agent
Create tenant settings with preferred start page {preferredStartPage}.
Create the tenant settings entry with no-access customization {customizeNoAccess}.
PATCH /api/v1/tenant-settings Update existing tenant settings · Update tenant settings #
Ask an LLM
“Can I change the tenant's existing settings without recreating them?”
“Is there a separate permission for updating tenant settings?”
Tell an agent
Update the existing tenant settings.
Change the preferred start page in the saved tenant settings.
DELETE /api/v1/tenant-settings Delete the tenant settings · Delete tenant settings #
Ask an LLM
“How do I remove all saved tenant settings?”
“Which permission lets me delete the tenant settings entry?”
Tell an agent destructive · confirm first
Delete this tenant's settings.
Remove the saved tenant settings entry entirely.
POST /api/v1/tenant-settings/actions/toggle-cross-region-data-processing Turn cross-region data processing on or off · Toggle cross-region data processing #
Ask an LLM
“Can I allow my tenant's data to be processed in another region?”
“What consent header must I send to enable cross-region data processing?”
Tell an agent
Set cross-region data processing for the tenant to {value}.
Allow cross-region data processing for this tenant: {value}.
POST /api/v1/tenant-settings/actions/toggle-cross-region-inference Turn cross-region AI inference on or off · Toggle cross-region inference #
Ask an LLM
“How do I let my tenant run AI inference in another region?”
“Does toggling cross-region inference create tenant settings if none exist?”
Tell an agent
Set cross-region inference for the tenant to {value}.
Allow AI inference to run in another region for this tenant: {value}.
GET /api/v1/tenant-settings/start-pages List available start pages · Get start pages #
Ask an LLM
“Which start pages can I choose from for the tenant?”
“What options exist for the tenant's landing page?”
Tell an agent
List the start pages available in tenant settings.
Show which start page options the tenant can choose.

Documentation

📖
Documentation
https://qlik.dev/apis/rest/analytics/apps/
📖
APIReference
https://qlik.dev/apis/rest/analytics/apps/
📖
Documentation
https://qlik.dev/apis/rest/analytics/change-stores/
📖
APIReference
https://qlik.dev/apis/rest/analytics/change-stores/
📖
Documentation
https://qlik.dev/apis/rest/analytics/discovery-agent/adaptive-cards/
📖
APIReference
https://qlik.dev/apis/rest/analytics/discovery-agent/adaptive-cards/
📖
Documentation
https://qlik.dev/apis/rest/analytics/odag-apps/
📖
APIReference
https://qlik.dev/apis/rest/analytics/odag-apps/
📖
Documentation
https://qlik.dev/apis/rest/analytics/odag-links/
📖
APIReference
https://qlik.dev/apis/rest/analytics/odag-links/
📖
Documentation
https://qlik.dev/apis/rest/analytics/odag-requests/
📖
APIReference
https://qlik.dev/apis/rest/analytics/odag-requests/
📖
Documentation
https://qlik.dev/apis/rest/analytics/odag-settings/
📖
APIReference
https://qlik.dev/apis/rest/analytics/odag-settings/
📖
Documentation
https://qlik.dev/apis/rest/api-keys/
📖
APIReference
https://qlik.dev/apis/rest/api-keys/
📖
Documentation
https://qlik.dev/apis/rest/apps/
📖
APIReference
https://qlik.dev/apis/rest/apps/
📖
Documentation
https://qlik.dev/apis/rest/assistants/
📖
APIReference
https://qlik.dev/apis/rest/assistants/
📖
Documentation
https://qlik.dev/apis/rest/audits/
📖
APIReference
https://qlik.dev/apis/rest/audits/
📖
Documentation
https://qlik.dev/apis/rest/automation-connections/
📖
APIReference
https://qlik.dev/apis/rest/automation-connections/
📖
Documentation
https://qlik.dev/apis/rest/automation-connectors/
📖
APIReference
https://qlik.dev/apis/rest/automation-connectors/
📖
Documentation
https://qlik.dev/apis/rest/automations/
📖
APIReference
https://qlik.dev/apis/rest/automations/
📖
Documentation
https://qlik.dev/apis/rest/automl-deployments/
📖
APIReference
https://qlik.dev/apis/rest/automl-deployments/
📖
Documentation
https://qlik.dev/apis/rest/automl-predictions/
📖
APIReference
https://qlik.dev/apis/rest/automl-predictions/
📖
Documentation
https://qlik.dev/apis/rest/banners/
📖
APIReference
https://qlik.dev/apis/rest/banners/
📖
Documentation
https://qlik.dev/apis/rest/brands/
📖
APIReference
https://qlik.dev/apis/rest/brands/
📖
Documentation
https://qlik.dev/apis/rest/collections/
📖
APIReference
https://qlik.dev/apis/rest/collections/
📖
Documentation
https://qlik.dev/apis/rest/conditions/
📖
APIReference
https://qlik.dev/apis/rest/conditions/
📖
Documentation
https://qlik.dev/apis/rest/consumption/
📖
APIReference
https://qlik.dev/apis/rest/consumption/
📖
Documentation
https://qlik.dev/apis/rest/core/auth-settings/
📖
APIReference
https://qlik.dev/apis/rest/core/auth-settings/
📖
Documentation
https://qlik.dev/apis/rest/core/ip-policies/
📖
APIReference
https://qlik.dev/apis/rest/core/ip-policies/
📖
Documentation
https://qlik.dev/apis/rest/csp-origins/
📖
APIReference
https://qlik.dev/apis/rest/csp-origins/
📖
Documentation
https://qlik.dev/apis/rest/csrf-token/
📖
APIReference
https://qlik.dev/apis/rest/csrf-token/
📖
Documentation
https://qlik.dev/apis/rest/data-alerts/
📖
APIReference
https://qlik.dev/apis/rest/data-alerts/
📖
Documentation
https://qlik.dev/apis/rest/data-assets/
📖
APIReference
https://qlik.dev/apis/rest/data-assets/
📖
Documentation
https://qlik.dev/apis/rest/data-connections/
📖
APIReference
https://qlik.dev/apis/rest/data-connections/
📖
Documentation
https://qlik.dev/apis/rest/data-credentials/
📖
APIReference
https://qlik.dev/apis/rest/data-credentials/
📖
Documentation
https://qlik.dev/apis/rest/data-files/
📖
APIReference
https://qlik.dev/apis/rest/data-files/
📖
Documentation
https://qlik.dev/apis/rest/data-governance/data-products/
📖
APIReference
https://qlik.dev/apis/rest/data-governance/data-products/
📖
Documentation
https://qlik.dev/apis/rest/data-governance/data-qualities/
📖
APIReference
https://qlik.dev/apis/rest/data-governance/data-qualities/
📖
Documentation
https://qlik.dev/apis/rest/data-governance/trust-scores/
📖
APIReference
https://qlik.dev/apis/rest/data-governance/trust-scores/
📖
Documentation
https://qlik.dev/apis/rest/data-qualities/
📖
APIReference
https://qlik.dev/apis/rest/data-qualities/
📖
Documentation
https://qlik.dev/apis/rest/data-sets/
📖
APIReference
https://qlik.dev/apis/rest/data-sets/
📖
Documentation
https://qlik.dev/apis/rest/data-sources/
📖
APIReference
https://qlik.dev/apis/rest/data-sources/
📖
Documentation
https://qlik.dev/apis/rest/data-stores/
📖
APIReference
https://qlik.dev/apis/rest/data-stores/
📖
Documentation
https://qlik.dev/apis/rest/di-projects/
📖
APIReference
https://qlik.dev/apis/rest/di-projects/
📖
Documentation
https://qlik.dev/apis/rest/direct-access-agents/
📖
APIReference
https://qlik.dev/apis/rest/direct-access-agents/
📖
Documentation
https://qlik.dev/apis/rest/encryption/
📖
APIReference
https://qlik.dev/apis/rest/encryption/
📖
Documentation
https://qlik.dev/apis/rest/extensions/
📖
APIReference
https://qlik.dev/apis/rest/extensions/
📖
Documentation
https://qlik.dev/apis/rest/glossaries/
📖
APIReference
https://qlik.dev/apis/rest/glossaries/
📖
Documentation
https://qlik.dev/apis/rest/groups/
📖
APIReference
https://qlik.dev/apis/rest/groups/
📖
Documentation
https://qlik.dev/apis/rest/identity-providers/
📖
APIReference
https://qlik.dev/apis/rest/identity-providers/
📖
Documentation
https://qlik.dev/apis/rest/items/
📖
APIReference
https://qlik.dev/apis/rest/items/
📖
Documentation
https://qlik.dev/apis/rest/knowledgebases/
📖
APIReference
https://qlik.dev/apis/rest/knowledgebases/
📖
Documentation
https://qlik.dev/apis/rest/licenses/
📖
APIReference
https://qlik.dev/apis/rest/licenses/
📖
Documentation
https://qlik.dev/apis/rest/lineage-graphs/
📖
APIReference
https://qlik.dev/apis/rest/lineage-graphs/
📖
Documentation
https://qlik.dev/apis/rest/login/
📖
APIReference
https://qlik.dev/apis/rest/login/
📖
Documentation
https://qlik.dev/apis/rest/ml/
📖
APIReference
https://qlik.dev/apis/rest/ml/
📖
Documentation
https://qlik.dev/apis/rest/notes/
📖
APIReference
https://qlik.dev/apis/rest/notes/
📖
Documentation
https://qlik.dev/apis/rest/notifications/
📖
APIReference
https://qlik.dev/apis/rest/notifications/
📖
Documentation
https://qlik.dev/apis/rest/oauth-clients/
📖
APIReference
https://qlik.dev/apis/rest/oauth-clients/
📖
Documentation
https://qlik.dev/apis/rest/oauth-tokens/
📖
APIReference
https://qlik.dev/apis/rest/oauth-tokens/
📖
Documentation
https://qlik.dev/apis/rest/questions/
📖
APIReference
https://qlik.dev/apis/rest/questions/
📖
Documentation
https://qlik.dev/apis/rest/quotas/
📖
APIReference
https://qlik.dev/apis/rest/quotas/
📖
Documentation
https://qlik.dev/apis/rest/reload-tasks/
📖
APIReference
https://qlik.dev/apis/rest/reload-tasks/
📖
Documentation
https://qlik.dev/apis/rest/reloads/
📖
APIReference
https://qlik.dev/apis/rest/reloads/
📖
Documentation
https://qlik.dev/apis/rest/report-templates/
📖
APIReference
https://qlik.dev/apis/rest/report-templates/
📖
Documentation
https://qlik.dev/apis/rest/reports/
📖
APIReference
https://qlik.dev/apis/rest/reports/
📖
Documentation
https://qlik.dev/apis/rest/roles/
📖
APIReference
https://qlik.dev/apis/rest/roles/
📖
Documentation
https://qlik.dev/apis/rest/scheduling/tasks/
📖
APIReference
https://qlik.dev/apis/rest/scheduling/tasks/
📖
Documentation
https://qlik.dev/apis/rest/sharing-tasks/
📖
APIReference
https://qlik.dev/apis/rest/sharing-tasks/
📖
Documentation
https://qlik.dev/apis/rest/spaces/
📖
APIReference
https://qlik.dev/apis/rest/spaces/
📖
Documentation
https://qlik.dev/apis/rest/tasks/
📖
APIReference
https://qlik.dev/apis/rest/tasks/
📖
Documentation
https://qlik.dev/apis/rest/temp-contents/
📖
APIReference
https://qlik.dev/apis/rest/temp-contents/
📖
Documentation
https://qlik.dev/apis/rest/tenant-settings/
📖
APIReference
https://qlik.dev/apis/rest/tenant-settings/
📖
Documentation
https://qlik.dev/apis/rest/tenants/
📖
APIReference
https://qlik.dev/apis/rest/tenants/
📖
Documentation
https://qlik.dev/apis/rest/themes/
📖
APIReference
https://qlik.dev/apis/rest/themes/
📖
Documentation
https://qlik.dev/apis/rest/transports/
📖
APIReference
https://qlik.dev/apis/rest/transports/
📖
Documentation
https://qlik.dev/apis/rest/ui-config/
📖
APIReference
https://qlik.dev/apis/rest/ui-config/
📖
Documentation
https://qlik.dev/apis/rest/users/
📖
APIReference
https://qlik.dev/apis/rest/users/
📖
Documentation
https://qlik.dev/apis/rest/web-integrations/
📖
APIReference
https://qlik.dev/apis/rest/web-integrations/
📖
Documentation
https://qlik.dev/apis/rest/web-notifications/
📖
APIReference
https://qlik.dev/apis/rest/web-notifications/
📖
Documentation
https://qlik.dev/apis/rest/webhooks/
📖
APIReference
https://qlik.dev/apis/rest/webhooks/
📖
Documentation
https://qlik.dev/apis/rest/workflows/automation-connections/
📖
APIReference
https://qlik.dev/apis/rest/workflows/automation-connections/
📖
Documentation
https://qlik.dev/apis/rest/workflows/automation-connectors/
📖
APIReference
https://qlik.dev/apis/rest/workflows/automation-connectors/
📖
Documentation
https://qlik.dev/apis/rest/workflows/automations/
📖
APIReference
https://qlik.dev/apis/rest/workflows/automations/
📖
Documentation
https://qlik.dev/apis/rest
📖
Authentication
https://qlik.dev/authenticate

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/qliksense:qliksense-tenant-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qliksense-tenant-settings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tenant Settings API
  version: ''
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
tags:
- name: Tenant Settings
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`.

        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.'
      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`.

        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.'
      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
components:
  schemas:
    StartPageConfigHub:
      type: object
      properties:
        route:
          enum:
          - /insights
          type: string
        value:
          enum:
          - analytics-hub
          type: string
    CustomizeNoAccess:
      type: object
      required:
      - linkEnabled
      properties:
        linkUrl:
          type: string
          format: uri
        message:
          type: string
        linkLabel:
          type: string
        linkEnabled:
          type: boolean
    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.
    PatchRequest:
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/JSONPatchRequestAddReplaceTest'
        - $ref: '#/components/schemas/JSONPatchRequestRemove'
        - $ref: '#/components/schemas/JSONPatchRequestMoveCopy'
    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'
    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
    StartPageConfigCreationHub:
      type: object
      properties:
        route:
          enum:
          - /analytics
          type: string
        value:
          enum:
          - analytics-creation-hub
          type: string
    ReleaseCadenceConfig:
      enum:
      - monthly
      - continuous
      type: string
      description: Set the release cadence
    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.
    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
    SetCrossRegionDataProcessingConfig:
      type: boolean
      description: Set to true to enable cross-region inference, false to disable.
    StartPageConfigConsole:
      type: object
      properties:
        route:
          enum:
          - /console
          type: string
        value:
          enum:
          - management-console
          type: string
    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
    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.
    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
    StartPageConfigQdi:
      type: object
      properties:
        route:
          enum:
          - /qdi
          type: string
        value:
          enum:
          - data-integration-hub
          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
    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
    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
    StartPage:
      enum:
      - analytics-hub
      - data-integration-hub
      - management-console
      - analytics-creation-hub
      type: string
  responses:
    InternalServerError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse500'
      description: Internal Server Error
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse400'
      description: Bad Request
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse401'
      description: Unauthorized
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse403'
      description: Forbidden