Every API here is available over the APIs.io API and to AI agents over MCP.
{
"info": {
"title": "core/auth-settings",
"version": ""
},
"paths": {
"/api/core/auth-settings": {
"get": {
"tags": [
"iam-resources"
],
"summary": "Get authentication settings",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthSettingsResource"
}
}
},
"description": "Authentication settings retrieved successfully."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Not authorized."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "The authenticated user does not have the `TenantAdmin` role required to read authentication settings."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Authentication settings not found."
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"headers": {
"retry-after": {
"schema": {
"type": "integer",
"default": 1
},
"description": "The amount of seconds to wait before retrying the request."
}
},
"description": "Request has been rate limited."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Internal server error."
}
},
"description": "Returns the authentication settings for the tenant, including the session inactivity timeout and maximum session lifespan. If no custom values have been saved, the response reflects tenant-wide defaults with `isDefault` set to `true`. The user must be assigned the `TenantAdmin` role.",
"operationId": "getAuthSettings",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"patch": {
"tags": [
"iam-resources"
],
"summary": "Update authentication settings",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthSettingsResource"
}
}
},
"description": "Authentication settings updated successfully."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Invalid request body."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Not authorized."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "The authenticated user does not have the `TenantAdmin` role required to update authentication settings."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Authentication settings not found."
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"headers": {
"retry-after": {
"schema": {
"type": "integer",
"default": 1
},
"description": "The amount of seconds to wait before retrying the request."
}
},
"description": "Request has been rate limited."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Internal server error."
}
},
"description": "Updates one or more authentication settings for the tenant using JSON Patch (RFC 6902). Supports `replace` operations on `/userSessionInactivityTimeoutMinutes`, `/maxUserSessionLifespanMinutes`, and `/dynamicClientRegistrationEnabled`. The value for `maxUserSessionLifespanMinutes` must be a whole number of hours (divisible by 60). The user must be assigned the `TenantAdmin` role.",
"operationId": "updateAuthSettings",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthSettingsJSONPatchArray"
}
}
},
"required": true,
"description": "An array of JSON Patch operations to apply to the authentication settings."
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
}
},
"openapi": "3.0.0",
"components": {
"schemas": {
"AuthSettingsJSONPatch": {
"type": "object",
"required": [
"op",
"path",
"value"
],
"properties": {
"op": {
"enum": [
"replace"
],
"type": "string",
"description": "The operation to be performed.",
"x-oapi-codegen-extra-tags": {
"validate": "required,oneof=replace"
}
},
"path": {
"enum": [
"/userSessionInactivityTimeoutMinutes",
"/maxUserSessionLifespanMinutes",
"/dynamicClientRegistrationEnabled",
"/dcrAllowedAuthenticationMethods"
],
"type": "string",
"description": "A JSON Pointer to the authentication settings field. Use `/dynamicClientRegistrationEnabled` only with a boolean `value`. Field `/dcrAllowedAuthenticationMethods` is only available when dynamic client registration is enabled.",
"x-oapi-codegen-extra-tags": {
"validate": "required,oneof=/userSessionInactivityTimeoutMinutes /maxUserSessionLifespanMinutes /dynamicClientRegistrationEnabled /dcrAllowedAuthenticationMethods"
}
},
"value": {
"oneOf": [
{
"type": "integer",
"format": "int64"
},
{
"type": "boolean"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": 1440,
"x-go-type": "any",
"description": "Value to set for the targeted authentication settings field. Timeout fields accept only integer values, `/dynamicClientRegistrationEnabled` accepts only boolean values, and `/dcrAllowedAuthenticationMethods` accepts an array of strings."
}
},
"description": "A JSON Patch document for authentication settings as defined in http://tools.ietf.org/html/rfc6902."
},
"AuthSettingsJSONPatchArray": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuthSettingsJSONPatch"
},
"example": [
{
"op": "replace",
"path": "/userSessionInactivityTimeoutMinutes",
"value": 60
},
{
"op": "replace",
"path": "/maxUserSessionLifespanMinutes",
"value": 1440
},
{
"op": "replace",
"path": "/dynamicClientRegistrationEnabled",
"value": true
},
{
"op": "replace",
"path": "/dcrAllowedAuthenticationMethods",
"value": [
"client_secret"
]
}
],
"description": "An array of JSON Patch documents for authentication settings."
},
"AuthSettingsResource": {
"type": "object",
"required": [
"tenantId",
"userSessionInactivityTimeoutMinutes",
"maxUserSessionLifespanMinutes"
],
"properties": {
"id": {
"type": "string",
"format": "uid",
"example": "507f191e810c19729de860ea",
"readOnly": true,
"x-go-name": "ID",
"description": "The unique identifier for the authentication settings."
},
"tenantId": {
"type": "string",
"format": "uid",
"example": "644fd58b846d649c82eba436",
"readOnly": true,
"x-go-name": "TenantID",
"description": "The tenant unique identifier associated with the authentication settings."
},
"isDefault": {
"type": "boolean",
"example": false,
"readOnly": true,
"description": "`true` if the authentication settings are using tenant-wide defaults. No custom values have been saved for this tenant."
},
"maxUserSessionLifespanMinutes": {
"type": "integer",
"format": "int64",
"example": 1440,
"x-go-name": "MaxUserSessionLifespanMinutes",
"description": "Maximum total lifespan for a user session, in minutes. Sessions are invalidated after this duration regardless of activity."
},
"dcrAllowedAuthenticationMethods": {
"type": "array",
"items": {
"enum": [
"none",
"client_secret"
],
"type": "string"
},
"example": [
"client_secret"
],
"x-go-name": "DcrAllowedAuthenticationMethods",
"description": "The allowed authentication methods for dynamic client registration. Only present when dynamic client registration is enabled."
},
"dynamicClientRegistrationEnabled": {
"type": "boolean",
"example": false,
"x-go-name": "DynamicClientRegistrationEnabled",
"description": "Indicates whether dynamic client registration is enabled for this tenant."
},
"userSessionInactivityTimeoutMinutes": {
"type": "integer",
"format": "int64",
"example": 60,
"x-go-name": "UserSessionInactivityTimeoutMinutes",
"description": "Maximum inactivity period for a user session, in minutes. Sessions that have been idle for longer than this value are invalidated."
}
},
"description": "The authentication settings for a tenant, controlling user session duration and inactivity behavior."
},
"Error": {
"type": "object",
"required": [
"code",
"title"
],
"properties": {
"code": {
"type": "string",
"description": "The error code."
},
"meta": {
"type": "object",
"description": "Additional properties relating to the error."
},
"title": {
"type": "string",
"description": "Summary of the problem."
},
"detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem."
},
"source": {
"type": "object",
"properties": {
"pointer": {
"type": "string",
"description": "A JSON Pointer to the property that caused the error."
},
"parameter": {
"type": "string",
"description": "The URI query parameter that caused the error."
}
},
"description": "References to the source of the error."
}
},
"description": "An error object describing the error."
},
"Errors": {
"type": "object",
"example": {
"errors": [
{
"code": "CODE-10402",
"title": "Not Found"
}
],
"traceId": "0000000000000000200ba0714061b982"
},
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Error"
},
"description": "An array of errors related to the operation."
},
"traceId": {
"type": "string",
"description": "A unique identifier for tracing the error."
}
},
"description": "The error response object describing the error from the handling of an HTTP request."
}
}
},
"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"
}
}
}
]
}