Created
February 22, 2018 22:55
-
-
Save theredpea/e395a80c691b26c565d50a8074c0ba01 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //https://usrem-nnd.qliktech.com/api/odag/v1/openapi | |
| { | |
| "swagger" : "2.0", | |
| "info" : { | |
| "description" : "A REST Service for on-demand creation of Qlik apps.", | |
| "version" : "1.6.0", | |
| "title" : "OdagService", | |
| "termsOfService" : "See http://www.qlik.com/us/legal/terms-of-use", | |
| "contact" : { | |
| "name" : "Qlik", | |
| "url" : "http://qlik.com", | |
| "email" : "[email protected]" | |
| }, | |
| "license" : { | |
| "name" : "Qlik EULA", | |
| "url" : "http://www.qlik.com/us/license-terms" | |
| } | |
| }, | |
| "basePath" : "/api/odag/v1", | |
| "tags" : [ { | |
| "name" : "Global", | |
| "description" : "Learn about ODAG Global options." | |
| }, { | |
| "name" : "ModelGroup", | |
| "description" : "Learn about ODAG Model Groups" | |
| }, { | |
| "name" : "Link", | |
| "description" : "Learn about ODAG Links" | |
| }, { | |
| "name" : "Request", | |
| "description" : "Learn about ODAG Requests" | |
| }, { | |
| "name" : "App", | |
| "description" : "Learn about ODAG Apps" | |
| }, { | |
| "name" : "EngineGroup", | |
| "description" : "Learn about ODAG Engine Groups" | |
| } ], | |
| "schemes" : [ "https" ], | |
| "consumes" : [ "application/json" ], | |
| "produces" : [ "application/json" ], | |
| "paths" : { | |
| "/about" : { | |
| "get" : { | |
| "tags" : [ "Global" ], | |
| "summary" : "Gets the service name, version, configuration and enabled status of the OdagService", | |
| "operationId" : "About", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/AboutResponse" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Global" | |
| } | |
| }, | |
| "/apps" : { | |
| "get" : { | |
| "tags" : [ "App" ], | |
| "summary" : "Get a list of ODAG apps. [NOT AVAILABLE]", | |
| "description" : "Gets a list of ODAG apps depending on the particular combination of parameters supplied. If the 'linkId' and 'optSelectState' parameters are both supplied, the list of returned apps will be limited to just apps that were generated with the supplied link and whose selection state matches the supplied selection state.", | |
| "operationId" : "AppsGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupNamePattern", | |
| "in" : "query", | |
| "description" : "A pattern used to match against the names of model groups whose affliated apps are to be returned. It is an error to supply a value for this parameter and OptLinkId in the same call.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "appTypes", | |
| "in" : "query", | |
| "description" : "Any combination of 's', 't', 'g', denoting Selection, Template or Generated, that designates the type(s) of apps to returned.", | |
| "required" : false, | |
| "type" : "string", | |
| "default" : "stg" | |
| }, { | |
| "name" : "inclOrphans", | |
| "in" : "query", | |
| "description" : "Include the names and ids of ODAG apps that have been deleted but that were members of the model group at the time they were deleted.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "optLinkId", | |
| "in" : "query", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "OptSelectionState", | |
| "description" : "An optional Selection State body parameter for communicating a desired selection state to the ODAG service.", | |
| "required" : false, | |
| "schema" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "A list of ModelGroupAppMembership objects.", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupAppMembership" | |
| } | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid link id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "App" | |
| } | |
| }, | |
| "/apps/{selAppId}/linkUsages" : { | |
| "get" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Get a list links in this app that the current user can use.", | |
| "operationId" : "LinkUsagesGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "selAppId", | |
| "in" : "path", | |
| "description" : "The id of a selection app.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "Array of LinkStateFull", | |
| "items" : { | |
| "$ref" : "#/definitions/OptLinkStateRef" | |
| } | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid selection app id or link id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/apps/{selAppId}/selAppLinkUsages" : { | |
| "post" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Notify the OdagService of the current set of Links referenced by a specific seelection app and return that subset of Links that the current user can access.", | |
| "description" : "To handle the case when a user copies a selection app, each selection app will retain a list of the references to Links it uses in a generic object that is recorded in the app itself. In order to keep track of these usages of links by multiple copies of selection apps, the client will use this API to notify the ODAG Service of the set of Links it retains in each app. This API should be called at least once any time a selection app is opened and once anytime a link is added or removed from a selection app. This makes it possible to track usages of Links across selection apps, at least selection apps that are in use by the client. The response to this call will be filtered to include only those links that the current user has privileges to read. Note that a condensed form of these readable links is returned for each link which includes fields such as name, modifiedDate, owner, templateApp, rowEstExpr and status but not fields such as linkProperties nor privileges. These more detailed fields should be obtained using a subsequent call to Link.LinkGet.", | |
| "operationId" : "SyncAppLinkUsages", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "selAppId", | |
| "in" : "path", | |
| "description" : "The id of a selection app.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "linkUsagePayload", | |
| "description" : "A json payload containing an array of LinkIds.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkList" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "Array of LinkStateFull", | |
| "items" : { | |
| "$ref" : "#/definitions/OptLinkStateRef" | |
| } | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid selection app id or link id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/checksettings" : { | |
| "post" : { | |
| "tags" : [ "Global" ], | |
| "summary" : "Notifies the OdagService that global settings have changed.", | |
| "operationId" : "CheckSettings", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/CheckSettingsResponse" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Global" | |
| } | |
| }, | |
| "/enginegroups" : { | |
| "get" : { | |
| "tags" : [ "EngineGroup" ], | |
| "summary" : "Get a list of Engine Groups. [NOT AVAILABLE]", | |
| "description" : "Query a list of engine groups using any of the optional filter criteria parameters. This method is only supported in the premium version of the ODAG service.", | |
| "operationId" : "EngineGroupsGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "containingHostNamePattern", | |
| "in" : "query", | |
| "description" : "A string containing the name (or pattern to match on the name) of engine hosts that are members of the engine groups to rerturn.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "engineGroupNamePattern", | |
| "in" : "query", | |
| "description" : "An optional query parameter to use for finding objects that are related to engine groups that have a name that matches this pattern.", | |
| "required" : false, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see list of engine groups in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupArray" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "EngineGroup" | |
| }, | |
| "post" : { | |
| "tags" : [ "EngineGroup" ], | |
| "summary" : "Create a new engine group. [NOT AVAILABLE]", | |
| "description" : "", | |
| "operationId" : "EngineGroupCreate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "in" : "body", | |
| "name" : "engineGroupPayload", | |
| "description" : "A json payload containing the content to use for creating a new engine group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "201" : { | |
| "description" : "Successful response - see status of new engine group in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupDetails" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid engine group payload (e.g. name already in use). See error object for details.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "EngineGroup" | |
| } | |
| }, | |
| "/enginegroups/{engineGroupId}" : { | |
| "get" : { | |
| "tags" : [ "EngineGroup" ], | |
| "summary" : "Get a specific engine group. [NOT AVAILABLE]", | |
| "description" : "Get the details for a specific engine group", | |
| "operationId" : "EngineGroupGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "engineGroupId", | |
| "in" : "path", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see the engine group details in the response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupDetails" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid engine group id (see error response for details).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "EngineGroup" | |
| }, | |
| "put" : { | |
| "tags" : [ "EngineGroup" ], | |
| "summary" : "Update an engine group. [NOT AVAILABLE]", | |
| "description" : "This method updates the name, description, status or engine host membership of a Engine Group.", | |
| "operationId" : "EngineGroupUpdate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "engineGroupId", | |
| "in" : "path", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "modifications", | |
| "description" : "A payload describing changes to be made to an Engine group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see status of modified engine group in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupDetails" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid engine group payload (e.g. name already in use). See error object for details.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "EngineGroup" | |
| } | |
| }, | |
| "/isodagavailable" : { | |
| "get" : { | |
| "tags" : [ "Global" ], | |
| "summary" : "Returns true if the ODAG Service is available for the caller.", | |
| "operationId" : "IsOdagAvailable", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/IsAvailableResponse" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Global" | |
| } | |
| }, | |
| "/links" : { | |
| "get" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Gets Links.", | |
| "description" : "A Link object defines an on-demand data navigation path between a selection app and a template app 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 of the supplied optional parameters: 'optOwnedBy', 'optModelGroupId', 'optSelectAppId' and 'optTemplateAppId'.", | |
| "operationId" : "LinksGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "optOwner", | |
| "in" : "query", | |
| "description" : "The userDirectory\\userId to use to limit the set of returned objects to those owned by a specific user.", | |
| "required" : false, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "Array Of LinkStateFull", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkStateFull" | |
| } | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid parameter values (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| }, | |
| "post" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Create a new link.", | |
| "description" : "Creates a new link that enables ODAG navigation from a designated selection app to an app that is instantiated by copying the designated template app, injecting values for bind variables harvested from the selection app and dynamically loaded with data using those binidngs. The Bindings will be initialized by searching the load script of the template app for patterns of the form '$(od_FIELDNAME)[M-N]' where FIELDNAME is the name of a field in the model of the selection app 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 app 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 app's selection state. The Bindings of the LinkPayload override the properties of the corresponding field Bindings found in the script of the template app.", | |
| "operationId" : "LinkCreate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "in" : "body", | |
| "name" : "linkPayload", | |
| "description" : "A json payload containing the content for a new ODAG link.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkAddPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "201" : { | |
| "description" : "Successful response: Link created.", | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkStateChangeResponse" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid link payload (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid referenced object id (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/links/cancreate" : { | |
| "get" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Find out if current user can create links.", | |
| "description" : "Return an object containing 'canCreateLinks'. If either (or both) of the two parameters are passed, they are included in the test (e.g. does the user have permission to create a link using a specific template app and/or in the context of a specific selection app).", | |
| "operationId" : "LinkCanCreate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "optTemplateAppId", | |
| "in" : "query", | |
| "description" : "An optional parameter for specifying the id of a template app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "optSelectAppId", | |
| "in" : "query", | |
| "description" : "An optional parameter for specifying the id of a selection app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "optDenyIfSelAppNotUpdatable", | |
| "in" : "query", | |
| "description" : "Optional parameter which allows ODAG client to have OdagService test whether the selection app is not updatable and force a denial for LinkCreate privilege in that case. This parameter will be ignored if OptSelectAppId is not also supplied.", | |
| "required" : false, | |
| "type" : "boolean" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response: see 'canCreateLinks' member of response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/CanCreateLinks" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/links/{linkId}" : { | |
| "get" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Get a Link.", | |
| "description" : "Get the details of a link including its list of Bindings, Properties and status information.", | |
| "operationId" : "LinkGet", | |
| "produces" : [ "applixation/json" ], | |
| "parameters" : [ { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkStateChangeResponse" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid link id (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| }, | |
| "put" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Update a link.", | |
| "description" : "Update the properties of a link using a combination of Bindings, LinkPropSettings and optionally re-examining the $(od_FIELDNAME) usages in the script of the template app.", | |
| "operationId" : "LinkUpdate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "linkPayload", | |
| "description" : "A json payload containing the contents to use for updating an existing link.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkModifyPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response: the link was updated.", | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkStateChangeResponse" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "A bad combination of LinkPropSettings was supplied (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid link or referenced object id (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| }, | |
| "delete" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Delete a link.", | |
| "description" : "Delete a link.", | |
| "operationId" : "LinkDelete", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response: the link has been deleted.", | |
| "schema" : { | |
| "$ref" : "#/definitions/DeleteAck" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Link deletion not possible (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Link id not found." | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/links/{linkId}/requests" : { | |
| "get" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Get a list of requests for a specific link.", | |
| "description" : "Return a list of ODAG requests for a specific link and that optionally match a set of conditions defined by a combination of additional optional parameters.", | |
| "operationId" : "LinkRequestsGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "selectionAppId", | |
| "in" : "query", | |
| "description" : "An optional reference to the id of a selection app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "clientContextHandle", | |
| "in" : "query", | |
| "description" : "An optional reference to the client context (e.g. NavPoint) for which an OdagRequest is (or was) created.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "selectionAppSheet", | |
| "in" : "query", | |
| "description" : "The name (or id) of the sheet to filter qualifiying ODAG requests.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "pending", | |
| "in" : "query", | |
| "description" : "Pass 'true' if only pending requests should be returned.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see array of requests in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestArray" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "An invalid combination of parameters was supplied (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid link id.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| }, | |
| "post" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Submit an ODAG request.", | |
| "description" : "This method submits a new app generation request to the ODAG service. This method attempts to validate the user's current selection app session state by applying the LinkPropSetting rules applicable to the user. If the validation succeeds, the request to create the application is queued and the method returns successfully with a summary of the created request (note that it is the caller's responsibility to monitor the status of the ODAG request using subsequent GET calls to the created request). If the validation fails, the methiod returns the 400 error code along with a relevant error object. Note that the optional 'optSelectionState' body parameter is only used in instances of the ODAG service running in 'TEST' mode to supply selection state values for the selection app from test case input data (otherwise it is ignored). If no 'engineGroup' property applies to this link and user combination, the data load phase of this request will be queued on the single engine queue for the same engine serving the selection app. If an engineGroup property does apply to the submitting user but the engine group does not exist or has been paused, the request validation will fail with an error.", | |
| "operationId" : "LinkRequestCreate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "requestPostPayload", | |
| "description" : "JSON payload to send to RequestCreate", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestCreatePayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "201" : { | |
| "description" : "Successful response - the request has been queued.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "The selection app was in an invalid state to proceeed with this app generation (see error object for details).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid link id.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/modelgroups" : { | |
| "get" : { | |
| "tags" : [ "ModelGroup" ], | |
| "summary" : "Gets a list of ModelGroup objects that match a specific name pattern.", | |
| "description" : "A model group is a collection of Qlik Sense apps that share one or more of the same model dimensions and at least one fact measure but where the level of granularity on one or more of the shared dimensions may differ (e.g. 'Count of Flights by Week' vs. individual flight records). Different apps in the same ModelGroup will typically vary based on the degree of granularity of their dimension data and the extent to which different filters were applied when querying their data sets from their source.", | |
| "operationId" : "ModelGroupsGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "pattern", | |
| "in" : "query", | |
| "description" : "Search pattern to match against the names of ModelGroups to be returned.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "full", | |
| "in" : "query", | |
| "description" : "Set this optional query parameter to true if you want the full state of each ModelGroup returned otherwise only the condensed form will be returned.", | |
| "required" : false, | |
| "type" : "boolean" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "Array Of ModelGroupStateFull", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupStateFull" | |
| } | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid parameter values or combination (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| }, | |
| "post" : { | |
| "tags" : [ "ModelGroup" ], | |
| "summary" : "Add a new model group.", | |
| "description" : "This method creates a new model group (see ModelGroupsGet for more information on model groups).", | |
| "operationId" : "ModelGroupCreate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "in" : "body", | |
| "name" : "payload", | |
| "description" : "A json payload containing the content of a new model group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupAddPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "201" : { | |
| "description" : "Successful response: ModelGroup created.", | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupStateChangeResponse" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid model group payload (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| } | |
| }, | |
| "/modelgroups/{modelGroupId}" : { | |
| "get" : { | |
| "tags" : [ "ModelGroup" ], | |
| "summary" : "Get the details of a specific model group.", | |
| "description" : "Returns a full description of a Model Group.", | |
| "operationId" : "ModelGroupGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group to get.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response. Note that unless you have the paid license version, the app counts in the ModelGroupDetails response will be all 0.", | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupStateFull" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid ID supplied.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Model Group not found." | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| }, | |
| "put" : { | |
| "tags" : [ "ModelGroup" ], | |
| "summary" : "Update one or more of the mutable properties of a Model Group.", | |
| "description" : "Only mutable fields will be updated.", | |
| "operationId" : "ModelGroupUpdate", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group to update.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "payload", | |
| "description" : "A json payload containing the content of a model group to modify.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupModifyPayload" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - model group updated.", | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupStateChangeResponse" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid model group payload or model group id (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Model Group not found." | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| }, | |
| "delete" : { | |
| "tags" : [ "ModelGroup" ], | |
| "summary" : "Decommission (or completely delete) a ModelGroup.", | |
| "description" : "Use this method to delete an existing ModelGroup.", | |
| "operationId" : "ModelGroupDelete", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group to delete.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response: the Model Group has been deleted.", | |
| "schema" : { | |
| "$ref" : "#/definitions/DeleteAck" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid Model Group id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Model Group not found." | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| } | |
| }, | |
| "/modelgroups/{modelGroupId}/apps" : { | |
| "get" : { | |
| "tags" : [ "App" ], | |
| "summary" : "Get a list of apps in a model group. [NOT AVAILABLE]", | |
| "description" : "Gets a list of all apps belong to a specific model group.", | |
| "operationId" : "App", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group whose apps are to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "appTypes", | |
| "in" : "query", | |
| "description" : "Any combination of 's', 't', 'g' to designate that the type of an app with respect to a model group is any combination of Selection, Template or Generated.", | |
| "required" : false, | |
| "type" : "string", | |
| "default" : "stg" | |
| }, { | |
| "name" : "inclOrphans", | |
| "in" : "query", | |
| "description" : "Include the names and ids of selection apps that have been deleted but that were members of the model group at the time they were deleted.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "A list of ModelGroupAppMembership objects.", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupAppMembership" | |
| } | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid model group id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "ModelGroup" | |
| }, | |
| "post" : { | |
| "tags" : [ "App" ], | |
| "summary" : "Add an app to a model group. [NOT AVAILABLE]", | |
| "description" : "Adds or updates the app status for an app in a model group. Note that an app is currently limited to belonging in a single model group and an error will be returned if an attempt is made to add it to a second model group. This method can be called multiple times on the same app to add additional app types to the same app.", | |
| "operationId" : "ModelGroupAppAdd", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group whose apps are to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "appId", | |
| "in" : "query", | |
| "description" : "The id of the app to add to (or update in) the Model Group.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "appTypes", | |
| "in" : "query", | |
| "description" : "Either 's', 't' or 'st' to denote whether this app is a selection app, a template app or both.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response." | |
| }, | |
| "400" : { | |
| "description" : "App cannot be added to or updated (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid Model Group Id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "App" | |
| } | |
| }, | |
| "/modelgroups/{modelGroupId}/apps/{appId}" : { | |
| "delete" : { | |
| "tags" : [ "App" ], | |
| "summary" : "Remove an app from a model group (or demote its app status). [NOT AVAILABLE]", | |
| "description" : "This method either removes an app from a model group entirely (see optional 'remove' parameter) or demotes one or more of its app statuses.", | |
| "operationId" : "ModelGroupAppRemove", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group whose app is to be removed or demoted.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "appId", | |
| "in" : "path", | |
| "description" : "The id of the app to be removed or demoted.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "demoteStatus", | |
| "in" : "query", | |
| "description" : "Either 's', 't' or 'st' to denote which app status to demote either selection, template or both. An app that is the source or template for a link can be demoted from that status which will decommission all such links. Either this parameter or 'remove' should be supplied but not both.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "remove", | |
| "in" : "query", | |
| "description" : "Set to 'true' to remove this app from the model group (note this is only possible if there are no links referencing this app). Either this parameter or 'demoteStatus' should be supplied but not both.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response." | |
| }, | |
| "400" : { | |
| "description" : "App cannot be removed or demoted (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid model group Id or app id supplied (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "App" | |
| } | |
| }, | |
| "/modelgroups/{modelGroupId}/links" : { | |
| "get" : { | |
| "tags" : [ "Link" ], | |
| "summary" : "Get links of a ModelGroup [NOT AVAILABLE]", | |
| "description" : "Gets all of the links for the specified ModelGroup.", | |
| "operationId" : "ModelGroupGetLinks", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "modelGroupId", | |
| "in" : "path", | |
| "description" : "The id of the Model Group whose whose links are to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "view", | |
| "in" : "query", | |
| "description" : "Either 'Short' or 'Full'. 'Short' view returns an abreviated form of LinkSummary objects containing the id, selectAppId, selectAppName, templateAppId, templateAppName and status fields while the 'Full' view returns those plus the counts of the number of current apps and all historical apps generated with this link. Note that unless you have the premium version, the app counts for the 'Full' view will be all 0.", | |
| "required" : false, | |
| "type" : "string", | |
| "default" : "Short" | |
| }, { | |
| "name" : "inclDecom", | |
| "in" : "query", | |
| "description" : "If 'true', include decommissioned Links in the response list.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "inclBindings", | |
| "in" : "query", | |
| "description" : "If 'true', include the list of bindings for each returned link.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "inclProps", | |
| "in" : "query", | |
| "description" : "If 'true', include the list of properties for each returned link.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "filterUser", | |
| "in" : "query", | |
| "description" : "Meaningful only in combination with incProps=true optional parameter, this optional parameter allows the caller to request that only the properties that are relevant to the specified user be returned.", | |
| "required" : false, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response.", | |
| "schema" : { | |
| "type" : "array", | |
| "title" : "Array of LinkSummary", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkSummary" | |
| } | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Invalid parameter values or combination (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid model group id (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Link" | |
| } | |
| }, | |
| "/requests" : { | |
| "get" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Get a list of ODAG requests.", | |
| "description" : "Returns a list of ODAG request objects matching the combination of search criteria provided. Only a single id parameter may be supplied in a single request but any combination of the other parameters maybe included. The OptEngineGroupNamePattern and OptEngineGroupId further restricts the set of returned requests to those that are (or were) assigned to specific engine groups. These 2 engine group parameters are a only supported in the premium version of the ODAG service and an error will be returned on any attempt to supply values for both parameters in the same method call.", | |
| "operationId" : "RequestsGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "optLinkId", | |
| "in" : "query", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "optSelectAppId", | |
| "in" : "query", | |
| "description" : "An optional parameter for specifying the id of a selection app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "createdOnOrAfter", | |
| "in" : "query", | |
| "description" : "A time range in which an object was created on or after the specified timestamp.", | |
| "required" : false, | |
| "type" : "string", | |
| "format" : "date-time" | |
| }, { | |
| "name" : "createdBefore", | |
| "in" : "query", | |
| "description" : "A time range in which an object was created prior to the specified timestamp.", | |
| "required" : false, | |
| "type" : "string", | |
| "format" : "date-time" | |
| }, { | |
| "name" : "user", | |
| "in" : "query", | |
| "description" : "The name of the user who submitted the request.", | |
| "required" : false, | |
| "type" : "string" | |
| }, { | |
| "name" : "state", | |
| "in" : "query", | |
| "description" : "Any combination of the following request state flags: q = queued, v = validating, i = invalid,c = canceled, h = hold/pending, l = loading, f = done but failed, s = done successfully, d = done (success or failed)", | |
| "required" : false, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see array of requests in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestArray" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "An invalid combination of parameters was supplied (see detailed error).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/requests/{requestId}" : { | |
| "get" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Get the status of a request.", | |
| "description" : "Use this method to query the status of a request. If the request is a multiple app gen request, the returned RequestStatus object will contain an embedded array of RequestStatus objects, one for each sub-request of the multiple app gen request.", | |
| "operationId" : "RequestGet", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of the request whose status is to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "startOffset", | |
| "in" : "query", | |
| "description" : "The offset in the reload log file to start reading log records. If this parameter is not supplied (or a negative number is passed), then the first and last 50 records of the log file are returned (with an intervening record stating the number of skipped records in between). These recorda are returned in the loadState.messages.contents field of the OdagRequest object response. Note that if the reload phase is not reached or is cancelled, no reload log file will exist and the returned OdagRequest object will have a loadState.messages.logreaderr string stating that no logfile exists.", | |
| "required" : false, | |
| "type" : "integer", | |
| "default" : -1 | |
| }, { | |
| "name" : "count", | |
| "in" : "query", | |
| "description" : "The number of records to read from the reload log file starting at startOffset.", | |
| "required" : false, | |
| "type" : "integer", | |
| "default" : 100 | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see request status in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid request id.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| }, | |
| "put" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Perform some action on a request.", | |
| "description" : "This method is used to perform actions on requests such as pausing, resuming and canceling them. A 'single' or 'singlesub' request can be paused if it has not yet reached the data 'loading' phase. Cancel and pause actions can be performed on a 'multiple' app generation request that has at least one singlesub request that has not reached the 'loading' phase in which case the 'cancel' or 'pause' action applies to just that subset of sub-requests. The ODAG service will return an error if a request completes before a pause of cancel command is sent or acted upon.", | |
| "operationId" : "RequestAction", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of the request whose status is to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "name" : "action", | |
| "in" : "query", | |
| "description" : "The action to perform on the request. One of: 1. cancel a pending or in-flight request (or cancel the sub-requests of a multiple app gen request that have not yet completed); 2. pause a request that is not started (i.e. still in the queued state); 3. resume a paused request; 4. acknowledge a prior cancelation or 5. acknowledge the failure of a prior, failed request.", | |
| "required" : true, | |
| "type" : "string", | |
| "enum" : [ "cancel", "pause", "resume", "ackcancel", "ackfailure" ] | |
| }, { | |
| "name" : "delGenApp", | |
| "in" : "query", | |
| "description" : "An optional flag that will delete the generated app following a cancel (with autoAck), ackcancel or ackfailure action. This optional parameter is only considered in the cases where 'action' parameter is either 'cancel' (with auto-ack=true), 'ackcancel' or 'ackfailure'.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "autoAck", | |
| "in" : "query", | |
| "description" : "An optional flag that can be supplied with the 'cancel' action that, when true, will automatically transition a canceled request to the 'canceled-ack' state following its actual cancelation. Without a 'true' setting for this parameter, the 'cancel' action will transition the state to 'canceled' following actual cancelation of processing (note that there may be a delay in the interim where the state is 'canceling'). Without passing autoAck = true, a subseqeuent 'ackcancel' action must be invoked using this endpoint to acknowledge the cancelation.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| }, { | |
| "name" : "ignoreSucceeded", | |
| "in" : "query", | |
| "description" : "An optional flag that can be supplied with the 'cancel' action that, when true, will not return error if the request went to succeeded state while the request was being sent.", | |
| "required" : false, | |
| "type" : "boolean", | |
| "default" : false | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see request status in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid request id or action for current request state.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| }, | |
| "delete" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Delete a request. [NOT AVAILABLE]", | |
| "description" : "This method removes all record of a request. If the request is a multiple app gen request, all of its sub-requests are also removed. Any apps that were generated from the request(s) will not be affected. Only requests that are in one of the following states can be deleted, otherwise an error will be returned: 'invalid', 'canceled', 'done - failed', 'done - success'.", | |
| "operationId" : "RequestDelete", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of the request to be removed.", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response: the request has been deleted.", | |
| "schema" : { | |
| "$ref" : "#/definitions/DeleteAck" | |
| } | |
| }, | |
| "400" : { | |
| "description" : "Request not in valid state for deletion (see detailed error message).", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Request id not found." | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/requests/{requestId}/renameApp" : { | |
| "post" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Rename the app generated by the request", | |
| "description" : "Renames the generated app.", | |
| "operationId" : "RenameApp", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of a request", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "renameAppPayload", | |
| "description" : "JSON payload to send to RequestRenameApp", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/RenameApp" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see request status in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "403" : { | |
| "description" : "Insufficient privilege to rename the generated app. User must be either owner of the request of the generated app.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid request id or generated app not found.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/requests/{requestId}/reloadApp" : { | |
| "post" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Reload the app generated by the request", | |
| "description" : "Reloads the generated app.", | |
| "operationId" : "ReloadApp", | |
| "produces" : [ "application/json" ], | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of a request", | |
| "required" : true, | |
| "type" : "string" | |
| }, { | |
| "in" : "body", | |
| "name" : "reloadAppPayload", | |
| "description" : "JSON payload to send to RequestReloadApp", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ReloadApp" | |
| } | |
| } ], | |
| "responses" : { | |
| "200" : { | |
| "description" : "Successful response - see request status in response.", | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "403" : { | |
| "description" : "Insufficient privilege to reload the generated app. User must be either owner of the request of the generated app.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid request id or generated app not found.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/requests/{requestId}/app" : { | |
| "delete" : { | |
| "tags" : [ "Request" ], | |
| "summary" : "Delete the app generated by the request", | |
| "description" : "Deletes the generated app.", | |
| "operationId" : "DeleteApp", | |
| "parameters" : [ { | |
| "name" : "requestId", | |
| "in" : "path", | |
| "description" : "The id of a request", | |
| "required" : true, | |
| "type" : "string" | |
| } ], | |
| "responses" : { | |
| "204" : { | |
| "description" : "Successful response - No Content." | |
| }, | |
| "403" : { | |
| "description" : "Insufficient privilege to delete the generated app. User must be either owner of the request or the odag link.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| }, | |
| "404" : { | |
| "description" : "Invalid request id or generated app not found.", | |
| "schema" : { | |
| "$ref" : "#/definitions/Error" | |
| } | |
| } | |
| }, | |
| "x-swagger-router-controller" : "Request" | |
| } | |
| }, | |
| "/swagger" : { | |
| "x-swagger-pipe" : "swagger_raw" | |
| } | |
| }, | |
| "definitions" : { | |
| "Error" : { | |
| "type" : "object", | |
| "properties" : { | |
| "statusCode" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "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 (use lacks permission), 404 - Object not found, 409 - Attempt to change an object using an obsolete last ModifiedDate." | |
| }, | |
| "message" : { | |
| "type" : "string", | |
| "description" : "The message describing the error." | |
| }, | |
| "msgCode" : { | |
| "type" : "string", | |
| "description" : "A unique code used to identify the template form of the message in i18n tables (language independent)." | |
| }, | |
| "errType" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "DeleteAck" : { | |
| "type" : "object", | |
| "properties" : { | |
| "link" : { | |
| "$ref" : "#/definitions/DeleteAck_link" | |
| }, | |
| "data" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/DeleteAck_data" | |
| } | |
| } | |
| } | |
| }, | |
| "AppId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for an app." | |
| }, | |
| "UserId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for a Qlik user." | |
| }, | |
| "StreamId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for a Qlik Sense Stream." | |
| }, | |
| "AppName" : { | |
| "type" : "string", | |
| "description" : "The name of an app." | |
| }, | |
| "AppGroupStatusDesc" : { | |
| "type" : "string", | |
| "description" : "Any combination of 's', 't', 'g' to designate that the type of an app with respect to a model group is any combination of Selection, Template or Generated. The default value for this property is 'stg'." | |
| }, | |
| "AppIsOrphanFlag" : { | |
| "type" : "string", | |
| "description" : "'Y' if this application has been deleted (otherwise 'N')." | |
| }, | |
| "Timestamp" : { | |
| "type" : "string", | |
| "format" : "date-time", | |
| "description" : "A timestamp indicating when a significant event happend." | |
| }, | |
| "ModelGroupId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for a model group." | |
| }, | |
| "ModelGroupStatus" : { | |
| "type" : "string", | |
| "description" : "The current status of the model group.", | |
| "enum" : [ "active", "disabled", "decommissioned", "purged" ] | |
| }, | |
| "ModelGroupName" : { | |
| "type" : "string", | |
| "description" : "The name of a model group." | |
| }, | |
| "LinkName" : { | |
| "type" : "string", | |
| "description" : "The name of a link." | |
| }, | |
| "ModelGroupDescription" : { | |
| "type" : "string", | |
| "description" : "Any descriptive text for the model group." | |
| }, | |
| "ObjectChangeFeedback" : { | |
| "type" : "object", | |
| "required" : [ "content", "infoType" ], | |
| "properties" : { | |
| "infoType" : { | |
| "type" : "string", | |
| "enum" : [ "INFO", "WARN" ] | |
| }, | |
| "content" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "OdagConfigResponse" : { | |
| "type" : "object", | |
| "required" : [ "appCleanupInterval", "concurrentRequests", "engineHost", "enginePort", "host", "logLevel", "logPath", "logToConsole", "port", "protocol", "qrsHost", "qrsPort", "secure" ], | |
| "properties" : { | |
| "host" : { | |
| "type" : "string", | |
| "description" : "The host on which the OdagService is running." | |
| }, | |
| "port" : { | |
| "type" : "integer", | |
| "description" : "The port on which the OdagService listens for REST calls." | |
| }, | |
| "secure" : { | |
| "type" : "boolean", | |
| "description" : "True if the OdagService is running in secure (SSL) mode." | |
| }, | |
| "protocol" : { | |
| "type" : "string", | |
| "description" : "Either http or https." | |
| }, | |
| "qrsHost" : { | |
| "type" : "string", | |
| "description" : "The host of the QRS that the OdagService uses." | |
| }, | |
| "qrsPort" : { | |
| "type" : "integer", | |
| "description" : "The port of the QRS that the OdagService uses." | |
| }, | |
| "engineHost" : { | |
| "type" : "string", | |
| "description" : "The host of the Engine that the OdagService uses." | |
| }, | |
| "enginePort" : { | |
| "type" : "integer", | |
| "description" : "The port of the Engine that the OdagService uses." | |
| }, | |
| "logPath" : { | |
| "type" : "string", | |
| "description" : "The base path for the OdagService log files." | |
| }, | |
| "logLevel" : { | |
| "type" : "string", | |
| "description" : "The logging level." | |
| }, | |
| "logToConsole" : { | |
| "type" : "boolean", | |
| "description" : "Should log messages be output to console." | |
| }, | |
| "concurrentRequests" : { | |
| "type" : "string", | |
| "description" : "The maximum number of concurrent ODAG Requests to process concurrently before queuing." | |
| }, | |
| "purgeOlderThan" : { | |
| "type" : "integer", | |
| "description" : "The no of days to keep old OdagRequests and OdagLinks." | |
| }, | |
| "appCleanupInterval" : { | |
| "type" : "string", | |
| "description" : "The interval (in minutes) of time that elapses between each cycle for looking for expired apps to delete." | |
| }, | |
| "linkCleanupInterval" : { | |
| "type" : "string", | |
| "description" : "The interval (in minutes) of time that elapses between each cycle for looking for expired links and requests to delete." | |
| } | |
| } | |
| }, | |
| "AboutResponse" : { | |
| "type" : "object", | |
| "required" : [ "apiVersion", "componentVersion", "config", "enabled", "license", "service", "termsOfUse" ], | |
| "properties" : { | |
| "service" : { | |
| "type" : "string", | |
| "description" : "Service component name" | |
| }, | |
| "componentVersion" : { | |
| "type" : "string", | |
| "description" : "The service version number" | |
| }, | |
| "apiVersion" : { | |
| "type" : "string", | |
| "description" : "The version of the API" | |
| }, | |
| "enabled" : { | |
| "type" : "boolean", | |
| "description" : "True if the OdagService is enabled (false otherwise)" | |
| }, | |
| "license" : { | |
| "type" : "string", | |
| "description" : "Product license terms" | |
| }, | |
| "termsOfUse" : { | |
| "type" : "string", | |
| "description" : "Product terms of use" | |
| }, | |
| "config" : { | |
| "$ref" : "#/definitions/OdagConfigResponse" | |
| } | |
| } | |
| }, | |
| "IsAvailableResponse" : { | |
| "type" : "object", | |
| "required" : [ "available" ], | |
| "properties" : { | |
| "available" : { | |
| "type" : "boolean", | |
| "description" : "'true' if the current user has access to an operational ODAG service." | |
| } | |
| } | |
| }, | |
| "CheckSettingsResponse" : { | |
| "type" : "object", | |
| "required" : [ "status" ], | |
| "properties" : { | |
| "status" : { | |
| "type" : "boolean", | |
| "description" : "'true' if the OdagService global settings check was successful." | |
| } | |
| } | |
| }, | |
| "ModelGroupAppMembership" : { | |
| "type" : "object", | |
| "required" : [ "appId", "appName", "appTypes", "isOrphan", "modelGroupId" ], | |
| "properties" : { | |
| "modelGroupId" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| }, | |
| "appId" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "appName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "appTypes" : { | |
| "$ref" : "#/definitions/AppGroupStatusDesc" | |
| }, | |
| "isOrphan" : { | |
| "$ref" : "#/definitions/AppIsOrphanFlag" | |
| }, | |
| "appCreatedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "appLastModifiedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "appLastReloadedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| } | |
| }, | |
| "description" : "A record denoting that a specific app is a member of a ModelGroup and in what capacities (i.e. selection pp, template app, generated app or some combination thereof)." | |
| }, | |
| "ModelGroupAddPayload" : { | |
| "type" : "object", | |
| "required" : [ "name" ], | |
| "properties" : { | |
| "name" : { | |
| "$ref" : "#/definitions/ModelGroupName" | |
| }, | |
| "description" : { | |
| "$ref" : "#/definitions/ModelGroupDescription" | |
| } | |
| }, | |
| "description" : "The payload used to create a new ModelGroup." | |
| }, | |
| "ModelGroupModifyPayload" : { | |
| "type" : "object", | |
| "required" : [ "modifiedDate" ], | |
| "properties" : { | |
| "name" : { | |
| "$ref" : "#/definitions/ModelGroupName" | |
| }, | |
| "description" : { | |
| "$ref" : "#/definitions/ModelGroupDescription" | |
| }, | |
| "modifiedDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| } | |
| }, | |
| "description" : "The payload used to modify a ModelGroup." | |
| }, | |
| "AppStatusAck" : { | |
| "type" : "object", | |
| "required" : [ "appId", "appName", "appTypes", "isMember", "modelGroupId" ], | |
| "properties" : { | |
| "modelGroupId" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| }, | |
| "appId" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "appName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "appTypes" : { | |
| "$ref" : "#/definitions/AppGroupStatusDesc" | |
| }, | |
| "isMember" : { | |
| "type" : "boolean", | |
| "description" : "Denotes whether the app is still a member of the model group." | |
| } | |
| }, | |
| "description" : "An object that reflects the membership status of a specific App within a specific ModelGroup." | |
| }, | |
| "UserStateCondensed" : { | |
| "type" : "object", | |
| "required" : [ "id", "name", "userDirectory", "userId" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/UserId" | |
| }, | |
| "userId" : { | |
| "type" : "string" | |
| }, | |
| "userDirectory" : { | |
| "type" : "string" | |
| }, | |
| "name" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "description" : "Condensed state of a Qlik Sense user returned in state of ownable ODAG entities (e.g. ModelGroup, Link and EngineGroup)." | |
| }, | |
| "AppStateCondensed" : { | |
| "type" : "object", | |
| "required" : [ "appId", "availabilityStatus", "id", "migrationHash", "name", "publishTime", "published", "savedInProductVersion", "stream" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "appId" : { | |
| "type" : "string" | |
| }, | |
| "publishTime" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "published" : { | |
| "type" : "boolean" | |
| }, | |
| "stream" : { | |
| "$ref" : "#/definitions/StreamId" | |
| }, | |
| "savedInProductVersion" : { | |
| "type" : "string" | |
| }, | |
| "migrationHash" : { | |
| "type" : "string" | |
| }, | |
| "availabilityStatus" : { | |
| "type" : "integer" | |
| } | |
| }, | |
| "description" : "Condensed state of app returned in state if Link, LinkUsage, Request and ODAG App GET calls." | |
| }, | |
| "ModelGroupStateFull" : { | |
| "type" : "object", | |
| "required" : [ "createdDate", "id", "modifiedByUserName", "modifiedDate", "name", "owner", "privileges", "status" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| }, | |
| "createdDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedByUserName" : { | |
| "type" : "string" | |
| }, | |
| "owner" : { | |
| "$ref" : "#/definitions/UserStateCondensed" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/ModelGroupName" | |
| }, | |
| "status" : { | |
| "$ref" : "#/definitions/ModelGroupStatus" | |
| }, | |
| "privileges" : { | |
| "type" : "array", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "description" : "The status of a ModelGroup." | |
| }, | |
| "ModelGroupStateChangeResponse" : { | |
| "type" : "object", | |
| "required" : [ "objectDef" ], | |
| "properties" : { | |
| "objectDef" : { | |
| "$ref" : "#/definitions/ModelGroupStateFull" | |
| }, | |
| "feedback" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ObjectChangeFeedback" | |
| } | |
| } | |
| }, | |
| "description" : "The format of the response return from a ModelGroupCreate or ModelGroupUpdate operation." | |
| }, | |
| "LinkId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for a link." | |
| }, | |
| "LinkStatus" : { | |
| "type" : "string", | |
| "description" : "The current status of a link.", | |
| "enum" : [ "active", "disabled", "decommissioned", "incomplete" ] | |
| }, | |
| "CanCreateLinks" : { | |
| "type" : "object", | |
| "required" : [ "canCreateLinks" ], | |
| "properties" : { | |
| "canCreateLinks" : { | |
| "type" : "boolean" | |
| } | |
| }, | |
| "description" : "An object used to inform the caller whether the current user has privilege to create new Links." | |
| }, | |
| "LinkStatusSetting" : { | |
| "type" : "string", | |
| "description" : "The valid set of status change types for a LinkCreate or LinkUpdate request. On a LinkCreate operation, the default vakue for this setting is 'activate'. On a LinkUpdate operation, the default behavior is to make no status changes unless the result of the update renders a Link to be completed and then the default status is set to active. In either the LinkCreate or LinkUpdate casse, if the state of the Link following the changes is still missing properties required for it to support ODAG, the status will automatically be set to 'incomplete' regardless of the status value specified so it is the caller's resposibility to read the actual status value returned in the object. It is not possible to activate or disable a Link that is incomplete unless the changes supplied in the LinkUpdate call provide values for all required properties.", | |
| "enum" : [ "activate", "disable", "decommission" ] | |
| }, | |
| "SelectStatus" : { | |
| "type" : "string", | |
| "description" : "The valid set of selection states that a specific field value can be in: S = Selected; O = Optional; X = excluded", | |
| "enum" : [ "S", "O", "X" ] | |
| }, | |
| "SelectAppParamType" : { | |
| "type" : "string", | |
| "description" : "The different kinds of selection app parameters whose values can be bound to the script of template apps when generating new apps. Note that 'Exclude' is used to specifically prevent fields defined as optional bind parameters in the template app script from being bound (these must either not have the optional quantity constraint specifiers or have a minimum quantity of 0).", | |
| "enum" : [ "Field", "Variable", "Property", "Exclude" ] | |
| }, | |
| "SelectionStateDescr" : { | |
| "type" : "string", | |
| "description" : "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 app to harvest as bind values to inject into the script of the template app at ODAG request submission time. This is currently only settable in the template app script and not when creating or updating a Link. This is currently only settable in the template app script and not when creating or updating a Link." | |
| }, | |
| "ValueCountRange" : { | |
| "type" : "object", | |
| "properties" : { | |
| "lowerBound" : { | |
| "type" : "integer" | |
| }, | |
| "upperBound" : { | |
| "type" : "integer" | |
| } | |
| }, | |
| "description" : "The lower and upper bound for the permitted number of values that must exist in the selection app'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." | |
| }, | |
| "BindFormatting" : { | |
| "type" : "object", | |
| "properties" : { | |
| "delimiter" : { | |
| "type" : "string", | |
| "description" : "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." | |
| }, | |
| "quote" : { | |
| "type" : "string", | |
| "description" : "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 comma character will be used by default. Use and empty string to suppress quote wrapping the values." | |
| } | |
| }, | |
| "description" : "A property value that describes the formatting of field values in a Binding. This is currently only settable in the template app script and not when creating or updating a Link." | |
| }, | |
| "NumericOnly" : { | |
| "type" : "boolean", | |
| "description" : "Set to 'true' to indicate that only numeric values from the select app source parameter should be used. The default value for this property, if left unspecified, is 'false'. This is currently only settable in the template app script and not when creating or updating a Link." | |
| }, | |
| "Binding" : { | |
| "type" : "object", | |
| "required" : [ "selectAppParamType", "templateAppVarName" ], | |
| "properties" : { | |
| "templateAppVarName" : { | |
| "type" : "string" | |
| }, | |
| "selectAppParamType" : { | |
| "$ref" : "#/definitions/SelectAppParamType" | |
| }, | |
| "selectAppParamName" : { | |
| "type" : "string", | |
| "description" : "The path (or name) of the selection app field, variable or property to obtain the list of values for this binding." | |
| }, | |
| "selectionStates" : { | |
| "$ref" : "#/definitions/SelectionStateDescr" | |
| }, | |
| "numericOnly" : { | |
| "$ref" : "#/definitions/NumericOnly" | |
| }, | |
| "range" : { | |
| "$ref" : "#/definitions/ValueCountRange" | |
| }, | |
| "formatting" : { | |
| "$ref" : "#/definitions/BindFormatting" | |
| } | |
| }, | |
| "description" : "An object that defines how values accesible in the selection app are to be harvested and injected into the data prep phase of the template app at app generation time." | |
| }, | |
| "BindingArray" : { | |
| "type" : "array", | |
| "description" : "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.", | |
| "items" : { | |
| "$ref" : "#/definitions/Binding" | |
| } | |
| }, | |
| "LinkUsageContext" : { | |
| "type" : "string", | |
| "description" : "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 LinkPropSetting applies to all users while User.name = joe' indciates the rule applies only to a specific user named 'joe'." | |
| }, | |
| "LinkPropRowEstRange" : { | |
| "type" : "object", | |
| "required" : [ "context", "highBound" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "lowBound" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "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" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "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." | |
| } | |
| }, | |
| "description" : "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." | |
| }, | |
| "LinkPropMenuLabel" : { | |
| "type" : "object", | |
| "required" : [ "context", "label" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "label" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "description" : "The default label to use for this Link in the context of the selection app's ODAG navigation menu." | |
| }, | |
| "LinkPropEngineGroup" : { | |
| "type" : "object", | |
| "required" : [ "context", "engineGroupId" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "engineGroupId" : { | |
| "$ref" : "#/definitions/EngineGroupId" | |
| } | |
| }, | |
| "description" : "The name of the Engine Group to queue all ODAG Requests to when this Link is traversed. [PREMIUM-VERSION-ONLY]" | |
| }, | |
| "AppNameParameter" : { | |
| "type" : "string", | |
| "description" : "One of the allowed variables that, when evaluated at ODAG Request execution time, can be used to compute a part of a generated app's name. In addition to this list, the user can also supply a string of the form '$(<expr>)' where <expr> is an expression that is evaluated in the context of the selection app to produce a string.", | |
| "enum" : [ "templateAppName", "userId", "userDirectory", "curYear", "curMonth", "curDay", "curHr", "curMin", "curSec", "curUtcYear", "curUtcMonth", "curUtcDay", "curUtcHr", "curUtcMin", "curUtzSec", "tzOff" ] | |
| }, | |
| "LinkPropGenAppName" : { | |
| "type" : "object", | |
| "required" : [ "context", "formatString" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "formatString" : { | |
| "type" : "string", | |
| "description" : "A string containing the base text of the name to use for the generated app and optionally any number of placeholder patterns of the form {N} where N is an integer greater than or equal to 0 identifying the offset in the 'params' array of an AppNameParameter to evaluate at ODAG Request execution time to compute a fragment of the generated app's name and insert it at the same position as its corresponding %N plaecholder." | |
| }, | |
| "params" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/AppNameParameter" | |
| } | |
| } | |
| }, | |
| "description" : "An object that defines how to compute the name to use for the generated app." | |
| }, | |
| "LinkPropGenAppLimit" : { | |
| "type" : "object", | |
| "required" : [ "context", "limit" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "limit" : { | |
| "type" : "integer" | |
| } | |
| }, | |
| "description" : "The limit to the number of apps generated using this specific Link that can exist, and still not deleted, before the policy defined by the appLimitPolicy property is applied. If no appLimitPolicy 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 apps that can be generated from this link for the user. The count of the current number of apps is based on just those apps generated by the current user (and still in existence) for this specific link. The minimim value for this property is 1." | |
| }, | |
| "LinkPropLimitPolicy" : { | |
| "type" : "object", | |
| "required" : [ "context", "limitPolicy" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "limitPolicy" : { | |
| "type" : "string", | |
| "enum" : [ "Restrict", "AutoDelete" ] | |
| } | |
| }, | |
| "description" : "The action to take when the limit to the maximum number of generated apps is reached." | |
| }, | |
| "LinkPropAppRetentionTime" : { | |
| "type" : "object", | |
| "required" : [ "context", "retentionTime" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "retentionTime" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "description" : "A string that defines the length of time that a generated app should be allowed to exist before it is automatically purged. The format must be in either ISO 8601 duration format or the text 'unlimited'." | |
| }, | |
| "LinkPropPublishTo" : { | |
| "type" : "object", | |
| "required" : [ "context", "streamId" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "streamId" : { | |
| "type" : "string", | |
| "description" : "The id of a stream in which to publish the generated app. If specified, the user creating or modifying the link must have publish permission on the stream at time of link creation or modification otherwise the request will be rejected. At runtime, the user generated the app must have read privilege on the stream in order to generated the app. If the Link owner no longer has publish privilege on the stream at the time the app is generated, a runtime error will occur " | |
| } | |
| }, | |
| "description" : "A stream in which to publish the generated app following successful app generation." | |
| }, | |
| "LinkPropReloadSchedule" : { | |
| "type" : "object", | |
| "required" : [ "context", "schedule" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "schedule" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "description" : "A text string definining the reload schedule for an automatically-created scheduler task for apps generated app using this link. [TODO: Need to define the format for this string (e.g. crontab?)] The lack of a value for this property means no scheduler task will be created for the generated app. [PREMIUM-VERSION-ONLY]" | |
| }, | |
| "LinkPropAppOpenMethod" : { | |
| "type" : "object", | |
| "required" : [ "context", "openMethod" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "openMethod" : { | |
| "type" : "string", | |
| "enum" : [ "Tab", "Window" ] | |
| } | |
| }, | |
| "description" : "Sets the default method by which the newly generated app 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 is not supported on the user's device or browser." | |
| }, | |
| "LinkPropCacheExpiry" : { | |
| "type" : "object", | |
| "required" : [ "cacheLife", "context" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "cacheLife" : { | |
| "type" : "integer" | |
| } | |
| }, | |
| "description" : "The duration of time, in seconds, starting from the time at which a previously produced app that was generated using the same Link and an identical selection state, for which the prior app can be used as a substitute for a freshly generated app. The lack of this property means that no prior generation of the app is suitable as a replacement and a new app will always be generated (unless the app generation limit has been reached and the limit policy is set to 'restrict'). [PREMIUM-VERSION-ONLY]" | |
| }, | |
| "LinkPropEphemeral" : { | |
| "type" : "object", | |
| "required" : [ "context", "isEphemeral" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "isEphemeral" : { | |
| "type" : "boolean" | |
| } | |
| }, | |
| "description" : "Set to 'true' to indicate that all apps generated using this link should be ephemeral and never stored to disk. [TODO: Requires session-app support in the Sense client and hub]. Note that if this property true the LinkPropAppRetentionTime property has no effect since the generated app will last only for the duration of the users current session with the generated app (i.e. the generated app is never saved). [PREMIUM-VERSION-ONLY]" | |
| }, | |
| "LinkPropDisable" : { | |
| "type" : "object", | |
| "required" : [ "context", "disable" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "disable" : { | |
| "type" : "boolean" | |
| } | |
| }, | |
| "description" : "Set to 'true' to temporarily disable using this Link to generate apps." | |
| }, | |
| "LinkPropHide" : { | |
| "type" : "object", | |
| "required" : [ "context", "hide" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "hide" : { | |
| "type" : "boolean" | |
| } | |
| }, | |
| "description" : "Set to 'true' to temporarily hide access to all usages of this Link. Note: It is the resposibility if the clients to consult this setting on a per-user, per-use case basis to actually hide the links and their client usages)." | |
| }, | |
| "LinkPropTargetSheet" : { | |
| "type" : "object", | |
| "required" : [ "context", "sheetId" ], | |
| "properties" : { | |
| "context" : { | |
| "$ref" : "#/definitions/LinkUsageContext" | |
| }, | |
| "sheetId" : { | |
| "type" : "string", | |
| "description" : "The id of the sheet to first navigate to when opening the generated app from the selection app." | |
| }, | |
| "sheetName" : { | |
| "type" : "string", | |
| "description" : "An optional, read-only property that is returned on a call to Link.LinkGet in the case that the 'targetSheet' Link property exists for the current user in the Link's 'properties' set and the sheet by that id exists in the Link's templateApp." | |
| } | |
| }, | |
| "description" : "An optional property that a Link creator can specify to cause the client to navigate to a specific sheet in the generated app when opening the generated app from the selection app's navpoint panel." | |
| }, | |
| "LinkRowEstExpr" : { | |
| "type" : "string", | |
| "description" : "The measure expression to be evaluated in the context of the selection app for the link that estimates the number of records that will be qualified by the primary load query of the template app. This expression must be a valid expression in the context of the selection apps fields and update whenever the selection state of the selection app changes." | |
| }, | |
| "LinkProperties" : { | |
| "type" : "object", | |
| "required" : [ "rowEstRange" ], | |
| "properties" : { | |
| "rowEstRange" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropRowEstRange" | |
| } | |
| }, | |
| "menuLabel" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropMenuLabel" | |
| } | |
| }, | |
| "engineGroup" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropEngineGroup" | |
| } | |
| }, | |
| "genAppName" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropGenAppName" | |
| } | |
| }, | |
| "genAppLimit" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropGenAppLimit" | |
| } | |
| }, | |
| "limitPolicy" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropLimitPolicy" | |
| } | |
| }, | |
| "appRetentionTime" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropAppRetentionTime" | |
| } | |
| }, | |
| "publishTo" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropPublishTo" | |
| } | |
| }, | |
| "reloadSchedule" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropReloadSchedule" | |
| } | |
| }, | |
| "appOpenMethod" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropAppOpenMethod" | |
| } | |
| }, | |
| "cacheExpiry" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropCacheExpiry" | |
| } | |
| }, | |
| "ephemeral" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropEphemeral" | |
| } | |
| }, | |
| "disable" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropDisable" | |
| } | |
| }, | |
| "hide" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropHide" | |
| } | |
| }, | |
| "targetSheet" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkPropTargetSheet" | |
| } | |
| } | |
| }, | |
| "description" : "The complete set of possible properties for a link and their associated user context/value pairings." | |
| }, | |
| "LinkSummary" : { | |
| "type" : "object", | |
| "required" : [ "createdAt", "id", "lastModifiedAt", "name", "selectAppId", "selectAppName", "status", "templateAppId", "templateAppName" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/LinkId" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/LinkName" | |
| }, | |
| "createdAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "lastModifiedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "selectAppId" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "selectAppName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "templateAppId" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "templateAppName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "status" : { | |
| "$ref" : "#/definitions/LinkStatus" | |
| }, | |
| "curGenAppCount" : { | |
| "type" : "integer", | |
| "description" : "The count of all current apps that have been generated using this link." | |
| }, | |
| "historicalGenAppCount" : { | |
| "type" : "integer", | |
| "description" : "The count of all apps, currently existing or since deleted, that were generated using this link." | |
| }, | |
| "bindings" : { | |
| "$ref" : "#/definitions/BindingArray" | |
| }, | |
| "properties" : { | |
| "$ref" : "#/definitions/LinkProperties" | |
| }, | |
| "modelGroups" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| } | |
| } | |
| }, | |
| "description" : "An object that describes the state of a Link." | |
| }, | |
| "LinkAddPayload" : { | |
| "type" : "object", | |
| "required" : [ "name", "selectionApp" ], | |
| "properties" : { | |
| "name" : { | |
| "$ref" : "#/definitions/LinkName" | |
| }, | |
| "selectionApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "templateApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "rowEstExpr" : { | |
| "$ref" : "#/definitions/LinkRowEstExpr" | |
| }, | |
| "statusSetting" : { | |
| "$ref" : "#/definitions/LinkStatusSetting" | |
| }, | |
| "bindings" : { | |
| "$ref" : "#/definitions/BindingArray" | |
| }, | |
| "properties" : { | |
| "$ref" : "#/definitions/LinkProperties" | |
| }, | |
| "modelGroups" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| } | |
| } | |
| }, | |
| "description" : "An object that defines the properties of a Link to be created." | |
| }, | |
| "LinkModifyPayload" : { | |
| "type" : "object", | |
| "required" : [ "modifiedDate" ], | |
| "properties" : { | |
| "modifiedDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/LinkName" | |
| }, | |
| "templateApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "rowEstExpr" : { | |
| "$ref" : "#/definitions/LinkRowEstExpr" | |
| }, | |
| "statusSetting" : { | |
| "$ref" : "#/definitions/LinkStatusSetting" | |
| }, | |
| "bindings" : { | |
| "$ref" : "#/definitions/BindingArray" | |
| }, | |
| "properties" : { | |
| "$ref" : "#/definitions/LinkProperties" | |
| }, | |
| "modelGroups" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| } | |
| } | |
| }, | |
| "description" : "An object that defines the properties of a Link to be modified." | |
| }, | |
| "LinkStateFull" : { | |
| "type" : "object", | |
| "required" : [ "bindings", "createdDate", "id", "modelGroups", "modifiedByUserName", "modifiedDate", "name", "owner", "privileges", "properties", "status", "templateApp" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| }, | |
| "createdDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedByUserName" : { | |
| "type" : "string" | |
| }, | |
| "owner" : { | |
| "$ref" : "#/definitions/UserStateCondensed" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/ModelGroupName" | |
| }, | |
| "status" : { | |
| "$ref" : "#/definitions/LinkStatus" | |
| }, | |
| "templateApp" : { | |
| "$ref" : "#/definitions/AppStateCondensed" | |
| }, | |
| "bindings" : { | |
| "$ref" : "#/definitions/BindingArray" | |
| }, | |
| "properties" : { | |
| "$ref" : "#/definitions/LinkProperties" | |
| }, | |
| "modelGroups" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ModelGroupId" | |
| } | |
| }, | |
| "genAppAccessible" : { | |
| "type" : "boolean", | |
| "description" : "Only returned on LinkGet and set to true if user will have access to an app generated by this link." | |
| }, | |
| "privileges" : { | |
| "type" : "array", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "description" : "The full state of a Link." | |
| }, | |
| "LinkStateChangeResponse" : { | |
| "type" : "object", | |
| "required" : [ "objectDef" ], | |
| "properties" : { | |
| "objectDef" : { | |
| "$ref" : "#/definitions/LinkStateFull" | |
| }, | |
| "feedback" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/ObjectChangeFeedback" | |
| } | |
| } | |
| }, | |
| "description" : "The format of the response return from a LinkCreate or LinkUpdate operation." | |
| }, | |
| "OptLinkStateRef" : { | |
| "type" : "object", | |
| "required" : [ "id" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/LinkId" | |
| }, | |
| "link" : { | |
| "$ref" : "#/definitions/LinkStateFull" | |
| } | |
| }, | |
| "description" : "Used to return a possibly empty LinkStateFull object when querying multiple Links by id when any one of those id's may be bad or obsolete. If the 'link' field is missing in this object, it means that there was no Link for the corresponding id." | |
| }, | |
| "FieldValue" : { | |
| "type" : "object", | |
| "required" : [ "selStatus", "strValue" ], | |
| "properties" : { | |
| "selStatus" : { | |
| "$ref" : "#/definitions/SelectStatus" | |
| }, | |
| "strValue" : { | |
| "type" : "string" | |
| }, | |
| "numValue" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "FieldSelectionState" : { | |
| "type" : "object", | |
| "required" : [ "selectionAppParamName", "selectionAppParamType", "values" ], | |
| "properties" : { | |
| "selectionAppParamType" : { | |
| "$ref" : "#/definitions/SelectAppParamType" | |
| }, | |
| "selectionAppParamName" : { | |
| "type" : "string", | |
| "description" : "The name of a variable or field that corresponds to one or more bindings having a matching selectAppParamName used used to generate apps." | |
| }, | |
| "values" : { | |
| "type" : "array", | |
| "description" : "The list of values in the selection state for this field.", | |
| "items" : { | |
| "$ref" : "#/definitions/FieldValue" | |
| } | |
| }, | |
| "selectedSize" : { | |
| "type" : "integer", | |
| "description" : "The actual number of selected values. Not used for bindSelectionState." | |
| } | |
| }, | |
| "description" : "The set of values used by the bindings of a link used to generate an application." | |
| }, | |
| "SelectionState" : { | |
| "type" : "array", | |
| "description" : "A collection of FieldSelectionState objects.", | |
| "items" : { | |
| "$ref" : "#/definitions/FieldSelectionState" | |
| } | |
| }, | |
| "EngineGroupId" : { | |
| "type" : "string", | |
| "description" : "The id for an EngineGroup." | |
| }, | |
| "EngineGroupName" : { | |
| "type" : "string", | |
| "description" : "The name of an engine group." | |
| }, | |
| "EngineGroupDescription" : { | |
| "type" : "string", | |
| "description" : "The description for an engine group." | |
| }, | |
| "EngineGroupStatus" : { | |
| "type" : "string", | |
| "description" : "Valid set of states for engine grouops.", | |
| "enum" : [ "active", "hold", "decommissioned" ] | |
| }, | |
| "EngineGroupDetails" : { | |
| "type" : "object", | |
| "required" : [ "createdAt", "description", "id", "lastModifiedAt", "name", "status" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/EngineGroupId" | |
| }, | |
| "name" : { | |
| "$ref" : "#/definitions/EngineGroupName" | |
| }, | |
| "status" : { | |
| "$ref" : "#/definitions/EngineGroupStatus" | |
| }, | |
| "description" : { | |
| "$ref" : "#/definitions/EngineGroupDescription" | |
| }, | |
| "createdAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "lastModifiedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "engines" : { | |
| "type" : "array", | |
| "description" : "The EnginsServiceIds for the engines within an Engine Group.", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| } | |
| } | |
| }, | |
| "EngineGroupArray" : { | |
| "type" : "array", | |
| "description" : "An array of Engine Groups.", | |
| "items" : { | |
| "$ref" : "#/definitions/EngineGroupDetails" | |
| } | |
| }, | |
| "EngineGroupPayload" : { | |
| "type" : "object", | |
| "required" : [ "name" ], | |
| "properties" : { | |
| "name" : { | |
| "$ref" : "#/definitions/EngineGroupName" | |
| }, | |
| "description" : { | |
| "$ref" : "#/definitions/EngineGroupDescription" | |
| }, | |
| "assignments" : { | |
| "type" : "array", | |
| "description" : "List of hosts whose engines are assigned to this engine group.", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| } | |
| } | |
| }, | |
| "RequestId" : { | |
| "type" : "string", | |
| "description" : "The system-assigned id for an ODAG request." | |
| }, | |
| "RequestState" : { | |
| "type" : "string", | |
| "description" : "The current state of an ODAG request.", | |
| "enum" : [ "validating", "queued", "invalid", "hold", "loading", "canceled", "failed", "succeeded", "canceling", "canceledAck", "failedAck" ] | |
| }, | |
| "DataLoadStatus" : { | |
| "type" : "string", | |
| "description" : "The completion status of a completed Request.", | |
| "enum" : [ "pending", "success", "warnings", "failed" ] | |
| }, | |
| "RequestLoadInfo" : { | |
| "type" : "object", | |
| "required" : [ "loadHost", "startedAt" ], | |
| "properties" : { | |
| "loadHost" : { | |
| "type" : "string", | |
| "description" : "The name of the engine host that is performing (or performed) the data load operation for this request. This property will be missing in 'muiltple' app gen request (see the 'loadHost' field of their sub-requests) and will be an empty string on an 'single' or 'singlesub' request that has not yet reached the 'loading' phase." | |
| }, | |
| "startedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "finishedAt" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "status" : { | |
| "$ref" : "#/definitions/DataLoadStatus" | |
| }, | |
| "messages" : { | |
| "$ref" : "#/definitions/RequestLoadInfo_messages" | |
| } | |
| }, | |
| "description" : "An object that describes the state of a generated app's data load operation. In request objects that includ this object as an optional property, the property will be missing for 'multiple' app gen requests (see their sub-requests for their data load information) or for 'single' and 'singlesub' requests that have not yet reached their 'loading' phase." | |
| }, | |
| "RequestKind" : { | |
| "type" : "string", | |
| "description" : "For links that do not use any partitioning fields, a 'single' app generation request is created. However, for apps that designate a set of partitioning fields and the user selects multiple values for any of those partitioning fields, then the ODAG service uses a seperate, 'singlesub' app generation request to generate a separate app for each of the partition field value combinations chosen in the selection app and tracks the queuing and data load phase of each of those sub-apps separately. Note that 'singlesub' requests share the same link id of their spawning 'multi' parent request.", | |
| "enum" : [ "single", "multiple", "singlesub" ] | |
| }, | |
| "RequestStateFull" : { | |
| "type" : "object", | |
| "required" : [ "createdDate", "id", "kind", "link", "modifiedByUserName", "modifiedDate", "owner", "state", "templateApp" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/RequestId" | |
| }, | |
| "createdDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedDate" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "modifiedByUserName" : { | |
| "type" : "string" | |
| }, | |
| "owner" : { | |
| "$ref" : "#/definitions/UserStateCondensed" | |
| }, | |
| "link" : { | |
| "$ref" : "#/definitions/LinkId" | |
| }, | |
| "selectionApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "selectionAppName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "sheetname" : { | |
| "type" : "string" | |
| }, | |
| "generatedApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "generatedAppName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "engineGroupId" : { | |
| "$ref" : "#/definitions/EngineGroupId" | |
| }, | |
| "engineGroupName" : { | |
| "$ref" : "#/definitions/EngineGroupName" | |
| }, | |
| "parentRequestId" : { | |
| "$ref" : "#/definitions/RequestId" | |
| }, | |
| "kind" : { | |
| "$ref" : "#/definitions/RequestKind" | |
| }, | |
| "state" : { | |
| "$ref" : "#/definitions/RequestState" | |
| }, | |
| "templateApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "templateAppName" : { | |
| "$ref" : "#/definitions/AppName" | |
| }, | |
| "loadState" : { | |
| "$ref" : "#/definitions/RequestLoadInfo" | |
| }, | |
| "timeToLive" : { | |
| "type" : "integer", | |
| "description" : "The value of the Link's appRetentionTime property at the time the app was generated (0 means no auto-purge)." | |
| }, | |
| "retentionTime" : { | |
| "type" : "integer", | |
| "description" : "The remaining time in minutes this request will be retained (0 means kept forever)." | |
| }, | |
| "purgeAfter" : { | |
| "$ref" : "#/definitions/Timestamp" | |
| }, | |
| "curRowEstExpr" : { | |
| "type" : "string", | |
| "description" : "The Link's rowEstExpr property setting at the time this request was initiated." | |
| }, | |
| "curRowEstLowBound" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The Link's RowEstRange.lowBound value for the user at the time this request was initiated." | |
| }, | |
| "curRowEstHighBound" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The Link's RowEstRange.highBound value for the user at the time this request was initiated." | |
| }, | |
| "actualRowEst" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The evaluated value of the Link's rowEstExpr measure expression at the time this request was initiated." | |
| }, | |
| "bindSelectionState" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| }, | |
| "bindingStateHash" : { | |
| "type" : "integer", | |
| "format" : "int64", | |
| "description" : "A 64-bit hash of the bound field state at the time the request was made." | |
| }, | |
| "selectionState" : { | |
| "$ref" : "#/definitions/SelectionState", | |
| "description": "A JSON-encoded representation of selected field values at the time the request was made." | |
| }, | |
| "selectionStateHash" : { | |
| "type" : "integer", | |
| "format" : "int64", | |
| "description" : "A 64-bit hash of the selected field values at the time the request was made." | |
| }, | |
| "validation" : { | |
| "type" : "array", | |
| "description" : "A list of validation errors or warnings.", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "subRequests" : { | |
| "type" : "array", | |
| "description" : "This property only exists for 'multiple' app gen requests. It contains an array of the ids of sub-requests that were spawned from this multi-request.", | |
| "items" : { | |
| "$ref" : "#/definitions/RequestId" | |
| } | |
| }, | |
| "reloadCount" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The number of times the generated app was reloaded for this request." | |
| }, | |
| "publishToStreamName" : { | |
| "type" : "string", | |
| "description" : "The name of the stream where the generated app will be published." | |
| } | |
| }, | |
| "description" : "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 linkId property will refer to that link. Otherwise, a sub-request will be created for each link in the navigation point and the linkIds of those sub-requests will refer to their respective links. If this is a 'single' or 'singlesub' app gen request and the request has at least reached the 'queued' stage, the generatedApp property will contain the id of the generated app (note that the generated app may not yet be populated with data or published if the request is not completed). If this request is a 'single' or 'sub-single' app gen request but the data load operation failed, the generateApp property will still contain the id of the failed app to allow viewing of the ODAG-bound script for diagnositic purposes but the generated apps for failed requests are purged on a regaulr basis so the app may no longer be available. If this request is a 'single' or 'sub-single' app gen request that was canceled before reaching there 'loading' phase, the generatedApp property will be missing since the generated apps for pre-load phase requests are deleted. If this is a multiple app generation request, the generatedApp property will also be missing." | |
| }, | |
| "RequestCreatePayload" : { | |
| "type" : "object", | |
| "required" : [ "actualRowEst", "bindSelectionState", "selectionApp" ], | |
| "properties" : { | |
| "selectionApp" : { | |
| "$ref" : "#/definitions/AppId" | |
| }, | |
| "sheetname" : { | |
| "type" : "string", | |
| "description" : "The name of the sheet from which the request is being made." | |
| }, | |
| "clientContextHandle" : { | |
| "type" : "string", | |
| "description" : "An opaque handle to a client-side object that contains the reference to the link being used." | |
| }, | |
| "actualRowEst" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The current row estimate value calculated by the link's rowEstExpr property in the context of the selection app." | |
| }, | |
| "bindSelectionState" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| }, | |
| "selectionState" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| } | |
| }, | |
| "description" : "Payload to send when creating an ODAG Request. selectionApp is the id of the selection app from which the request is being made. bindSelectionState is the current selection state in the selection app at the time the request is made (this can be limited to the set of fields corresponding to the selectAppParamName's in the link's bindings to save bandwidth on sending this request." | |
| }, | |
| "RequestArray" : { | |
| "type" : "array", | |
| "description" : "An array of Request Summary objects.", | |
| "items" : { | |
| "$ref" : "#/definitions/RequestStateFull" | |
| } | |
| }, | |
| "DataLoadMessage" : { | |
| "type" : "object", | |
| "required" : [ "message", "seqNo" ], | |
| "properties" : { | |
| "seqNo" : { | |
| "type" : "integer", | |
| "description" : "The relative sequence position of this data load message in the collection of all data load messages received while performing the data load phase of an ODAG request." | |
| }, | |
| "message" : { | |
| "type" : "string", | |
| "description" : "The content of a data load message received while performing the data load phase on an ODAG request." | |
| } | |
| }, | |
| "description" : "A data load message that was received during the data load phase of executing an ODAG request." | |
| }, | |
| "RequestStatusDetail" : { | |
| "type" : "object", | |
| "properties" : { | |
| "messages" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/DataLoadMessage" | |
| } | |
| }, | |
| "subs" : { | |
| "type" : "array", | |
| "items" : { | |
| "$ref" : "#/definitions/RequestStatus" | |
| } | |
| } | |
| }, | |
| "description" : "For a single app generation request, the detailed content of its RequestStatus object will be the set of DataLoadMessages that have been received by the data load stage since the last status check. For a mult-app request, the content will be a collection of RequestStatus objects for each of the singlesub ODAG requests thagt were spawned on behalf of that multi-app request." | |
| }, | |
| "RequestStatus" : { | |
| "type" : "object", | |
| "required" : [ "dataLoadDetail", "id", "kind", "state" ], | |
| "properties" : { | |
| "id" : { | |
| "$ref" : "#/definitions/RequestId" | |
| }, | |
| "state" : { | |
| "$ref" : "#/definitions/RequestState" | |
| }, | |
| "kind" : { | |
| "$ref" : "#/definitions/RequestKind" | |
| }, | |
| "errorMessages" : { | |
| "type" : "array", | |
| "description" : "An array of error messages collected in the case that a request fails.", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "dataLoadDetail" : { | |
| "$ref" : "#/definitions/RequestStatusDetail" | |
| } | |
| } | |
| }, | |
| "LinkList" : { | |
| "type" : "object", | |
| "required" : [ "linkList" ], | |
| "properties" : { | |
| "linkList" : { | |
| "type" : "array", | |
| "description" : "An array of Link ids.", | |
| "items" : { | |
| "$ref" : "#/definitions/LinkId" | |
| } | |
| } | |
| }, | |
| "description" : "An object that contains a list of Links" | |
| }, | |
| "RenameApp" : { | |
| "type" : "object", | |
| "required" : [ "appName" ], | |
| "properties" : { | |
| "appName" : { | |
| "type" : "string", | |
| "description" : "The new name of the generated app." | |
| } | |
| }, | |
| "description" : "Payload to send when renaming an app generated by an ODAG Request." | |
| }, | |
| "ReloadApp" : { | |
| "type" : "object", | |
| "properties" : { | |
| "copyRequest" : { | |
| "type" : "boolean", | |
| "description" : "Determines if the request needs to be copied along with the generated app or not." | |
| }, | |
| "actualRowEst" : { | |
| "type" : "integer", | |
| "format" : "int32", | |
| "description" : "The current row estimate value calculated by the link's rowEstExpr property in the context of the selection app." | |
| }, | |
| "bindSelectionState" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| }, | |
| "selectionState" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| } | |
| }, | |
| "description" : "Payload to send when reloading an app generated by an ODAG Request." | |
| }, | |
| "DeleteAck_link" : { | |
| "properties" : { | |
| "self" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "DeleteAck_data" : { | |
| "properties" : { | |
| "type" : { | |
| "type" : "string" | |
| }, | |
| "id" : { | |
| "type" : "string" | |
| }, | |
| "message" : { | |
| "type" : "string" | |
| } | |
| } | |
| }, | |
| "RequestLoadInfo_messages" : { | |
| "properties" : { | |
| "logfilepath" : { | |
| "type" : "string", | |
| "description" : "The path to the reload log file." | |
| }, | |
| "logreaderror" : { | |
| "type" : "string", | |
| "description" : "An error message in the case the contents of the reload log file could not be read or the log file does not exist." | |
| }, | |
| "total" : { | |
| "type" : "integer", | |
| "format" : "int64", | |
| "description" : "The total number of reload log messages in the reload log file." | |
| }, | |
| "offset" : { | |
| "type" : "integer", | |
| "format" : "int64", | |
| "description" : "The starting offset at which the records in the 'contents' array were read from the reload log file. If this value is -1, it indicates either that just the first and last 50 records of the log file were read in 'contents'." | |
| }, | |
| "contents" : { | |
| "type" : "array", | |
| "description" : "A set of contiguous records read from the reload log file.", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| }, | |
| "transient" : { | |
| "type" : "array", | |
| "description" : "An optional array of transient messages collected during reloading of the generated app (this is NOT stored to the reload log file).", | |
| "items" : { | |
| "type" : "string" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "parameters" : { | |
| "OptSelectAppId" : { | |
| "name" : "optSelectAppId", | |
| "in" : "query", | |
| "description" : "An optional parameter for specifying the id of a selection app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "OptTemplateAppId" : { | |
| "name" : "optTemplateAppId", | |
| "in" : "query", | |
| "description" : "An optional parameter for specifying the id of a template app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "OptDenyIfSelAppNotUpdatable" : { | |
| "name" : "optDenyIfSelAppNotUpdatable", | |
| "in" : "query", | |
| "description" : "Optional parameter which allows ODAG client to have OdagService test whether the selection app is not updatable and force a denial for LinkCreate privilege in that case. This parameter will be ignored if OptSelectAppId is not also supplied.", | |
| "required" : false, | |
| "type" : "boolean" | |
| }, | |
| "OptOwnedBy" : { | |
| "name" : "optOwner", | |
| "in" : "query", | |
| "description" : "The userDirectory\\userId to use to limit the set of returned objects to those owned by a specific user.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "LinkId" : { | |
| "name" : "linkId", | |
| "in" : "path", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : true, | |
| "type" : "string" | |
| }, | |
| "OptLinkId" : { | |
| "name" : "optLinkId", | |
| "in" : "query", | |
| "description" : "The id of a link to match objects to be returned.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "SelectionAppId" : { | |
| "name" : "selectionAppId", | |
| "in" : "query", | |
| "description" : "An optional reference to the id of a selection app.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "ClientContextHandle" : { | |
| "name" : "clientContextHandle", | |
| "in" : "query", | |
| "description" : "An optional reference to the client context (e.g. NavPoint) for which an OdagRequest is (or was) created.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "CreatedOnOrAfter" : { | |
| "name" : "createdOnOrAfter", | |
| "in" : "query", | |
| "description" : "A time range in which an object was created on or after the specified timestamp.", | |
| "required" : false, | |
| "type" : "string", | |
| "format" : "date-time" | |
| }, | |
| "CreatedBefore" : { | |
| "name" : "createdBefore", | |
| "in" : "query", | |
| "description" : "A time range in which an object was created prior to the specified timestamp.", | |
| "required" : false, | |
| "type" : "string", | |
| "format" : "date-time" | |
| }, | |
| "ModelGroupPost" : { | |
| "in" : "body", | |
| "name" : "payload", | |
| "description" : "A json payload containing the content of a new model group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupAddPayload" | |
| } | |
| }, | |
| "ModelGroupPut" : { | |
| "in" : "body", | |
| "name" : "payload", | |
| "description" : "A json payload containing the content of a model group to modify.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ModelGroupModifyPayload" | |
| } | |
| }, | |
| "LinkPostPayload" : { | |
| "in" : "body", | |
| "name" : "linkPayload", | |
| "description" : "A json payload containing the content for a new ODAG link.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkAddPayload" | |
| } | |
| }, | |
| "LinkPutPayload" : { | |
| "in" : "body", | |
| "name" : "linkPayload", | |
| "description" : "A json payload containing the contents to use for updating an existing link.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkModifyPayload" | |
| } | |
| }, | |
| "SelAppLinkUsagePayload" : { | |
| "in" : "body", | |
| "name" : "linkUsagePayload", | |
| "description" : "A json payload containing an array of LinkIds.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/LinkList" | |
| } | |
| }, | |
| "RequestPostPayload" : { | |
| "in" : "body", | |
| "name" : "requestPostPayload", | |
| "description" : "JSON payload to send to RequestCreate", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/RequestCreatePayload" | |
| } | |
| }, | |
| "RenameAppPayload" : { | |
| "in" : "body", | |
| "name" : "renameAppPayload", | |
| "description" : "JSON payload to send to RequestRenameApp", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/RenameApp" | |
| } | |
| }, | |
| "ReloadAppPayload" : { | |
| "in" : "body", | |
| "name" : "reloadAppPayload", | |
| "description" : "JSON payload to send to RequestReloadApp", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/ReloadApp" | |
| } | |
| }, | |
| "OptSelectionState" : { | |
| "in" : "body", | |
| "name" : "OptSelectionState", | |
| "description" : "An optional Selection State body parameter for communicating a desired selection state to the ODAG service.", | |
| "required" : false, | |
| "schema" : { | |
| "$ref" : "#/definitions/SelectionState" | |
| } | |
| }, | |
| "OptEngineGroupNamePattern" : { | |
| "name" : "engineGroupNamePattern", | |
| "in" : "query", | |
| "description" : "An optional query parameter to use for finding objects that are related to engine groups that have a name that matches this pattern.", | |
| "required" : false, | |
| "type" : "string" | |
| }, | |
| "EngineGroup" : { | |
| "in" : "body", | |
| "name" : "engineGroupPayload", | |
| "description" : "A json payload containing the content to use for creating a new engine group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupPayload" | |
| } | |
| }, | |
| "EngineGroupModification" : { | |
| "in" : "body", | |
| "name" : "modifications", | |
| "description" : "A payload describing changes to be made to an Engine group.", | |
| "required" : true, | |
| "schema" : { | |
| "$ref" : "#/definitions/EngineGroupPayload" | |
| } | |
| } | |
| }, | |
| "externalDocs" : { | |
| "description" : "Specification for the Producticed ODAG solution", | |
| "url" : "https://confluence.qliktech.com/display/DM/Productizing+On+Demand+App+Generation" | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment