Updated API - The Reloads API supports reload-time variable updates, and the Engine API supports constraints
To support dynamic reload workloads, reload-time variable updates and variable constraints have been added for Analytics apps.
Reload-time variable update
Using the new variables
property on the Reloads API,
you can set variables directly in a reload request, enabling dynamic app behavior
without editing the load script. This reduces complexity, improves deployment
automation, and brings parity with QlikView-style task-driven customization.
Example request using reload-time variable update:
curl "https://your-tenant.us.qlikcloud.com/api/v1/reloads" \ -X POST \ -H "Authorization: Bearer <access_token>" \ -H "Content-type: application/json" \ -d '{ "appId": "your-app-id", "variables": { "customerId": "123", "region": "EMEA", "daysHistory": "30" } }'
These variables will be applied before any load script, and will be overwritten by any LET or SET calls for these variables during script execution, so ensure you validate state of each variable prior to overwriting.
Use cases include:
- Injecting customer-specific configuration at reload time, such as customer IDs, customer names, or specific customer mappings.
- Injecting situation-specific configuration at reload time, such as reconfiguring the number of days of history to load into the app in case of break-glass incidents.
- Supporting central control over app behavior across many apps or tenants.
- Migrating QlikView tasks that used variable configuration, and Qlik Sense Enterprise client-managed tasks which leveraged custom properties to pass configuration to apps.
Variable constraints
To prevent accidental or unauthorized overrides, you can now constrain variables in the load script. This ensures that certain variables must meet specified criteria even when passed dynamically.
Example usage:
CONSTRAIN a = {"valuesnum": [2,3,4]}; // Require variable a to be a number of 2, 3, or 4CONSTRAIN b = {"minnum": "3000"}; // Require variable b to be greater than 3000CONSTRAIN c = {"maxnum": "4000"}; // Require variable c to be lesser than 4000CONSTRAIN d = {"minnum": "3000", "maxnum": "4000"}; // Require variable c to be greater than 3000 and lesser than 4000CONSTRAIN e = {"valuestext": ["Dept A", "Dept B", "Dept C"]}; // Require variable e to be text of `Dept A`, `Dept B`, or `Dept C`
This protects your app from:
- Malicious or malformed variable input that might break app logic or SQL queries.
- Unintended overrides in templated apps.
Use them separately or together
Reload-time variable updates can be used alone to streamline deployments. Constraints can be used independently to validate variable values.
Together, they form a secure and flexible configuration model for large-scale, multi-tenant, or dynamic deployments.
For more information on passing variables, refer to the Reloads API reference.
To learn about setting constraints, see the Constrain reference
on help.qlik.com and the GenericVariableConstraints
schema.