Every API here is available over the APIs.io API and to AI agents over MCP.
{
"info": {
"title": "tasks",
"version": ""
},
"paths": {
"/api/v1/tasks": {
"get": {
"tags": [
"task"
],
"summary": "List tasks",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskList"
}
}
},
"description": "OK Response"
},
"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": "limit",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"required": false,
"description": "The maximum number of resources to return for a request."
},
{
"in": "query",
"name": "page",
"schema": {
"type": "string"
},
"required": false,
"description": "The page cursor."
},
{
"in": "query",
"name": "resourceId",
"schema": {
"type": "string"
},
"required": false,
"description": "Filter tasks by its target resource ID.\n"
},
{
"in": "query",
"name": "sort",
"schema": {
"enum": [
"+createdAt",
"-createdAt",
"+updatedAt",
"-updatedAt"
],
"type": "string",
"default": "-updatedAt"
},
"required": false,
"description": "The property of a resource to sort on (default sort is\n-updatedAt). A property must be prefixed by + or - to\nindicate ascending or descending sort order respectively.\n"
}
],
"description": "Retrieves a list of the tasks that the requesting user has access to.",
"operationId": "ListTasks",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
},
"post": {
"tags": [
"task"
],
"summary": "Create a task",
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
}
}
},
"description": "OK Response"
},
"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": "migrateFrom",
"schema": {
"type": "string"
},
"required": false,
"description": "ID of the reload-task to migrate from the old system (optional)."
}
],
"description": "Creates a new task.",
"operationId": "CreateTask",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
},
"examples": {
"objectExample": {
"$ref": "#/components/examples/Task"
}
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "POST:/scheduling/tasks"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/tasks/{id}": {
"get": {
"tags": [
"task"
],
"summary": "Get a task",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
}
}
},
"description": "OK Response"
},
"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 task's unique identifier."
}
],
"description": "Retrieves details for a specific task.",
"operationId": "GetTask",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks/{id}"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
},
"put": {
"tags": [
"task"
],
"summary": "Update a task",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
}
}
},
"description": "OK Response"
},
"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 task's unique identifier."
}
],
"description": "Updates a specific task. If the task is owned by another user, ownership will be transferred to the requesting user.",
"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-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "PUT:/scheduling/tasks/{id}"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
},
"delete": {
"tags": [
"task"
],
"summary": "Delete a task",
"responses": {
"204": {
"description": "No Content response."
},
"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 task's unique identifier."
}
],
"description": "Deletes a specific task.",
"operationId": "DeleteTask",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "DELETE:/scheduling/tasks/{id}"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/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": "OK Response"
},
"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 task's unique identifier."
},
{
"in": "query",
"name": "source",
"schema": {
"type": "string",
"default": "manual"
},
"required": false,
"description": "Indicates the origin of the trigger. If not provided, defaults to 'manual'. For event-triggered tasks, this can be the name of the triggering task.\n"
}
],
"description": "Starts the specified task.",
"operationId": "StartTask",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "POST:/scheduling/tasks/{id}/actions/start"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/tasks/{id}/runs": {
"get": {
"tags": [
"task"
],
"summary": "List task runs",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrchRunList"
}
}
},
"description": "OK Response"
},
"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 task's unique identifier."
},
{
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"required": false,
"description": "The maximum number of task runs to return for a request."
},
{
"in": "query",
"name": "page",
"schema": {
"type": "string"
},
"required": false,
"description": "The page cursor."
},
{
"in": "query",
"name": "sort",
"schema": {
"enum": [
"+startedAt",
"-startedAt",
"+endedAt",
"-endedAt",
"+status",
"-status",
"+taskId",
"-taskId",
"+actionId",
"-actionId"
],
"type": "string",
"default": "-startedAt"
},
"required": false,
"description": "The property of a resource to sort on (default sort is -startedAt).\nA property must be prefixed by + or - to indicate ascending or descending sort order respectively.\n"
}
],
"description": "Returns runs for the specified task.",
"operationId": "GetTaskRuns",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks/{id}/runs"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/tasks/{id}/runs/{runId}/log": {
"get": {
"tags": [
"task"
],
"summary": "Get task run log",
"responses": {
"200": {
"content": {
"text/plain": {
"schema": {
"type": "object",
"properties": {
"logContent": {
"type": "string",
"example": "Task run log content"
}
}
}
},
"application/json": {
"schema": {
"type": "object",
"properties": {
"logContent": {
"type": "string",
"example": "Task run log content",
"description": "Log content in plain text format"
}
}
}
}
},
"description": "OK Response"
},
"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 task's unique identifier."
},
{
"in": "path",
"name": "runId",
"schema": {
"type": "string"
},
"required": true,
"description": "The run's unique identifier."
},
{
"in": "header",
"name": "Accept",
"schema": {
"enum": [
"application/json",
"text/plain"
],
"type": "string",
"default": "application/json"
},
"required": false,
"description": "The acceptable content types."
}
],
"description": "Get specific run log of a task.",
"operationId": "GetTaskRunLog",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks/{id}/runs/{runId}/log"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/tasks/{id}/runs/last": {
"get": {
"tags": [
"task"
],
"summary": "Get last task run",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrchRun"
}
}
},
"description": "OK Response"
},
"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 task's unique identifier."
}
],
"description": "Returns the last run of a specific task.",
"operationId": "GetTaskLastRun",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks/{id}/runs/last"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
},
"/api/v1/tasks/resources/{id}/runs": {
"get": {
"tags": [
"task"
],
"summary": "List task runs for a resource",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrchRunList"
}
}
},
"description": "OK Response"
},
"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": "Filter tasks by its target resource ID"
},
{
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"required": false,
"description": "The maximum number of task runs to return for a request."
},
{
"in": "query",
"name": "page",
"schema": {
"type": "string"
},
"required": false,
"description": "The page cursor."
},
{
"in": "query",
"name": "sort",
"schema": {
"enum": [
"+startedAt",
"-startedAt",
"+endedAt",
"-endedAt",
"+status",
"-status",
"+taskId",
"-taskId",
"+actionId",
"-actionId"
],
"type": "string",
"default": "-startedAt"
},
"required": false,
"description": "The property of a resource to sort on (default sort is -startedAt).\nA property must be prefixed by + or - to indicate ascending or descending sort order respectively.\n"
}
],
"description": "Returns a list of task runs for a specified `resourceId`.",
"operationId": "GetResourceRuns",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-replaced-by": [
{
"namespace": "scheduling",
"uniqueIdentifier": "GET:/scheduling/tasks/resources/{id}/runs"
}
],
"x-qlik-tier": {
"tier": "special",
"limit": 600
}
}
}
},
"openapi": "3.0.0",
"components": {
"examples": {
"Task": {
"value": {
"id": "task-4",
"name": "Reload app4 when Task 1,2,3 succeeded",
"events": [
{
"name": "task1-succeeded",
"type": "com.qlik.v1.task.run.finished",
"source": "system-events.task",
"correlation": [
{
"contextAttributeName": "id",
"contextAttributeValue": "task-1"
}
]
}
],
"states": [
{
"end": true,
"name": "App4.Reload",
"type": "event",
"onEvents": [
{
"actions": [
{
"name": "app4.reload",
"functionRef": {
"refName": "AppReload",
"arguments": {
"appId": "app4",
"partial": false
}
}
}
],
"eventRefs": [
"task1-succeeded"
]
}
],
"exclusive": false
}
],
"version": "1.0.0",
"description": "This is a Reload Task Demo in Serverless Workflow Spec",
"specVersion": "0.8"
},
"summary": "Example of Task"
}
},
"responses": {
"BadRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"invalidPage": {
"value": {
"errors": [
{
"code": 400,
"context": "GetTasks",
"timestamp": "2023-07-17T12:00:00Z"
}
],
"traceId": "abc123"
},
"summary": "Invalid page cursor"
},
"invalidSort": {
"value": {
"errors": [
{
"code": 400,
"context": "GetTasks",
"timestamp": "2023-07-17T12:00:00Z"
}
],
"traceId": "abc123"
},
"summary": "Invalid sort field"
}
}
}
},
"description": "Bad Request"
},
"Forbidden": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"InternalServerError": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error"
},
"NotFound": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Not found"
},
"ServiceUnavailable": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Service Unavailable"
},
"Unauthorized": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Unauthorized"
}
},
"schemas": {
"action": {
"type": "object",
"oneOf": [
{
"required": [
"name",
"functionRef"
]
},
{
"required": [
"name",
"publish"
]
},
{
"required": [
"name",
"subscribe"
]
},
{
"required": [
"name",
"subFlowRef"
]
}
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9](-?[a-z0-9])*$",
"description": "Unique action definition name"
},
"retryRef": {
"type": "string",
"description": "References a defined workflow retry definition. If not defined the default retry policy is assumed"
},
"condition": {
"type": "string",
"minLength": 1,
"description": "Expression, if defined, must evaluate to true for this action to be performed. If false, action is disregarded"
},
"functionRef": {
"$ref": "#/components/schemas/functionref"
},
"retryableErrors": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of unique references to defined workflow errors for which the action should be retried. Used only when `autoRetries` is set to `false`"
},
"nonRetryableErrors": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of unique references to defined workflow errors for which the action should not be retried. Used only when `autoRetries` is set to `true`"
}
},
"additionalProperties": false
},
"actionExecTimeout": {
"type": "string",
"minLength": 1,
"description": "Action execution timeout duration (literal ISO 8601 duration format or expression which evaluation results in an ISO 8601 duration)"
},
"correlationDef": {
"type": "object",
"required": [
"contextAttributeName"
],
"properties": {
"contextAttributeName": {
"enum": [
"id",
"status"
],
"type": "string",
"description": "CloudEvent Extension Context Attribute name"
},
"contextAttributeValue": {
"type": "string",
"minLength": 1,
"description": "CloudEvent Extension Context Attribute value"
}
},
"description": "CloudEvent correlation definition",
"additionalProperties": false
},
"crondef": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"description": "Cron expression defining when workflow instances should be created (automatically)"
},
{
"type": "object",
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string",
"minLength": 1,
"description": "Repeating interval (cron expression) describing when the workflow instance should be created"
},
"validUntil": {
"type": "string",
"description": "Specific date and time (ISO 8601 format) when the cron expression invocation is no longer valid"
}
},
"additionalProperties": false
}
]
},
"end": {
"type": "boolean",
"default": true,
"description": "State end definition"
},
"ErrorResponse": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HttpResult"
}
},
"traceId": {
"type": "string",
"description": "A way to trace the source of the error."
}
}
},
"eventdef": {
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9](-?[a-z0-9])*$",
"minLength": 1,
"description": "Unique event name"
},
"type": {
"enum": [
"com.qlik.v1.task.run.finished"
],
"type": "string",
"description": "CloudEvent type"
},
"source": {
"enum": [
"system-events.task"
],
"type": "string",
"description": "CloudEvent source"
},
"dataOnly": {
"type": "boolean",
"default": true,
"description": "If `true`, only the Event payload is accessible to consuming Workflow states. If `false`, both event payload and context attributes should be accessible"
},
"correlation": {
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qliksense/refs/heads/main/openapi/qliksense-tasks.json