ODAG links connect selection applications (where users make selections) to template applications (the source for generation). An ODAG link enables users to submit requests that automatically generate new analytics applications. Use this API to create and manage links, and track which selection applications use specific links.

Note

Link creation requires canCreate permission. Only the link creator or request owner can delete or modify a link.

A Link object defines an on-demand data navigation path between a selection Analytics Application and a template Analytics Application including the set of properties that control how that data access occurs and under what conditions access is permitted. The set of links returned by this method have properties that match the combination of conditions defined by any supplied query parameters.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • includeCharts boolean

    Determines whether master charts of the template Analytics Application are included in the response.

  • selectionAppID string

    Filter the list by the selection Analytics Application ID.

  • type string

    The type of the links to query. Defaults to link.

    Can be one of: "link""view""all"

  • optOwner string

    Use optOwner to filter results by link owner user ID. If supplied, only links owned by that user are returned. If not supplied, returns all links the current user can access.

Responses

200

ODAG links retrieved successfully.

  • application/json array of objects

    The full state of a Link.

    Show application/json properties
    • id string
      Required
    • name string
      Required

      The name of a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • status string
      Required

      The current status of a link.

      Can be one of: "active""disabled""decommissioned""incomplete"

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • privileges array of strings
    • properties object
      Required

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string
      Required

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • createdDate string
      Required
    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view.

    • templateApp object
      Required

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show templateApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
    • sourceLinkId string

      The ID of the original link this was copied from. Present only on deep-copied links.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • modifiedByUser object

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show modifiedByUser properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • genAppAccessible boolean

      Only returned on LinkGet and set to true if user will have access to an Analytics Application generated by this link.

    • templateAppChartObjects array of objects

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

ODAG not enabled or access denied.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

GET /api/analytics/odag-links
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.getOdagLinks({})
qlik analytics odag-link ls
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links" \
-H "Authorization: Bearer <access_token>"

Example Response

[
{
"id": "string",
"name": "ODAG Link name",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"status": "active",
"bindings": [
{
"range": {
"lowerBound": 42,
"upperBound": 42
},
"formatting": {
"quote": "'",
"delimiter": ","
},
"numericOnly": false,
"selectionStates": "string",
"selectAppParamName": "string",
"selectAppParamType": "Field",
"templateAppVarName": "string"
}
],
"privileges": [
"string"
],
"properties": {
"disable": [
{
"context": "string",
"disable": true
}
],
"menuLabel": [
{
"label": "string",
"context": "string"
}
],
"genAppName": [
{
"params": [
"templateAppName"
],
"context": "string",
"formatString": "string"
}
],
"genAppLimit": [
{
"limit": 42,
"context": "string"
}
],
"limitPolicy": [
{
"context": "string",
"limitPolicy": "Restrict"
}
],
"rowEstRange": [
{
"context": "string",
"lowBound": 42,
"highBound": 42
}
],
"targetSheet": [
{
"context": "string",
"sheetId": "string",
"sheetName": "string"
}
],
"appOpenMethod": [
{
"context": "string",
"openMethod": "Tab"
}
],
"appRetentionTime": [
{
"context": "string",
"retentionTime": "string"
}
],
"overrideGenAppLimit": [
{
"context": "string",
"overrideGenAppLimit": false
}
]
},
"rowEstExpr": "string",
"createdDate": "2025-11-11T13:45:30Z",
"dynamicView": true,
"templateApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"sourceLinkId": "string",
"includeScript": false,
"modifiedByUser": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"genAppAccessible": true,
"templateAppChartObjects": [
{}
]
}
]

Create an ODAG link

Creates a new link that enables ODAG navigation from a designated selection Analytics Application to a generated Analytics Application that is created by copying the designated template Analytics Application, injecting values for bind variables harvested from the selection Analytics Application and dynamically loaded with data using those bindings. The Bindings will be initialized by searching the load script of the template Analytics Application for patterns of the form $(od_FIELDNAME)[M-N] where FIELDNAME is the name of a field in the model of the selection Analytics Application and the optional pattern [M-N] identifies the lower bound M and the upper bound N for the number of values for that field which must be in the active selection state of the selection Analytics Application for binding to occur. The active selection state defaults to selected (i.e. green) unless the od prefix is immediately followed by some combination of the letters s, o, or x, in that order, specifically designating the selected, optional (i.e. white) and/or excluded (i.e. gray) groups of values to be harvested from the selection Analytics Application's selection state. The bindings in the bindings array in the request payload override the properties of the corresponding field bindings found in the script of the template Analytics Application.

Facts

Rate limit Tier 2 (100 requests per minute)

Query Parameters

  • includeCharts boolean

    Determines whether master charts of the template Analytics Application are included in the response.

  • registerOnSelectionApp boolean

    When true, ODAG also creates a generic object on the selection Analytics Application referencing the new link (qType: odagapplink, or dynamicappview for dynamic-view links), so the link shows up in the app's list of links. Idempotent on retry; must not be combined with a client-side registration of the same link.

Request Body

Required

A JSON payload containing the content for a new ODAG link.

  • application/json object

    An object that defines the properties of a Link to be created.

    Show application/json properties
    • name string
      Required

      The name of a link.

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • properties object

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view. Analytics Application retention time is overridden to 24 hours and the maximum number of generated Analytics Applications is set to 1.

    • templateApp string

      The system-assigned ID for an Analytics Application.

    • selectionApp string
      Required

      The system-assigned ID for an Analytics Application.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • statusSetting string

      The requested status transition to apply to a Link. New links are always created with status active; statusSetting is ignored. When updating a Link, if statusSetting is provided, the request updates the Link's status only (other fields in the payload are not applied). If omitted, the Link's status is not changed. statusSetting is an action, and it maps to the resulting status: - activate sets status to active. - disable sets status to disabled. - decommission sets status to decommissioned. If statusSetting has an unsupported value, the request returns an error and the Link is not updated. Links with status decommissioned cannot change status.

      Can be one of: "activate""disable""decommission"

Responses

201

ODAG link created successfully.

  • application/json object

    The full state of a Link.

    Show application/json properties
    • id string
      Required
    • name string
      Required

      The name of a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • status string
      Required

      The current status of a link.

      Can be one of: "active""disabled""decommissioned""incomplete"

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • privileges array of strings
    • properties object
      Required

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string
      Required

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • createdDate string
      Required
    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view.

    • templateApp object
      Required

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show templateApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
    • sourceLinkId string

      The ID of the original link this was copied from. Present only on deep-copied links.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • modifiedByUser object

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show modifiedByUser properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • genAppAccessible boolean

      Only returned on LinkGet and set to true if user will have access to an Analytics Application generated by this link.

    • templateAppChartObjects array of objects

