Qlik Tasks API

Qlik Cloud Tasks API. 16 operations published as OpenAPI 3.0.0 at https://qlik.dev/specs/rest/scheduling/tasks.json

Operations 16

GET /api/scheduling/tasks List tasks #
POST /api/scheduling/tasks Create a task #
GET /api/scheduling/tasks/{id} Get a task #
PATCH /api/scheduling/tasks/{id} Patch a task #
PUT /api/scheduling/tasks/{id} Replace a task #
DELETE /api/scheduling/tasks/{id} Delete a task #
POST /api/scheduling/tasks/{id}/actions/start Start a task #
GET /api/scheduling/tasks/{id}/graphs/ancestors Get ancestor graph #
GET /api/scheduling/tasks/{id}/graphs/children List child tasks #
GET /api/scheduling/tasks/{id}/graphs/descendants Get descendant graph #
GET /api/scheduling/tasks/{id}/graphs/parents List parent tasks #
GET /api/scheduling/tasks/{id}/graphs/subgraph Get task subgraph #
GET /api/scheduling/tasks/{id}/runs List task runs #
GET /api/scheduling/tasks/{id}/runs/{runId}/log Get task run log #
GET /api/scheduling/tasks/{id}/runs/last Get last task run #
GET /api/scheduling/tasks/resources/{id}/runs List task runs for a resource #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scheduling-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qliksense-scheduling-tasks.json Raw ↑
{
  "info": {
    "title": "scheduling/tasks",
    "version": ""
  },
  "paths": {
    "/api/scheduling/tasks": {
      "get": {
        "tags": [
          "task"
        ],
        "summary": "List tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskList"
                }
              }
            },
            "description": "Tasks retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "filter",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Advanced filter expression using RFC 7644 SCIM syntax. Refer to [RFC 7644](https://datatracker.ietf.org/doc/rfc7644/) for syntax details. All comparisons are case-insensitive. Supported fields: `name`, `enabled`, `resourceId`, `ownerId`, `spaceId`, `createdAt`, `updatedAt`, `updatedBy`, `lastStatus`, `lastTriggeredBy`, `lastStartedAt`, `lastEndedAt`, `lastExecutedAs`, and `triggerType`.\n"
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "default": 20,
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum number of tasks to return per page."
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Cursor token for fetching the next page of results."
          },
          {
            "in": "query",
            "name": "resourceId",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The unique identifier of the resource to filter tasks by."
          },
          {
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "+createdAt",
                "-createdAt",
                "+enabled",
                "-enabled",
                "+name",
                "-name",
                "+ownerId",
                "-ownerId",
                "+resourceId",
                "-resourceId",
                "+spaceId",
                "-spaceId",
                "+updatedAt",
                "-updatedAt",
                "+updatedBy",
                "-updatedBy",
                "+lastStatus",
                "-lastStatus",
                "+lastTriggeredBy",
                "-lastTriggeredBy",
                "+lastStartedAt",
                "-lastStartedAt",
                "+lastEndedAt",
                "-lastEndedAt",
                "+lastExecutedAs",
                "-lastExecutedAs",
                "+triggerType",
                "-triggerType"
              ],
              "type": "string",
              "default": "-updatedAt"
            },
            "required": false,
            "description": "Field and direction to sort results by. Prefix the field name with\n`+` for ascending or `-` for descending order. Defaults to `-updatedAt`.\n"
          }
        ],
        "description": "Retrieves a paginated list of tasks the requesting user has access to. Results include task metadata such as owner, resource, space, and last run status. Use the `filter` parameter to narrow results by field values, or `sort` to control the ordering.",
        "operationId": "listTasks",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "GET:/v1/tasks"
          }
        ],
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      },
      "post": {
        "tags": [
          "task"
        ],
        "summary": "Create a task",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "Task created successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [],
        "description": "Creates a new task for the specified resource. The task is owned by the requesting user and is disabled by default until explicitly enabled. The `resourceId` is derived automatically from the task's state definitions and cannot be set directly in the request body.",
        "operationId": "createTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              },
              "examples": {
                "objectExample": {
                  "$ref": "#/components/examples/createSingleEventTriggerTask"
                }
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "POST:/v1/tasks"
          }
        ],
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      }
    },
    "/api/scheduling/tasks/{id}": {
      "get": {
        "tags": [
          "task"
        ],
        "summary": "Get a task",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "Task details retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task to retrieve."
          }
        ],
        "description": "Retrieves the full definition and metadata for a specific task, including its trigger configuration, state definitions, owner, and last run status. Use this operation to inspect a task before updating or starting it.",
        "operationId": "getTask",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "GET:/v1/tasks/{id}"
          }
        ],
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      },
      "patch": {
        "tags": [
          "task"
        ],
        "summary": "Patch a task",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "Task updated successfully."
          },
          "204": {
            "description": "Task updated with no content to return."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task to update."
          }
        ],
        "description": "Partially updates a specific task using a JSON Patch document (RFC 6902). Only the fields included in the patch operations are modified. All other fields remain unchanged. If the task is owned by another user, ownership is transferred to the requesting user.",
        "operationId": "patchTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JSONPatch"
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      },
      "put": {
        "tags": [
          "task"
        ],
        "summary": "Replace a task",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "Task replaced successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task to replace."
          }
        ],
        "description": "Replaces the full definition of a specific task with the supplied payload. All fields not included in the request body are reset to their defaults. If the task is owned by another user, ownership is transferred to the requesting user. Use `PATCH` instead to apply a partial update.",
        "operationId": "updateTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "PUT:/v1/tasks/{id}"
          }
        ],
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      },
      "delete": {
        "tags": [
          "task"
        ],
        "summary": "Delete a task",
        "responses": {
          "204": {
            "description": "Task deleted successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task to delete."
          }
        ],
        "description": "Deletes a specific task and cancels any scheduled or pending runs associated with it. This action cannot be undone. Tenant admins can delete tasks owned by other users.",
        "operationId": "deleteTask",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "DELETE:/v1/tasks/{id}"
          }
        ],
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      }
    },
    "/api/scheduling/tasks/{id}/actions/start": {
      "post": {
        "tags": [
          "task"
        ],
        "summary": "Start a task",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Task started successfully"
                    }
                  }
                }
              }
            },
            "description": "Task started successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task to start."
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string",
              "default": "manual"
            },
            "required": false,
            "description": "The origin of the trigger. Defaults to `manual`. For event-triggered tasks, this can be the name of the triggering task.\n"
          }
        ],
        "description": "Triggers an immediate run of the specified task outside its normal schedule. The optional `source` parameter identifies what initiated the run, which is recorded in the run history for auditing purposes.",
        "operationId": "startTask",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-replaces": [
          {
            "namespace": "",
            "uniqueIdentifier": "POST:/v1/tasks/{id}/actions/start"
          }
        ],
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      }
    },
    "/api/scheduling/tasks/{id}/graphs/ancestors": {
      "get": {
        "tags": [
          "task-graph"
        ],
        "summary": "Get ancestor graph",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskGraph"
                }
              }
            },
            "description": "Ancestor graph retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task."
          },
          {
            "in": "query",
            "name": "level",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum ancestor depth to traverse breadth-first."
          },
          {
            "in": "query",
            "name": "withTask",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "When `true`, includes the full task document for each accessible vertex in the response."
          }
        ],
        "description": "Retrieves the ancestor subgraph for a specific task, with the requested task as the root vertex. Traverses parent relationships breadth-first up to the depth specified by `level`. Use this to understand all upstream dependencies of a task.",
        "operationId": "listAncestorTasks",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      }
    },
    "/api/scheduling/tasks/{id}/graphs/children": {
      "get": {
        "tags": [
          "task-graph"
        ],
        "summary": "List child tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskList"
                }
              }
            },
            "description": "Child tasks retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the parent task."
          },
          {
            "in": "query",
            "name": "filter",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Advanced filter expression using RFC 7644 SCIM syntax. Refer to [RFC 7644](https://datatracker.ietf.org/doc/rfc7644/) for syntax details. All comparisons are case-insensitive. Supported fields: `name`, `enabled`, `resourceId`, `ownerId`, `spaceId`, `createdAt`, `updatedAt`, `updatedBy`, `lastStatus`, `lastTriggeredBy`, `lastStartedAt`, `lastEndedAt`, `lastExecutedAs`, and `triggerType`.\n"
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "default": 20,
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum number of tasks to return per page."
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Cursor token for fetching the next page of results."
          },
          {
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "+createdAt",
                "-createdAt",
                "+enabled",
                "-enabled",
                "+name",
                "-name",
                "+ownerId",
                "-ownerId",
                "+resourceId",
                "-resourceId",
                "+spaceId",
                "-spaceId",
                "+updatedAt",
                "-updatedAt",
                "+updatedBy",
                "-updatedBy",
                "+lastStatus",
                "-lastStatus",
                "+lastTriggeredBy",
                "-lastTriggeredBy",
                "+lastStartedAt",
                "-lastStartedAt",
                "+lastEndedAt",
                "-lastEndedAt",
                "+lastExecutedAs",
                "-lastExecutedAs",
                "+triggerType",
                "-triggerType"
              ],
              "type": "string",
              "default": "-updatedAt"
            },
            "required": false,
            "description": "Field and direction to sort results by. Prefix the field name with\n`+` for ascending or `-` for descending order. Defaults to `-updatedAt`.\n"
          }
        ],
        "description": "Retrieves a paginated list of tasks that are direct children of the specified task in the dependency graph. A child task is one that is triggered when the parent task completes successfully.",
        "operationId": "listChildTasks",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      }
    },
    "/api/scheduling/tasks/{id}/graphs/descendants": {
      "get": {
        "tags": [
          "task-graph"
        ],
        "summary": "Get descendant graph",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskGraph"
                }
              }
            },
            "description": "Descendant graph retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task."
          },
          {
            "in": "query",
            "name": "level",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum descendant depth to traverse breadth-first."
          },
          {
            "in": "query",
            "name": "withTask",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "When `true`, includes the full task document for each accessible vertex in the response."
          }
        ],
        "description": "Retrieves the descendant subgraph for a specific task, with the requested task as the root vertex. Traverses child relationships breadth-first down to the depth specified by `level`. Use this to identify all downstream tasks that will be triggered when this task completes.",
        "operationId": "listDescendantTasks",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      }
    },
    "/api/scheduling/tasks/{id}/graphs/parents": {
      "get": {
        "tags": [
          "task-graph"
        ],
        "summary": "List parent tasks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskList"
                }
              }
            },
            "description": "Parent tasks retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the child task."
          },
          {
            "in": "query",
            "name": "filter",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Advanced filter expression using RFC 7644 SCIM syntax. Refer to [RFC 7644](https://datatracker.ietf.org/doc/rfc7644/) for syntax details. All comparisons are case-insensitive. Supported fields: `name`, `enabled`, `resourceId`, `ownerId`, `spaceId`, `createdAt`, `updatedAt`, `updatedBy`, `lastStatus`, `lastTriggeredBy`, `lastStartedAt`, `lastEndedAt`, `lastExecutedAs`, and `triggerType`.\n"
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "default": 20,
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum number of tasks to return per page."
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Cursor token for fetching the next page of results."
          },
          {
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "+createdAt",
                "-createdAt",
                "+enabled",
                "-enabled",
                "+name",
                "-name",
                "+ownerId",
                "-ownerId",
                "+resourceId",
                "-resourceId",
                "+spaceId",
                "-spaceId",
                "+updatedAt",
                "-updatedAt",
                "+updatedBy",
                "-updatedBy",
                "+lastStatus",
                "-lastStatus",
                "+lastTriggeredBy",
                "-lastTriggeredBy",
                "+lastStartedAt",
                "-lastStartedAt",
                "+lastEndedAt",
                "-lastEndedAt",
                "+lastExecutedAs",
                "-lastExecutedAs",
                "+triggerType",
                "-triggerType"
              ],
              "type": "string",
              "default": "-updatedAt"
            },
            "required": false,
            "description": "Field and direction to sort results by. Prefix the field name with\n`+` for ascending or `-` for descending order. Defaults to `-updatedAt`.\n"
          }
        ],
        "description": "Retrieves a paginated list of tasks that are direct parents of the specified task in the dependency graph. A parent task is one whose completion triggers the current task.",
        "operationId": "listParentTasks",
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      }
    },
    "/api/scheduling/tasks/{id}/graphs/subgraph": {
      "get": {
        "tags": [
          "task-graph"
        ],
        "summary": "Get task subgraph",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskGraph"
                }
              }
            },
            "description": "Task subgraph retrieved successfully."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The unique identifier of the task."
          },
          {
            "in": "query",
            "name": "level",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            },
            "required": false,
            "description": "Maximum ancestor and descendant depth to traverse breadth-first."
          },
          {
            "in": "query",
            "name": "withTask",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "When `true`, includes the full task document for each accessible vertex in the response."
          }
        ],
        "description": "Retrieves the combined ancestor-and-descendant subgraph for a specific task, with the requested task as the root vertex. Traverses both parent and child relationships breadth-first u

# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qliksense/refs/heads/main/openapi/qliksense-scheduling-tasks.json