ODAG requests
ODAG requests represent user submissions through an ODAG link, triggering automatic generation of new analytics applications. Use this API to track request status, manage the lifecycle of generated applications (reload, rename, delete), and retrieve request details. Generated applications have a configurable retention period and are automatically purged after that period expires.
Endpoints
Retrieves the current status and details of an ODAG request, including its state (queued, loading, succeeded, failed), generated Analytics Application ID, and error information. For multi-application generation requests, includes nested status for each sub-request.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Path Parameters
- requestIdstringRequired
The ID of the ODAG request whose status is to be returned.
Responses
200
Successful response - see request status in response.
- application/jsonobject
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
linkproperty refers to that link. Otherwise, a sub-request is created for each link in the navigation point and thelinkof each sub-request refers to its respective link. If this is asingleorsinglesubAnalytics Application generation request and the request has reached at least thequeuedstage, thegeneratedAppproperty 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 asingleorsinglesubrequest and the data load operation failed, thegeneratedAppproperty 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 asingleorsinglesubrequest that was canceled before reaching theloadingphase, thegeneratedAppproperty is missing because generated Analytics Applications for pre-load phase requests are deleted. If this is amultiplerequest, thegeneratedAppproperty is also missing.application/json properties
- idstringRequired
The system-assigned ID for an ODAG request.
- kindstringRequired
For links that do not use any partitioning fields, a
singleAnalytics 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 separatesinglesubrequest 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 thatsinglesubrequests share the same link ID as their spawningmultipleparent request.Can be one of: "single""multiple""singlesub"
- linkstringRequired
The system-assigned ID for a link.
- ownerobjectRequired
Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).
owner properties
- idstringRequired
The system-assigned ID for a user
- namestringRequired
- subjectstringRequired
Identity subject used for identity mapping.
- tenantidstringRequired
Tenant identifier.
-
- statestringRequired
The current state of an ODAG request.
Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"
- loadStateobject
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
multiplegeneration requests (see their sub-requests for their data load information) or forsingleandsinglesubrequests that have not yet reached theirloadingphase.loadState properties
- statusstring
The completion status of a completed Request.
Can be one of: "pending""success""warnings""failed"
- loadHoststringRequired
The engine host name used to perform the data load operation for this request. This property will be missing in
multiplegeneration requests (see theloadHostfield of their sub-requests) and will be an empty string on asingleorsinglesubrequest that has not yet reached theloadingphase. - startedAtstringRequired
- finishedAtstring
-
- sheetnamestring
- purgeAfterstring
- timeToLiveinteger
The value of the Link's
appRetentionTimeproperty at the time the Analytics Application was generated (0means no auto-purge). - validationarray of strings
A list of validation errors or warnings.
- createdDatestringRequired
- targetSheetstring
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).
- templateAppstringRequired
The system-assigned ID for an Analytics Application.
- actualRowEstinteger
The evaluated value of the Link's
rowEstExprmeasure expression at the time this request was initiated. - errorMessagestring
Detailed message if the request failed.
- generatedAppobject
Condensed state of an Analytics Application returned in
statefor Link, LinkUsage, Request, and ODAG Apps GET calls.generatedApp properties
- idstringRequired
The system-assigned ID for an Analytics Application.
- namestringRequired
The name of an Analytics Application.
-
- modifiedDatestringRequired
- selectionAppstring
The system-assigned ID for an Analytics Application.
- curRowEstExprstring
The Link's
rowEstExprproperty setting at the time this request was initiated. - retentionTimeinteger
The remaining time in minutes this request will be retained (0 means kept forever).
- parentRequestIdstring
The system-assigned ID for an ODAG request.
- templateAppNamestring
The name of an Analytics Application.
- bindingStateHashinteger
A 64-bit hash of the bound field state at the time the request was made.
- generatedAppNamestring
The name of an Analytics Application.
- selectionAppNamestring
The name of an Analytics Application.
- curRowEstLowBoundinteger
The Link's
rowEstRange.lowBoundvalue for the user at the time this request was initiated. - curRowEstHighBoundinteger
The Link's
rowEstRange.highBoundvalue for the user at the time this request was initiated. - selectionStateHashinteger
A 64-bit hash of the selected field values at the time the request was made.
-
403
Forbidden.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `GET /api/analytics/odag-requests/{requestId}` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}', { method: 'GET', headers: { 'Content-Type': 'application/json', }, },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}" \-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}Performs actions on ODAG requests such as pausing, resuming, or canceling them. Cancel actions are effective only before the data loading phase. For multi-application generation requests, actions apply only to sub-requests that have not yet started loading. Automatic acknowledgment option simplifies state transitions.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Query Parameters
- actionstringRequired
The action to perform on the request. One of: (1)
cancela pending or in-flight request; (2)pausea request that has not started (still in thequeuedstate); (3)resumea paused request; (4) acknowledge a prior cancellation; or (5) acknowledge a prior failure.Can be one of: "cancel""pause""resume""ackcancel""ackfailure"
- autoAckboolean
Optional flag used with the
cancelaction. WhenautoAckistrue, a canceled request automatically transitions to thecanceledAckstate after cancellation completes. WhenautoAckisfalse, the request transitions tocanceled, and you must call this endpoint again withaction=ackcancelto acknowledge the cancellation. - delGenAppboolean
Optional flag that deletes the generated Analytics Application after an
actionofcancel(withautoAck=true),ackcancel, orackfailure. - ignoreSucceededboolean
Optional flag used with the
cancelaction. Whentrue, the API does not return an error if the request reaches thesucceededstate while the cancellation request is in progress.
Path Parameters
- requestIdstringRequired
The ID of the request whose status is to be returned.
Responses
200
Successful response - see request status in response.
- application/jsonobject
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
linkproperty refers to that link. Otherwise, a sub-request is created for each link in the navigation point and thelinkof each sub-request refers to its respective link. If this is asingleorsinglesubAnalytics Application generation request and the request has reached at least thequeuedstage, thegeneratedAppproperty 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 asingleorsinglesubrequest and the data load operation failed, thegeneratedAppproperty 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 asingleorsinglesubrequest that was canceled before reaching theloadingphase, thegeneratedAppproperty is missing because generated Analytics Applications for pre-load phase requests are deleted. If this is amultiplerequest, thegeneratedAppproperty is also missing.application/json properties
- idstringRequired
The system-assigned ID for an ODAG request.
- kindstringRequired
For links that do not use any partitioning fields, a
singleAnalytics 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 separatesinglesubrequest 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 thatsinglesubrequests share the same link ID as their spawningmultipleparent request.Can be one of: "single""multiple""singlesub"
- linkstringRequired
The system-assigned ID for a link.
- ownerobjectRequired
Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).
owner properties
- idstringRequired
The system-assigned ID for a user
- namestringRequired
- subjectstringRequired
Identity subject used for identity mapping.
- tenantidstringRequired
Tenant identifier.
-
- statestringRequired
The current state of an ODAG request.
Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"
- loadStateobject
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
multiplegeneration requests (see their sub-requests for their data load information) or forsingleandsinglesubrequests that have not yet reached theirloadingphase.loadState properties
- statusstring
The completion status of a completed Request.
Can be one of: "pending""success""warnings""failed"
- loadHoststringRequired
The engine host name used to perform the data load operation for this request. This property will be missing in
multiplegeneration requests (see theloadHostfield of their sub-requests) and will be an empty string on asingleorsinglesubrequest that has not yet reached theloadingphase. - startedAtstringRequired
- finishedAtstring
-
- sheetnamestring
- purgeAfterstring
- timeToLiveinteger
The value of the Link's
appRetentionTimeproperty at the time the Analytics Application was generated (0means no auto-purge). - validationarray of strings
A list of validation errors or warnings.
- createdDatestringRequired
- targetSheetstring
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).
- templateAppstringRequired
The system-assigned ID for an Analytics Application.
- actualRowEstinteger
The evaluated value of the Link's
rowEstExprmeasure expression at the time this request was initiated. - errorMessagestring
Detailed message if the request failed.
- generatedAppobject
Condensed state of an Analytics Application returned in
statefor Link, LinkUsage, Request, and ODAG Apps GET calls.generatedApp properties
- idstringRequired
The system-assigned ID for an Analytics Application.
- namestringRequired
The name of an Analytics Application.
-
- modifiedDatestringRequired
- selectionAppstring
The system-assigned ID for an Analytics Application.
- curRowEstExprstring
The Link's
rowEstExprproperty setting at the time this request was initiated. - retentionTimeinteger
The remaining time in minutes this request will be retained (0 means kept forever).
- parentRequestIdstring
The system-assigned ID for an ODAG request.
- templateAppNamestring
The name of an Analytics Application.
- bindingStateHashinteger
A 64-bit hash of the bound field state at the time the request was made.
- generatedAppNamestring
The name of an Analytics Application.
- selectionAppNamestring
The name of an Analytics Application.
- curRowEstLowBoundinteger
The Link's
rowEstRange.lowBoundvalue for the user at the time this request was initiated. - curRowEstHighBoundinteger
The Link's
rowEstRange.highBoundvalue for the user at the time this request was initiated. - selectionStateHashinteger
A 64-bit hash of the selected field values at the time the request was made.
-
403
Forbidden.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `PUT /api/analytics/odag-requests/{requestId}` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}', { method: 'PUT', headers: { 'Content-Type': 'application/json', }, },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}" \-X PUT \-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}Deletes the generated Analytics Application associated with a completed request. Only the request owner or ODAG link creator can delete generated Analytics Applications.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Path Parameters
- requestIdstringRequired
The ID of the request.
Responses
204
Successful response - No Content.
403
Insufficient privilege to delete the generated Analytics Application. User must be either owner of the request or the ODAG link.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID or generated Analytics Application not found.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `DELETE /api/analytics/odag-requests/{requestId}/app` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}/app', { method: 'DELETE', headers: { 'Content-Type': 'application/json', }, },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}/app" \-X DELETE \-H "Authorization: Bearer <access_token>"Reloads data in a generated Analytics Application from the underlying data sources. Only the request owner or ODAG link creator can reload generated Analytics Applications.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Path Parameters
- requestIdstringRequired
The ID of the request.
Request Body
Required- application/jsonobject
Payload to send when reloading an Analytics Application generated by an ODAG request.
application/json properties
- copyRequestboolean
Determines whether the request should be copied along with the generated Analytics Application.
- actualRowEstinteger
The current row estimate value calculated by the link's
rowEstExprproperty in the context of the selection Analytics Application. - selectionStatearray of objects
A collection of FieldSelectionStateV2 objects.
selectionState properties
- valuesarray of objectsRequired
The list of values in the selection state for this field.
values properties
- numValuestring
- strValuestringRequired
- selStatusstringRequired
The valid set of selection states that a specific field value can be in. One of:
S(selected),O(optional), orX(excluded).Can be one of: "S""O""X"
-
- selectedSizeinteger
The actual number of selected values. Not used for
bindSelectionState. - selectionAppParamNamestringRequired
The name of a variable or field that corresponds to one or more bindings having a matching
selectAppParamNameused to generate Analytics Applications. - selectionAppParamTypestringRequired
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
Excludeis 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"
-
- bindSelectionStatearray of objects
A collection of FieldSelectionStateV2 objects.
bindSelectionState properties
- valuesarray of objectsRequired
The list of values in the selection state for this field.
values properties
- numValuestring
- strValuestringRequired
- selStatusstringRequired
The valid set of selection states that a specific field value can be in. One of:
S(selected),O(optional), orX(excluded).Can be one of: "S""O""X"
-
- selectedSizeinteger
The actual number of selected values. Not used for
bindSelectionState. - selectionAppParamNamestringRequired
The name of a variable or field that corresponds to one or more bindings having a matching
selectAppParamNameused to generate Analytics Applications. - selectionAppParamTypestringRequired
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
Excludeis 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"
-
-
Responses
200
Successful response. Returns the updated request state.
- application/jsonobject
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
linkproperty refers to that link. Otherwise, a sub-request is created for each link in the navigation point and thelinkof each sub-request refers to its respective link. If this is asingleorsinglesubAnalytics Application generation request and the request has reached at least thequeuedstage, thegeneratedAppproperty 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 asingleorsinglesubrequest and the data load operation failed, thegeneratedAppproperty 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 asingleorsinglesubrequest that was canceled before reaching theloadingphase, thegeneratedAppproperty is missing because generated Analytics Applications for pre-load phase requests are deleted. If this is amultiplerequest, thegeneratedAppproperty is also missing.application/json properties
- idstringRequired
The system-assigned ID for an ODAG request.
- kindstringRequired
For links that do not use any partitioning fields, a
singleAnalytics 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 separatesinglesubrequest 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 thatsinglesubrequests share the same link ID as their spawningmultipleparent request.Can be one of: "single""multiple""singlesub"
- linkstringRequired
The system-assigned ID for a link.
- ownerobjectRequired
Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).
owner properties
- idstringRequired
The system-assigned ID for a user
- namestringRequired
- subjectstringRequired
Identity subject used for identity mapping.
- tenantidstringRequired
Tenant identifier.
-
- statestringRequired
The current state of an ODAG request.
Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"
- loadStateobject
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
multiplegeneration requests (see their sub-requests for their data load information) or forsingleandsinglesubrequests that have not yet reached theirloadingphase.loadState properties
- statusstring
The completion status of a completed Request.
Can be one of: "pending""success""warnings""failed"
- loadHoststringRequired
The engine host name used to perform the data load operation for this request. This property will be missing in
multiplegeneration requests (see theloadHostfield of their sub-requests) and will be an empty string on asingleorsinglesubrequest that has not yet reached theloadingphase. - startedAtstringRequired
- finishedAtstring
-
- sheetnamestring
- purgeAfterstring
- timeToLiveinteger
The value of the Link's
appRetentionTimeproperty at the time the Analytics Application was generated (0means no auto-purge). - validationarray of strings
A list of validation errors or warnings.
- createdDatestringRequired
- targetSheetstring
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).
- templateAppstringRequired
The system-assigned ID for an Analytics Application.
- actualRowEstinteger
The evaluated value of the Link's
rowEstExprmeasure expression at the time this request was initiated. - errorMessagestring
Detailed message if the request failed.
- generatedAppobject
Condensed state of an Analytics Application returned in
statefor Link, LinkUsage, Request, and ODAG Apps GET calls.generatedApp properties
- idstringRequired
The system-assigned ID for an Analytics Application.
- namestringRequired
The name of an Analytics Application.
-
- modifiedDatestringRequired
- selectionAppstring
The system-assigned ID for an Analytics Application.
- curRowEstExprstring
The Link's
rowEstExprproperty setting at the time this request was initiated. - retentionTimeinteger
The remaining time in minutes this request will be retained (0 means kept forever).
- parentRequestIdstring
The system-assigned ID for an ODAG request.
- templateAppNamestring
The name of an Analytics Application.
- bindingStateHashinteger
A 64-bit hash of the bound field state at the time the request was made.
- generatedAppNamestring
The name of an Analytics Application.
- selectionAppNamestring
The name of an Analytics Application.
- curRowEstLowBoundinteger
The Link's
rowEstRange.lowBoundvalue for the user at the time this request was initiated. - curRowEstHighBoundinteger
The Link's
rowEstRange.highBoundvalue for the user at the time this request was initiated. - selectionStateHashinteger
A 64-bit hash of the selected field values at the time the request was made.
-
403
Insufficient privilege to reload the generated Analytics Application. User must be either owner of the request or the ODAG link.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID or generated Analytics Application not found.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `POST /api/analytics/odag-requests/{requestId}/reload-app` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}/reload-app', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ copyRequest: true, actualRowEst: 42, 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', }, ], }), },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}/reload-app" \-X POST \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '{"copyRequest":true,"actualRowEst":42,"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"}]}'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}Renames a generated Analytics Application. Only the request owner or ODAG link creator can rename generated Analytics Applications.
Facts
| Rate limit | Tier 2 (100 requests per minute) |
Path Parameters
- requestIdstringRequired
The ID of the request.
Request Body
Required- application/jsonobject
Payload to send when renaming an Analytics Application generated by an ODAG request.
application/json properties
- appNamestringRequired
The new name of the generated Analytics Application.
-
Responses
200
Successful response. Returns the updated request state.
- application/jsonobject
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
linkproperty refers to that link. Otherwise, a sub-request is created for each link in the navigation point and thelinkof each sub-request refers to its respective link. If this is asingleorsinglesubAnalytics Application generation request and the request has reached at least thequeuedstage, thegeneratedAppproperty 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 asingleorsinglesubrequest and the data load operation failed, thegeneratedAppproperty 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 asingleorsinglesubrequest that was canceled before reaching theloadingphase, thegeneratedAppproperty is missing because generated Analytics Applications for pre-load phase requests are deleted. If this is amultiplerequest, thegeneratedAppproperty is also missing.application/json properties
- idstringRequired
The system-assigned ID for an ODAG request.
- kindstringRequired
For links that do not use any partitioning fields, a
singleAnalytics 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 separatesinglesubrequest 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 thatsinglesubrequests share the same link ID as their spawningmultipleparent request.Can be one of: "single""multiple""singlesub"
- linkstringRequired
The system-assigned ID for a link.
- ownerobjectRequired
Condensed state of a user returned in state of ownable ODAG entities (for example, a link or request).
owner properties
- idstringRequired
The system-assigned ID for a user
- namestringRequired
- subjectstringRequired
Identity subject used for identity mapping.
- tenantidstringRequired
Tenant identifier.
-
- statestringRequired
The current state of an ODAG request.
Can be one of: "validating""queued""invalid""hold""loading""canceled""failed""succeeded""canceling""canceledAck""failedAck"
- loadStateobject
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
multiplegeneration requests (see their sub-requests for their data load information) or forsingleandsinglesubrequests that have not yet reached theirloadingphase.loadState properties
- statusstring
The completion status of a completed Request.
Can be one of: "pending""success""warnings""failed"
- loadHoststringRequired
The engine host name used to perform the data load operation for this request. This property will be missing in
multiplegeneration requests (see theloadHostfield of their sub-requests) and will be an empty string on asingleorsinglesubrequest that has not yet reached theloadingphase. - startedAtstringRequired
- finishedAtstring
-
- sheetnamestring
- purgeAfterstring
- timeToLiveinteger
The value of the Link's
appRetentionTimeproperty at the time the Analytics Application was generated (0means no auto-purge). - validationarray of strings
A list of validation errors or warnings.
- createdDatestringRequired
- targetSheetstring
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).
- templateAppstringRequired
The system-assigned ID for an Analytics Application.
- actualRowEstinteger
The evaluated value of the Link's
rowEstExprmeasure expression at the time this request was initiated. - errorMessagestring
Detailed message if the request failed.
- generatedAppobject
Condensed state of an Analytics Application returned in
statefor Link, LinkUsage, Request, and ODAG Apps GET calls.generatedApp properties
- idstringRequired
The system-assigned ID for an Analytics Application.
- namestringRequired
The name of an Analytics Application.
-
- modifiedDatestringRequired
- selectionAppstring
The system-assigned ID for an Analytics Application.
- curRowEstExprstring
The Link's
rowEstExprproperty setting at the time this request was initiated. - retentionTimeinteger
The remaining time in minutes this request will be retained (0 means kept forever).
- parentRequestIdstring
The system-assigned ID for an ODAG request.
- templateAppNamestring
The name of an Analytics Application.
- bindingStateHashinteger
A 64-bit hash of the bound field state at the time the request was made.
- generatedAppNamestring
The name of an Analytics Application.
- selectionAppNamestring
The name of an Analytics Application.
- curRowEstLowBoundinteger
The Link's
rowEstRange.lowBoundvalue for the user at the time this request was initiated. - curRowEstHighBoundinteger
The Link's
rowEstRange.highBoundvalue for the user at the time this request was initiated. - selectionStateHashinteger
A 64-bit hash of the selected field values at the time the request was made.
-
403
Insufficient privilege to rename the generated Analytics Application. User must be either owner of the request or the ODAG link.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID or generated Analytics Application not found.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `POST /api/analytics/odag-requests/{requestId}/rename-app` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}/rename-app', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ appName: 'string' }), },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}/rename-app" \-X POST \-H "Content-type: application/json" \-H "Authorization: Bearer <access_token>" \-d '{"appName":"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}Retrieves the selection state (selected and optional field values) that was active when the Analytics Application generation request was submitted.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Path Parameters
- requestIdstringRequired
The ID of the request.
Responses
200
Successful response.
- application/jsonarray of objects
A collection of FieldSelectionStateV2 objects.
application/json properties
- valuesarray of objectsRequired
The list of values in the selection state for this field.
values properties
- numValuestring
- strValuestringRequired
- selStatusstringRequired
The valid set of selection states that a specific field value can be in. One of:
S(selected),O(optional), orX(excluded).Can be one of: "S""O""X"
-
- selectedSizeinteger
The actual number of selected values. Not used for
bindSelectionState. - selectionAppParamNamestringRequired
The name of a variable or field that corresponds to one or more bindings having a matching
selectAppParamNameused to generate Analytics Applications. - selectionAppParamTypestringRequired
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
Excludeis 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"
-
403
Forbidden.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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 request ID.
- application/jsonobject
A standard error response containing a list of one or more errors.
application/json properties
- errorsarray of objects
A single error entry within an error response.
errors properties
- codestring
A unique code used to identify the template form of the message in i18n tables (language independent).
- metaobject
Additional metadata associated with an error.
meta properties
- statusCodeinteger
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.
-
- titlestring
- detailstring
The message describing the error.
-
- traceIdstring
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.
-
// qlik-api has not implemented support for `GET /api/analytics/odag-requests/{requestId}/selections` yet.// In the meantime, you can use fetch like this:
const response = await fetch( '/api/analytics/odag-requests/{requestId}/selections', { method: 'GET', headers: { 'Content-Type': 'application/json', }, },)This API is not included yet in qlik-clicurl "https://{tenant}.{region}.qlikcloud.com/api/analytics/odag-requests/{requestId}/selections" \-H "Authorization: Bearer <access_token>"Example Response
[ { "values": [ { "numValue": "string", "strValue": "string", "selStatus": "S" } ], "selectedSize": 42, "selectionAppParamName": "string", "selectionAppParamType": "Field" }]