400

Invalid link payload (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

Invalid referenced object ID (see detailed error message).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

500

Link was created but registering it on the selection Analytics Application failed. Retrying is safe.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

POST /api/analytics/odag-links
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.createOdagLink(
{},
{
bindings: [
{
formatting: {
delimiter: ',',
quote: "'",
},
range: { lowerBound: 42, upperBound: 42 },
selectAppParamName: 'string',
selectAppParamType: 'Field',
selectionStates: 'string',
templateAppVarName: 'string',
},
],
dynamicView: true,
name: 'ODAG Link name',
properties: {
appOpenMethod: [
{ context: 'string', openMethod: 'Tab' },
],
appRetentionTime: [
{
context: 'string',
retentionTime: 'string',
},
],
disable: [
{ context: 'string', disable: true },
],
genAppLimit: [
{ context: 'string', limit: 42 },
],
genAppName: [
{
context: 'string',
formatString: 'string',
params: ['templateAppName'],
},
],
limitPolicy: [
{
context: 'string',
limitPolicy: 'Restrict',
},
],
menuLabel: [
{ context: 'string', label: 'string' },
],
overrideGenAppLimit: [
{ context: 'string' },
],
rowEstRange: [
{
context: 'string',
highBound: 42,
lowBound: 42,
},
],
targetSheet: [
{
context: 'string',
sheetId: 'string',
sheetName: 'string',
},
],
},
rowEstExpr: 'string',
selectionApp: 'string',
statusSetting: 'activate',
templateApp: 'string',
},
)
qlik analytics odag-link create \
--bindings-selectAppParamType '' \
--bindings-templateAppVarName '' \
--name 'ODAG Link name' \
--properties-appOpenMethod-context '' \
--properties-appOpenMethod-openMethod '' \
--properties-appRetentionTime-context '' \
--properties-appRetentionTime-retentionTime '' \
--properties-disable-context '' \
--properties-disable-disable \
--properties-genAppLimit-context '' \
--properties-genAppLimit-limit \
--properties-genAppName-context '' \
--properties-genAppName-formatString '' \
--properties-limitPolicy-context '' \
--properties-limitPolicy-limitPolicy '' \
--properties-menuLabel-context '' \
--properties-menuLabel-label '' \
--properties-overrideGenAppLimit-context '' \
--properties-rowEstRange-context '' \
--properties-rowEstRange-highBound \
--properties-rowEstRange-lowBound \
--properties-targetSheet-context '' \
--properties-targetSheet-sheetId '' \
--selectionApp 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"name":"ODAG Link name","bindings":[{"range":{"lowerBound":42,"upperBound":42},"formatting":{"quote":"'\''","delimiter":","},"numericOnly":false,"selectionStates":"string","selectAppParamName":"string","selectAppParamType":"Field","templateAppVarName":"string"}],"properties":{"disable":[{"context":"string","disable":true}],"menuLabel":[{"label":"string","context":"string"}],"genAppName":[{"params":["templateAppName"],"context":"string","formatString":"string"}],"genAppLimit":[{"limit":42,"context":"string"}],"limitPolicy":[{"context":"string","limitPolicy":"Restrict"}],"rowEstRange":[{"context":"string","lowBound":42,"highBound":42}],"targetSheet":[{"context":"string","sheetId":"string","sheetName":"string"}],"appOpenMethod":[{"context":"string","openMethod":"Tab"}],"appRetentionTime":[{"context":"string","retentionTime":"string"}],"overrideGenAppLimit":[{"context":"string","overrideGenAppLimit":false}]},"rowEstExpr":"string","dynamicView":true,"templateApp":"string","selectionApp":"string","includeScript":false,"statusSetting":"activate"}'

Example Response

{
"id": "string",
"name": "ODAG Link name",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"status": "active",
"bindings": [
{
"range": {
"lowerBound": 42,
"upperBound": 42
},
"formatting": {
"quote": "'",
"delimiter": ","
},
"numericOnly": false,
"selectionStates": "string",
"selectAppParamName": "string",
"selectAppParamType": "Field",
"templateAppVarName": "string"
}
],
"privileges": [
"string"
],
"properties": {
"disable": [
{
"context": "string",
"disable": true
}
],
"menuLabel": [
{
"label": "string",
"context": "string"
}
],
"genAppName": [
{
"params": [
"templateAppName"
],
"context": "string",
"formatString": "string"
}
],
"genAppLimit": [
{
"limit": 42,
"context": "string"
}
],
"limitPolicy": [
{
"context": "string",
"limitPolicy": "Restrict"
}
],
"rowEstRange": [
{
"context": "string",
"lowBound": 42,
"highBound": 42
}
],
"targetSheet": [
{
"context": "string",
"sheetId": "string",
"sheetName": "string"
}
],
"appOpenMethod": [
{
"context": "string",
"openMethod": "Tab"
}
],
"appRetentionTime": [
{
"context": "string",
"retentionTime": "string"
}
],
"overrideGenAppLimit": [
{
"context": "string",
"overrideGenAppLimit": false
}
]
},
"rowEstExpr": "string",
"createdDate": "2025-11-11T13:45:30Z",
"dynamicView": true,
"templateApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"sourceLinkId": "string",
"includeScript": false,
"modifiedByUser": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"genAppAccessible": true,
"templateAppChartObjects": [
{}
]
}

Retrieves details of a specific ODAG link, including bindings, properties, status, and template Analytics Application charts. Use this to review link configuration or verify permissions before generating Analytics Applications.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • includeCharts boolean

    Determines whether master charts of the template Analytics Application are included in the response.

Path Parameters

  • linkId string
    Required

    The ID of the link.

Responses

200

Successful response.

  • application/json object

    The full state of a Link.

    Show application/json properties
    • id string
      Required
    • name string
      Required

      The name of a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • status string
      Required

      The current status of a link.

      Can be one of: "active""disabled""decommissioned""incomplete"

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • privileges array of strings
    • properties object
      Required

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string
      Required

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • createdDate string
      Required
    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view.

    • templateApp object
      Required

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show templateApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
    • sourceLinkId string

      The ID of the original link this was copied from. Present only on deep-copied links.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • modifiedByUser object

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show modifiedByUser properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • genAppAccessible boolean

      Only returned on LinkGet and set to true if user will have access to an Analytics Application generated by this link.

    • templateAppChartObjects array of objects

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

Invalid link ID (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

GET /api/analytics/odag-links/{linkId}
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.getOdagLink(
'string',
{},
)
qlik analytics odag-link get 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/{linkId}" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"id": "string",
"name": "ODAG Link name",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"status": "active",
"bindings": [
{
"range": {
"lowerBound": 42,
"upperBound": 42
},
"formatting": {
"quote": "'",
"delimiter": ","
},
"numericOnly": false,
"selectionStates": "string",
"selectAppParamName": "string",
"selectAppParamType": "Field",
"templateAppVarName": "string"
}
],
"privileges": [
"string"
],
"properties": {
"disable": [
{
"context": "string",
"disable": true
}
],
"menuLabel": [
{
"label": "string",
"context": "string"
}
],
"genAppName": [
{
"params": [
"templateAppName"
],
"context": "string",
"formatString": "string"
}
],
"genAppLimit": [
{
"limit": 42,
"context": "string"
}
],
"limitPolicy": [
{
"context": "string",
"limitPolicy": "Restrict"
}
],
"rowEstRange": [
{
"context": "string",
"lowBound": 42,
"highBound": 42
}
],
"targetSheet": [
{
"context": "string",
"sheetId": "string",
"sheetName": "string"
}
],
"appOpenMethod": [
{
"context": "string",
"openMethod": "Tab"
}
],
"appRetentionTime": [
{
"context": "string",
"retentionTime": "string"
}
],
"overrideGenAppLimit": [
{
"context": "string",
"overrideGenAppLimit": false
}
]
},
"rowEstExpr": "string",
"createdDate": "2025-11-11T13:45:30Z",
"dynamicView": true,
"templateApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"sourceLinkId": "string",
"includeScript": false,
"modifiedByUser": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"genAppAccessible": true,
"templateAppChartObjects": [
{}
]
}

Modifies ODAG link configuration including bindings, properties, status, and template Analytics Application reference. You can re-scan the template Analytics Application script to auto-detect binding patterns or override specific settings. If statusSetting is provided, the request updates only the link status (other payload fields are not applied).

Facts

Rate limit Tier 2 (100 requests per minute)

Query Parameters

  • includeCharts boolean

    Determines whether master charts of the template Analytics Application are included in the response.

Path Parameters

  • linkId string
    Required

    The ID of the link.

Request Body

Required

A JSON payload containing the updated configuration for the ODAG link.

  • application/json object

    An object that defines the properties of a Link to be modified.

    Show application/json properties
    • name string
      Required

      The name of a link.

    • ownerId string

      The system-assigned ID for a user

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • properties object

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view. Analytics Application retention time is overridden to 24 hours and the maximum number of generated Analytics Applications is set to 1.

    • templateApp string

      The system-assigned ID for an Analytics Application.

    • selectionApp string
      Required

      The system-assigned ID for an Analytics Application.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • statusSetting string

      The requested status transition to apply to a Link. New links are always created with status active; statusSetting is ignored. When updating a Link, if statusSetting is provided, the request updates the Link's status only (other fields in the payload are not applied). If omitted, the Link's status is not changed. statusSetting is an action, and it maps to the resulting status: - activate sets status to active. - disable sets status to disabled. - decommission sets status to decommissioned. If statusSetting has an unsupported value, the request returns an error and the Link is not updated. Links with status decommissioned cannot change status.

      Can be one of: "activate""disable""decommission"

Responses

200

ODAG link updated successfully.

  • application/json object

    The full state of a Link.

    Show application/json properties
    • id string
      Required
    • name string
      Required

      The name of a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • status string
      Required

      The current status of a link.

      Can be one of: "active""disabled""decommissioned""incomplete"

    • bindings array of objects

      A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

      Show bindings properties
      • range object

        The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

        Show range properties
        • lowerBound integer
        • upperBound integer
      • formatting object

        A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        Show formatting properties
        • quote string

          The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

        • delimiter string

          The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

      • numericOnly boolean

        Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectionStates string

        A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

      • selectAppParamName string

        The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

      • selectAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

      • templateAppVarName string
        Required
    • privileges array of strings
    • properties object
      Required

      The complete set of possible properties for a link and their associated user context/value pairings.

      Show properties properties
      • disable array of objects

        Set to true to temporarily disable the use of this Link to generate Analytics Applications.

        Show disable properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • disable boolean
          Required
      • menuLabel array of objects

        The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

        Show menuLabel properties
        • label string
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • genAppName array of objects

        An object that defines how to compute the name to use for the generated Analytics Application.

        Show genAppName properties
        • params array of strings

          One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

          Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • formatString string
          Required

          A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

      • genAppLimit array of objects

        The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

        Show genAppLimit properties
        • limit integer
          Required
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

      • limitPolicy array of objects

        The action to take when the limit to the maximum number of generated Analytics Applications is reached.

        Show limitPolicy properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy string
          Required

          Can be one of: "Restrict""AutoDelete"

      • rowEstRange array of objects
        Required

        A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

        Show rowEstRange properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • lowBound integer

          The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

        • highBound integer
          Required

          The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

      • targetSheet array of objects

        An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

        Show targetSheet properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • sheetId string
          Required

          The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

        • sheetName string

          An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

      • appOpenMethod array of objects

        Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

        Show appOpenMethod properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • openMethod string
          Required

          Can be one of: "Tab""Window"

      • appRetentionTime array of objects

        A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

        Show appRetentionTime properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • retentionTime string
          Required
      • overrideGenAppLimit array of objects

        The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

        Show overrideGenAppLimit properties
        • context string
          Required

          An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • overrideGenAppLimit boolean
    • rowEstExpr string
      Required

      The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

    • createdDate string
      Required
    • dynamicView boolean

      When true, the ODAG link is treated as a dynamic view.

    • templateApp object
      Required

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show templateApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
    • sourceLinkId string

      The ID of the original link this was copied from. Present only on deep-copied links.

    • includeScript boolean

      Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

    • modifiedByUser object

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show modifiedByUser properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • genAppAccessible boolean

      Only returned on LinkGet and set to true if user will have access to an Analytics Application generated by this link.

    • templateAppChartObjects array of objects

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

Link not found, ODAG not enabled, or invalid referenced object.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

PUT /api/analytics/odag-links/{linkId}
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.updateOdagLink(
'string',
{},
{
bindings: [
{
formatting: {
delimiter: ',',
quote: "'",
},
range: { lowerBound: 42, upperBound: 42 },
selectAppParamName: 'string',
selectAppParamType: 'Field',
selectionStates: 'string',
templateAppVarName: 'string',
},
],
dynamicView: true,
name: 'ODAG Link name',
ownerId: 'wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh',
properties: {
appOpenMethod: [
{ context: 'string', openMethod: 'Tab' },
],
appRetentionTime: [
{
context: 'string',
retentionTime: 'string',
},
],
disable: [
{ context: 'string', disable: true },
],
genAppLimit: [
{ context: 'string', limit: 42 },
],
genAppName: [
{
context: 'string',
formatString: 'string',
params: ['templateAppName'],
},
],
limitPolicy: [
{
context: 'string',
limitPolicy: 'Restrict',
},
],
menuLabel: [
{ context: 'string', label: 'string' },
],
overrideGenAppLimit: [
{ context: 'string' },
],
rowEstRange: [
{
context: 'string',
highBound: 42,
lowBound: 42,
},
],
targetSheet: [
{
context: 'string',
sheetId: 'string',
sheetName: 'string',
},
],
},
rowEstExpr: 'string',
selectionApp: 'string',
statusSetting: 'activate',
templateApp: 'string',
},
)
qlik analytics odag-link update 'string' \
--bindings-selectAppParamType '' \
--bindings-templateAppVarName '' \
--name 'ODAG Link name' \
--properties-appOpenMethod-context '' \
--properties-appOpenMethod-openMethod '' \
--properties-appRetentionTime-context '' \
--properties-appRetentionTime-retentionTime '' \
--properties-disable-context '' \
--properties-disable-disable \
--properties-genAppLimit-context '' \
--properties-genAppLimit-limit \
--properties-genAppName-context '' \
--properties-genAppName-formatString '' \
--properties-limitPolicy-context '' \
--properties-limitPolicy-limitPolicy '' \
--properties-menuLabel-context '' \
--properties-menuLabel-label '' \
--properties-overrideGenAppLimit-context '' \
--properties-rowEstRange-context '' \
--properties-rowEstRange-highBound \
--properties-rowEstRange-lowBound \
--properties-targetSheet-context '' \
--properties-targetSheet-sheetId '' \
--selectionApp 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/{linkId}" \
-X PUT \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"name":"ODAG Link name","ownerId":"wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh","bindings":[{"range":{"lowerBound":42,"upperBound":42},"formatting":{"quote":"'\''","delimiter":","},"numericOnly":false,"selectionStates":"string","selectAppParamName":"string","selectAppParamType":"Field","templateAppVarName":"string"}],"properties":{"disable":[{"context":"string","disable":true}],"menuLabel":[{"label":"string","context":"string"}],"genAppName":[{"params":["templateAppName"],"context":"string","formatString":"string"}],"genAppLimit":[{"limit":42,"context":"string"}],"limitPolicy":[{"context":"string","limitPolicy":"Restrict"}],"rowEstRange":[{"context":"string","lowBound":42,"highBound":42}],"targetSheet":[{"context":"string","sheetId":"string","sheetName":"string"}],"appOpenMethod":[{"context":"string","openMethod":"Tab"}],"appRetentionTime":[{"context":"string","retentionTime":"string"}],"overrideGenAppLimit":[{"context":"string","overrideGenAppLimit":false}]},"rowEstExpr":"string","dynamicView":true,"templateApp":"string","selectionApp":"string","includeScript":false,"statusSetting":"activate"}'

Example Response

{
"id": "string",
"name": "ODAG Link name",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"status": "active",
"bindings": [
{
"range": {
"lowerBound": 42,
"upperBound": 42
},
"formatting": {
"quote": "'",
"delimiter": ","
},
"numericOnly": false,
"selectionStates": "string",
"selectAppParamName": "string",
"selectAppParamType": "Field",
"templateAppVarName": "string"
}
],
"privileges": [
"string"
],
"properties": {
"disable": [
{
"context": "string",
"disable": true
}
],
"menuLabel": [
{
"label": "string",
"context": "string"
}
],
"genAppName": [
{
"params": [
"templateAppName"
],
"context": "string",
"formatString": "string"
}
],
"genAppLimit": [
{
"limit": 42,
"context": "string"
}
],
"limitPolicy": [
{
"context": "string",
"limitPolicy": "Restrict"
}
],
"rowEstRange": [
{
"context": "string",
"lowBound": 42,
"highBound": 42
}
],
"targetSheet": [
{
"context": "string",
"sheetId": "string",
"sheetName": "string"
}
],
"appOpenMethod": [
{
"context": "string",
"openMethod": "Tab"
}
],
"appRetentionTime": [
{
"context": "string",
"retentionTime": "string"
}
],
"overrideGenAppLimit": [
{
"context": "string",
"overrideGenAppLimit": false
}
]
},
"rowEstExpr": "string",
"createdDate": "2025-11-11T13:45:30Z",
"dynamicView": true,
"templateApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"sourceLinkId": "string",
"includeScript": false,
"modifiedByUser": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"genAppAccessible": true,
"templateAppChartObjects": [
{}
]
}

Retrieves all Analytics Application generation requests for a specific ODAG link, with optional filtering by pending status (pending), selection Analytics Application (selectionAppId), sheet context (selectionAppSheet), or client context (clientContextHandle). Use this to track generation history or monitor in-flight requests.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • clientContextHandle string

    An opaque handle to a client-side object that contains the reference to the link being used.

  • pending boolean

    Pass true if only pending requests should be returned.

  • selectionAppId string

    The ID of the selection Analytics Application.

  • selectionAppSheet string

    The name (or ID) of the sheet to filter qualifying ODAG requests for a selection Analytics Application.

Path Parameters

  • linkId string
    Required

    The ID of the link.

Responses

200

Successful response - see array of requests in response.

  • application/json array of objects

    An array of Request Summary objects.

    Show application/json properties
    • id string
      Required

      The system-assigned ID for an ODAG request.

    • kind string
      Required

      For links that do not use any partitioning fields, a single Analytics Application generation request is created. However, for selection Analytics Applications that designate a set of partitioning fields and the user selects multiple values for any of those partitioning fields, ODAG uses a separate singlesub request to generate a separate Analytics Application for each combination of selected partition field values, and tracks the queuing and data load phase of each of those sub-requests separately. Note that singlesub requests share the same link ID as their spawning multiple parent request.

      Can be one of: "single""multiple""singlesub"

    • link string
      Required

      The system-assigned ID for a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • state string
      Required

      The current state of an ODAG request.

      Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"

    • loadState object

      An object that describes the state of a generated Analytics Application's data load operation. In request objects that include this object as an optional property, the property will be missing for multiple generation requests (see their sub-requests for their data load information) or for single and singlesub requests that have not yet reached their loading phase.

      Show loadState properties
      • status string

        The completion status of a completed Request.

        Can be one of: "pending""success""warnings""failed"

      • loadHost string
        Required

        The engine host name used to perform the data load operation for this request. This property will be missing in multiple generation requests (see the loadHost field of their sub-requests) and will be an empty string on a single or singlesub request that has not yet reached the loading phase.

      • startedAt string
        Required
      • finishedAt string
    • sheetname string
    • purgeAfter string
    • timeToLive integer

      The value of the Link's appRetentionTime property at the time the Analytics Application was generated (0 means no auto-purge).

    • validation array of strings

      A list of validation errors or warnings.

    • createdDate string
      Required
    • targetSheet string

      The ID of the target sheet, taken from the link properties, to navigate to when opening the generated Analytics Application (empty for Analytics Application overview).

    • templateApp string
      Required

      The system-assigned ID for an Analytics Application.

    • actualRowEst integer

      The evaluated value of the Link's rowEstExpr measure expression at the time this request was initiated.

    • errorMessage string

      Detailed message if the request failed.

    • generatedApp object

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show generatedApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
      Required
    • selectionApp string

      The system-assigned ID for an Analytics Application.

    • curRowEstExpr string

      The Link's rowEstExpr property setting at the time this request was initiated.

    • retentionTime integer

      The remaining time in minutes this request will be retained (0 means kept forever).

    • parentRequestId string

      The system-assigned ID for an ODAG request.

    • templateAppName string

      The name of an Analytics Application.

    • bindingStateHash integer

      A 64-bit hash of the bound field state at the time the request was made.

    • generatedAppName string

      The name of an Analytics Application.

    • selectionAppName string

      The name of an Analytics Application.

    • curRowEstLowBound integer

      The Link's rowEstRange.lowBound value for the user at the time this request was initiated.

    • curRowEstHighBound integer

      The Link's rowEstRange.highBound value for the user at the time this request was initiated.

    • selectionStateHash integer

      A 64-bit hash of the selected field values at the time the request was made.

400

Link not found or ODAG service error (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

ODAG not enabled or access denied.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

GET /api/analytics/odag-links/{linkId}/requests
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.getOdagLinkRequests(
'string',
{},
)
qlik analytics odag-link request ls 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/{linkId}/requests" \
-H "Authorization: Bearer <access_token>"

Example Response

[
{
"id": "string",
"kind": "single",
"link": "string",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"state": "validating",
"loadState": {
"status": "pending",
"loadHost": "string",
"startedAt": "2025-11-11T13:45:30Z",
"finishedAt": "2025-11-11T13:45:30Z"
},
"sheetname": "string",
"purgeAfter": "2025-11-11T13:45:30Z",
"timeToLive": 42,
"validation": [
"string"
],
"createdDate": "2025-11-11T13:45:30Z",
"targetSheet": "string",
"templateApp": "string",
"actualRowEst": 42,
"errorMessage": "string",
"generatedApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"selectionApp": "string",
"curRowEstExpr": "string",
"retentionTime": 42,
"parentRequestId": "string",
"templateAppName": "appname",
"bindingStateHash": 42,
"generatedAppName": "appname",
"selectionAppName": "appname",
"curRowEstLowBound": 42,
"curRowEstHighBound": 42,
"selectionStateHash": 42
}
]

Submit an ODAG request

Submits a new Analytics Application generation request with the current selection state from a selection Analytics Application. The request is validated against link properties before queuing. On success, returns a request object that you must monitor for completion using the status endpoint. Validation failures return detailed error information.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • linkId string
    Required

    The ID of the link.

Request Body

Required
  • application/json object

    Payload to send when creating an ODAG request. selectionApp is the ID of the selection Analytics Application from which the request is made. bindSelectionState is the selection state in the selection Analytics Application at the time the request is submitted (you can limit the fields to those used by the link's bindings to reduce payload size).

    Show application/json properties
    • sheetname string

      The name of the sheet from which the request is being made.

    • actualRowEst integer

      The current row estimate value calculated by the link's rowEstExpr property in the context of the selection Analytics Application.

    • selectionApp string
      Required

      The system-assigned ID for an Analytics Application.

    • selectionState array of objects

      A collection of FieldSelectionStateV2 objects.

      Show selectionState properties
      • values array of objects
        Required

        The list of values in the selection state for this field.

        Show values properties
        • numValue string
        • strValue string
          Required
        • selStatus string
          Required

          The valid set of selection states that a specific field value can be in. One of: S (selected), O (optional), or X (excluded).

          Can be one of: "S""O""X"

      • selectedSize integer

        The actual number of selected values. Not used for bindSelectionState.

      • selectionAppParamName string
        Required

        The name of a variable or field that corresponds to one or more bindings having a matching selectAppParamName used to generate Analytics Applications.

      • selectionAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

    • bindSelectionState array of objects
      Required

      A collection of FieldSelectionStateV2 objects.

      Show bindSelectionState properties
      • values array of objects
        Required

        The list of values in the selection state for this field.

        Show values properties
        • numValue string
        • strValue string
          Required
        • selStatus string
          Required

          The valid set of selection states that a specific field value can be in. One of: S (selected), O (optional), or X (excluded).

          Can be one of: "S""O""X"

      • selectedSize integer

        The actual number of selected values. Not used for bindSelectionState.

      • selectionAppParamName string
        Required

        The name of a variable or field that corresponds to one or more bindings having a matching selectAppParamName used to generate Analytics Applications.

      • selectionAppParamType string
        Required

        The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

        Can be one of: "Field""Variable""Property""Exclude""BDI"

    • clientContextHandle string

      An opaque handle to a client-side object that contains the reference to the link being used.

Responses

201

Successful response - the request has been queued.

  • application/json object

    The detailed content of an ODAG request object. If this is a summarization of a request initiated from a navigation point that has a single link, its link property refers to that link. Otherwise, a sub-request is created for each link in the navigation point and the link of each sub-request refers to its respective link. If this is a single or singlesub Analytics Application generation request and the request has reached at least the queued stage, the generatedApp property contains the ID of the generated Analytics Application (note that the generated Analytics Application might not yet be populated with data or published if the request is not completed). If this is a single or singlesub request and the data load operation failed, the generatedApp property still contains the ID of the failed Analytics Application to allow viewing of the ODAG-bound script for diagnostic purposes. Generated Analytics Applications for failed requests are purged regularly, so the Analytics Application might no longer be available. If this is a single or singlesub request that was canceled before reaching the loading phase, the generatedApp property is missing because generated Analytics Applications for pre-load phase requests are deleted. If this is a multiple request, the generatedApp property is also missing.

    Show application/json properties
    • id string
      Required

      The system-assigned ID for an ODAG request.

    • kind string
      Required

      For links that do not use any partitioning fields, a single Analytics Application generation request is created. However, for selection Analytics Applications that designate a set of partitioning fields and the user selects multiple values for any of those partitioning fields, ODAG uses a separate singlesub request to generate a separate Analytics Application for each combination of selected partition field values, and tracks the queuing and data load phase of each of those sub-requests separately. Note that singlesub requests share the same link ID as their spawning multiple parent request.

      Can be one of: "single""multiple""singlesub"

    • link string
      Required

      The system-assigned ID for a link.

    • owner object
      Required

      Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

      Show owner properties
      • id string
        Required

        The system-assigned ID for a user

      • name string
        Required
      • subject string
        Required

        Identity subject used for identity mapping.

      • tenantid string
        Required

        Tenant identifier.

    • state string
      Required

      The current state of an ODAG request.

      Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"

    • loadState object

      An object that describes the state of a generated Analytics Application's data load operation. In request objects that include this object as an optional property, the property will be missing for multiple generation requests (see their sub-requests for their data load information) or for single and singlesub requests that have not yet reached their loading phase.

      Show loadState properties
      • status string

        The completion status of a completed Request.

        Can be one of: "pending""success""warnings""failed"

      • loadHost string
        Required

        The engine host name used to perform the data load operation for this request. This property will be missing in multiple generation requests (see the loadHost field of their sub-requests) and will be an empty string on a single or singlesub request that has not yet reached the loading phase.

      • startedAt string
        Required
      • finishedAt string
    • sheetname string
    • purgeAfter string
    • timeToLive integer

      The value of the Link's appRetentionTime property at the time the Analytics Application was generated (0 means no auto-purge).

    • validation array of strings

      A list of validation errors or warnings.

    • createdDate string
      Required
    • targetSheet string

      The ID of the target sheet, taken from the link properties, to navigate to when opening the generated Analytics Application (empty for Analytics Application overview).

    • templateApp string
      Required

      The system-assigned ID for an Analytics Application.

    • actualRowEst integer

      The evaluated value of the Link's rowEstExpr measure expression at the time this request was initiated.

    • errorMessage string

      Detailed message if the request failed.

    • generatedApp object

      Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

      Show generatedApp properties
      • id string
        Required

        The system-assigned ID for an Analytics Application.

      • name string
        Required

        The name of an Analytics Application.

    • modifiedDate string
      Required
    • selectionApp string

      The system-assigned ID for an Analytics Application.

    • curRowEstExpr string

      The Link's rowEstExpr property setting at the time this request was initiated.

    • retentionTime integer

      The remaining time in minutes this request will be retained (0 means kept forever).

    • parentRequestId string

      The system-assigned ID for an ODAG request.

    • templateAppName string

      The name of an Analytics Application.

    • bindingStateHash integer

      A 64-bit hash of the bound field state at the time the request was made.

    • generatedAppName string

      The name of an Analytics Application.

    • selectionAppName string

      The name of an Analytics Application.

    • curRowEstLowBound integer

      The Link's rowEstRange.lowBound value for the user at the time this request was initiated.

    • curRowEstHighBound integer

      The Link's rowEstRange.highBound value for the user at the time this request was initiated.

    • selectionStateHash integer

      A 64-bit hash of the selected field values at the time the request was made.

400

The selection Analytics Application was in an invalid state to proceed with this Analytics Application generation (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

Invalid link ID.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

POST /api/analytics/odag-links/{linkId}/requests
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.createOdagLinkRequest(
'string',
{
actualRowEst: 42,
bindSelectionState: [
{
selectedSize: 42,
selectionAppParamName: 'string',
selectionAppParamType: 'Field',
values: [
{
numValue: 'string',
selStatus: 'S',
strValue: 'string',
},
],
},
],
clientContextHandle: 'string',
selectionApp: 'string',
selectionState: [
{
selectedSize: 42,
selectionAppParamName: 'string',
selectionAppParamType: 'Field',
values: [
{
numValue: 'string',
selStatus: 'S',
strValue: 'string',
},
],
},
],
sheetname: 'string',
},
)
qlik analytics odag-link request create 'string' \
--bindSelectionState-selectedSize \
--bindSelectionState-selectionAppParamName '' \
--bindSelectionState-selectionAppParamType '' \
--bindSelectionState-values-numValue '' \
--bindSelectionState-values-selStatus '' \
--bindSelectionState-values-strValue '' \
--selectionApp 'string' \
--selectionState-selectionAppParamName '' \
--selectionState-selectionAppParamType '' \
--selectionState-values-numValue '' \
--selectionState-values-selStatus '' \
--selectionState-values-strValue ''
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/{linkId}/requests" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"sheetname":"string","actualRowEst":42,"selectionApp":"string","selectionState":[{"values":[{"numValue":"string","strValue":"string","selStatus":"S"}],"selectedSize":42,"selectionAppParamName":"string","selectionAppParamType":"Field"}],"bindSelectionState":[{"values":[{"numValue":"string","strValue":"string","selStatus":"S"}],"selectedSize":42,"selectionAppParamName":"string","selectionAppParamType":"Field"}],"clientContextHandle":"string"}'

Example Response

{
"id": "string",
"kind": "single",
"link": "string",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"state": "validating",
"loadState": {
"status": "pending",
"loadHost": "string",
"startedAt": "2025-11-11T13:45:30Z",
"finishedAt": "2025-11-11T13:45:30Z"
},
"sheetname": "string",
"purgeAfter": "2025-11-11T13:45:30Z",
"timeToLive": 42,
"validation": [
"string"
],
"createdDate": "2025-11-11T13:45:30Z",
"targetSheet": "string",
"templateApp": "string",
"actualRowEst": 42,
"errorMessage": "string",
"generatedApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"selectionApp": "string",
"curRowEstExpr": "string",
"retentionTime": 42,
"parentRequestId": "string",
"templateAppName": "appname",
"bindingStateHash": 42,
"generatedAppName": "appname",
"selectionAppName": "appname",
"curRowEstLowBound": 42,
"curRowEstHighBound": 42,
"selectionStateHash": 42
}

Checks whether the current user has permission to create new ODAG links. Optionally verify permissions for a specific template Analytics Application or selection Analytics Application context. Returns a boolean indicating create permission status.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • optDenyIfSelAppNotUpdatable boolean

    When true, deny permission if the selection Analytics Application cannot be updated. This parameter is ignored unless optSelectAppId is also supplied.

  • optSelectAppId string

    An optional parameter for specifying the ID of a selection Analytics Application.

  • optTemplateAppId string

    An optional parameter for specifying the ID of a template Analytics Application.

Responses

200

Successful response.

  • application/json object

    An object used to inform the caller whether the current user has privilege to create new Links.

    Show application/json properties
    • canCreateLinks boolean

400

Invalid parameter values (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

ODAG not enabled.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

GET /api/analytics/odag-links/cancreate
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.getOdagLinkCreatePermission(
{},
)
qlik analytics odag-link cancreate get
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/cancreate" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"canCreateLinks": true
}

List ODAG links used by a selection Analytics Application

Registers the current set of ODAG links referenced by a selection Analytics Application and returns only those links the current user can access. Call this when a selection Analytics Application is opened or after modifying its ODAG link references. The response is an array of objects, where the id identifies the requested link and link contains the link state when accessible. Use GET /analytics/odag-links/{linkId} for full details.

Facts

Rate limit Tier 2 (100 requests per minute)

Query Parameters

  • selAppId string
    Required

    The ID of a selection Analytics Application.

  • includeCharts boolean

    When true, include master charts from the template Analytics Application in the response.

  • type string

    The type of the links to query. Defaults to link.

    Can be one of: "link""view""all"

Request Body

Required
  • application/json object

    A JSON payload containing an array of LinkIds.

    Show application/json properties
    • linkList array of strings
      Required

      An array of Link IDs.

Responses

200

Successful response.

  • application/json array of objects

    Used to return a possibly empty link state when querying multiple links by ID where any one of those IDs may be invalid or obsolete. If the link field is missing, it means there was no accessible link for the corresponding id.

    Show application/json properties
    • id string
      Required

      The system-assigned ID for a link.

    • link object

      The full state of a Link.

      Show link properties
      • id string
        Required
      • name string
        Required

        The name of a link.

      • owner object
        Required

        Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

        Show owner properties
        • id string
          Required

          The system-assigned ID for a user

        • name string
          Required
        • subject string
          Required

          Identity subject used for identity mapping.

        • tenantid string
          Required

          Tenant identifier.

      • status string
        Required

        The current status of a link.

        Can be one of: "active""disabled""decommissioned""incomplete"

      • bindings array of objects

        A collection of Bindings. Note that there can be multiple bindings having the same templateAppFieldName in a binding collection to denote different usages of the field's selection state in the context of the data prep logic but they all must have the same value for their range property.

        Show bindings properties
        • range object

          The lower and upper bound for the permitted number of values that must exist in the selection Analytics Application's source parameter in order for this binding to be valid (and permit an ODAG Request to be submitted. If this property is not supplied, there is no constraint on either the lower or upper bound. To indicate that an exact number of selections are required, use the same number for both the lower and upper bound.

          Show range properties
          • lowerBound integer
          • upperBound integer
        • formatting object

          A property value that describes the formatting of field values in a Binding. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

          Show formatting properties
          • quote string

            The character to use for quote wrapping each of the bound values when formatting the source values associated with this binding. If this property is not supplied, a single quote character (') will be used by default. Use an empty string to suppress quote wrapping the values.

          • delimiter string

            The character to use as a separator between two (or more) bound values when formatting the source values associated with this binding. If this property is not supplied, a comma character will be used by default. Use an empty string to indicate that no separator character should be used.

        • numericOnly boolean

          Set to true to indicate that only numeric values from the selection Analytics Application source parameter should be used. The default value for this property, if left unspecified, is false. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        • selectionStates string

          A combination of the letters S and/or O to indicate which values from the selection states selected or optional in the hypercube of the selection Analytics Application to harvest as bind values to inject into the script of the template Analytics Application at ODAG request submission time. This is currently only settable in the template Analytics Application script and not when creating or updating a Link.

        • selectAppParamName string

          The path (or name) of the selection Analytics Application field, variable, or property to obtain the list of values for this binding.

        • selectAppParamType string
          Required

          The different kinds of selection Analytics Application parameters whose values can be bound to the script of template Analytics Applications when generating new Analytics Applications. Note that Exclude is used to specifically prevent fields defined as optional bind parameters in the template Analytics Application script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).

          Can be one of: "Field""Variable""Property""Exclude""BDI"

        • templateAppVarName string
          Required
      • privileges array of strings
      • properties object
        Required

        The complete set of possible properties for a link and their associated user context/value pairings.

        Show properties properties
        • disable array of objects

          Set to true to temporarily disable the use of this Link to generate Analytics Applications.

          Show disable properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • disable boolean
            Required
        • menuLabel array of objects

          The default label to use for this Link in the context of the selection Analytics Application's ODAG navigation menu.

          Show menuLabel properties
          • label string
            Required
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • genAppName array of objects

          An object that defines how to compute the name to use for the generated Analytics Application.

          Show genAppName properties
          • params array of strings

            One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated Analytics Application's name.

            Values may be any of: "templateAppName""userId""curYear""curMonth""curDay""curHr""curMin""curSec"

          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • formatString string
            Required

            A string containing the base text of the name to use for the generated Analytics Application and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0. The integer identifies the offset in the params array of an AppNameParameterV2 to evaluate at ODAG Request execution time to compute a fragment of the generated Analytics Application's name and insert it at the same position as its corresponding {N} placeholder.

        • genAppLimit array of objects

          The limit to the number of Analytics Applications generated using this specific Link that can exist, and still not deleted, before the policy defined by the limitPolicy property (configured separately via LinkPropertiesV2.limitPolicy) is applied. If no limitPolicy is defined, the Restrict policy is assumed. If there is no value for this property applicable to the current user, there is no limit to the number of Analytics Applications that can be generated from this link for the user. The count of the current number of Analytics Applications is based on just those Analytics Applications generated by the current user (and still in existence) for this specific link. The minimum value for limit is 1.

          Show genAppLimit properties
          • limit integer
            Required
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

        • limitPolicy array of objects

          The action to take when the limit to the maximum number of generated Analytics Applications is reached.

          Show limitPolicy properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • limitPolicy string
            Required

            Can be one of: "Restrict""AutoDelete"

        • rowEstRange array of objects
          Required

          A link property that defines a value range that the evaluated value of the row estimate measure must fall within in order to allow submissions of a request for the link.

          Show rowEstRange properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • lowBound integer

            The minimum value for the row estimate to enable usage of the link to perform an ODAG request. If the row estimate expression evaluates to a number lower than this value, the user will be prevented from submitting an ODAG request for this link. If this value is not supplied, no minimum is required.

          • highBound integer
            Required

            The maximum value for the row estimate to enable usage of the link. If the row estimate expression evaluates to a value larger than this value, the user will be prevented from submitting an ODAG request for this link.

        • targetSheet array of objects

          An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated Analytics Application when opening the generated Analytics Application from the selection Analytics Application's navpoint panel.

          Show targetSheet properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • sheetId string
            Required

            The ID of the sheet to first navigate to when opening the generated Analytics Application from the selection Analytics Application.

          • sheetName string

            An optional, read-only property that is returned when retrieving a link if the targetSheet setting exists for the current user in the link's properties set and the sheet with that ID exists in the link's templateApp.

        • appOpenMethod array of objects

          Sets the default method by which the newly generated Analytics Application is displayed when opened. The default is Tab to open a new tab in the same browser. Note that not all devices permit both methods so the chosen behavior may not apply if it is not supported on the user's device or browser.

          Show appOpenMethod properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • openMethod string
            Required

            Can be one of: "Tab""Window"

        • appRetentionTime array of objects

          A string that defines the length of time that a generated Analytics Application should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text unlimited.

          Show appRetentionTime properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • retentionTime string
            Required
        • overrideGenAppLimit array of objects

          The limit to the number of Analytics Applications generated can be overridden using this specific Link that can exist, and still not deleted. The default value for this property is false. If this property value is set to true, then the limit value in genAppLimit is ignored.

          Show overrideGenAppLimit properties
          • context string
            Required

            An expression based on the usage environment of a Link typically including predicates that test the current user's membership in a group or possession of a user role that when evaluated truthfully enables an applicable value for a Link property. For example, User_* indicates that the link property setting applies to all users while User.name = joe indicates the rule applies only to a specific user named joe.

          • overrideGenAppLimit boolean
      • rowEstExpr string
        Required

        The measure expression to be evaluated in the context of the selection Analytics Application for the link that estimates the number of records that will be qualified by the primary load query of the template Analytics Application. This expression must be valid in the context of the selection Analytics Application fields and update whenever the selection state of the selection Analytics Application changes.

      • createdDate string
        Required
      • dynamicView boolean

        When true, the ODAG link is treated as a dynamic view.

      • templateApp object
        Required

        Condensed state of an Analytics Application returned in state for Link, LinkUsage, Request, and ODAG Apps GET calls.

        Show templateApp properties
        • id string
          Required

          The system-assigned ID for an Analytics Application.

        • name string
          Required

          The name of an Analytics Application.

      • modifiedDate string
      • sourceLinkId string

        The ID of the original link this was copied from. Present only on deep-copied links.

      • includeScript boolean

        Set to true to include the generated Analytics Application load script in the generated Analytics Application. The default value is false.

      • modifiedByUser object

        Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).

        Show modifiedByUser properties
        • id string
          Required

          The system-assigned ID for a user

        • name string
          Required
        • subject string
          Required

          Identity subject used for identity mapping.

        • tenantid string
          Required

          Tenant identifier.

      • genAppAccessible boolean

        Only returned on LinkGet and set to true if user will have access to an Analytics Application generated by this link.

      • templateAppChartObjects array of objects

400

Invalid parameter values or link list (see detailed error).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

403

Forbidden.

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

404

Invalid selection Analytics Application ID or link ID supplied (see detailed error message).

  • application/json object

    A standard error response containing a list of one or more errors.

    Show application/json properties
    • errors array of objects

      A single error entry within an error response.

      Show errors properties
      • code string

        A unique code used to identify the template form of the message in i18n tables (language independent).

      • meta object

        Additional metadata associated with an error.

        Show meta properties
        • statusCode integer

          The HTTP status code for the error. Generally speaking, the following codes have these meanings: 200 - Success, 201 - Success (object created), 400 - Error with user input, 403 - Authorization error (user lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate.

      • title string
      • detail string

        The message describing the error.

    • traceId string

      A unique ID of the trace which the error occurred in. Makes it possible to locate involved services and find log messages from the time of the error.

POST /api/analytics/odag-links/selection-app-link-usages
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.analytics.odagLinks.getOdagLinksSelectionAppUsages(
{ selAppId: 'string' },
{ linkList: ['string'] },
)
qlik analytics odag-link selection-app-link-usage create \
--selAppId 'string' \
--linkList 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-links/selection-app-link-usages" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"linkList":["string"]}'

Example Response

[
{
"id": "string",
"link": {
"id": "string",
"name": "ODAG Link name",
"owner": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"status": "active",
"bindings": [
{
"range": {
"lowerBound": 42,
"upperBound": 42
},
"formatting": {
"quote": "'",
"delimiter": ","
},
"numericOnly": false,
"selectionStates": "string",
"selectAppParamName": "string",
"selectAppParamType": "Field",
"templateAppVarName": "string"
}
],
"privileges": [
"string"
],
"properties": {
"disable": [
{
"context": "string",
"disable": true
}
],
"menuLabel": [
{
"label": "string",
"context": "string"
}
],
"genAppName": [
{
"params": [
"templateAppName"
],
"context": "string",
"formatString": "string"
}
],
"genAppLimit": [
{
"limit": 42,
"context": "string"
}
],
"limitPolicy": [
{
"context": "string",
"limitPolicy": "Restrict"
}
],
"rowEstRange": [
{
"context": "string",
"lowBound": 42,
"highBound": 42
}
],
"targetSheet": [
{
"context": "string",
"sheetId": "string",
"sheetName": "string"
}
],
"appOpenMethod": [
{
"context": "string",
"openMethod": "Tab"
}
],
"appRetentionTime": [
{
"context": "string",
"retentionTime": "string"
}
],
"overrideGenAppLimit": [
{
"context": "string",
"overrideGenAppLimit": false
}
]
},
"rowEstExpr": "string",
"createdDate": "2025-11-11T13:45:30Z",
"dynamicView": true,
"templateApp": {
"id": "string",
"name": "appname"
},
"modifiedDate": "2025-11-11T13:45:30Z",
"sourceLinkId": "string",
"includeScript": false,
"modifiedByUser": {
"id": "wcgIs6wGcDdyzep9QmyopWvNH1FJTOhh",
"name": "string",
"subject": "string",
"tenantid": "string"
},
"genAppAccessible": true,
"templateAppChartObjects": [
{}
]
}
}
]