curl --request GET \
--url https://flows.super.ai/api/task-executions/{task_execution_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/task-executions/{task_execution_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/task-executions/{task_execution_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/task-executions/{task_execution_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/task-executions/{task_execution_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flows.super.ai/api/task-executions/{task_execution_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/task-executions/{task_execution_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"edited_status": "not_edited",
"flow_execution_id": "223e4567-e89b-12d3-a456-426614174000",
"id": "123e4567-e89b-12d3-a456-426614174000",
"organization_id": "323e4567-e89b-12d3-a456-426614174000",
"processing_status": "queued",
"stale_status": "consistent",
"task_execution_idx": 0,
"task_name": "send_email",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2025-01-23T10:30:00Z",
"credits": 10,
"error": {
"message": "Connection timeout after 30 seconds",
"traceback": "Traceback (most recent call last):\n ...",
"type": "ConnectionError"
},
"input": {
"recipient": "user@example.com",
"subject": "Hello"
},
"modified_by": "system",
"output": {
"email_id": "msg_123",
"sent_at": "2025-01-23T10:30:00Z"
},
"source_task_executions": "<unknown>",
"started_at": "2023-11-07T05:31:56Z",
"updated_at": "2025-01-23T10:35:00Z",
"usage_recorded": true
}Retrieve a specific task execution
Retrieve a specific task execution by its unique identifier.
Overview Fetches a single task execution record with all details including input parameters, output data, error information, and execution metadata. Used for detailed inspection of task execution results and debugging.
Resource Identification Task executions are uniquely identified by UUID (id field). This is distinct from the composite key (flow_execution_id, task_name, task_execution_idx) used for creation and filtering.
Use Cases
- Debugging failed task executions (inspect error field and stack trace)
- Retrieving task output for display or downstream processing
- Auditing task execution history and modifications
- Viewing detailed execution metadata (timestamps, modified_by)
Related Endpoints
- GET /task-executions - List task executions with filtering
- PUT /task-executions - Update task execution
- GET /flow-executions/ - View parent flow execution with all tasks
curl --request GET \
--url https://flows.super.ai/api/task-executions/{task_execution_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/task-executions/{task_execution_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/task-executions/{task_execution_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/task-executions/{task_execution_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/task-executions/{task_execution_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://flows.super.ai/api/task-executions/{task_execution_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/task-executions/{task_execution_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"edited_status": "not_edited",
"flow_execution_id": "223e4567-e89b-12d3-a456-426614174000",
"id": "123e4567-e89b-12d3-a456-426614174000",
"organization_id": "323e4567-e89b-12d3-a456-426614174000",
"processing_status": "queued",
"stale_status": "consistent",
"task_execution_idx": 0,
"task_name": "send_email",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2025-01-23T10:30:00Z",
"credits": 10,
"error": {
"message": "Connection timeout after 30 seconds",
"traceback": "Traceback (most recent call last):\n ...",
"type": "ConnectionError"
},
"input": {
"recipient": "user@example.com",
"subject": "Hello"
},
"modified_by": "system",
"output": {
"email_id": "msg_123",
"sent_at": "2025-01-23T10:30:00Z"
},
"source_task_executions": "<unknown>",
"started_at": "2023-11-07T05:31:56Z",
"updated_at": "2025-01-23T10:35:00Z",
"usage_recorded": true
}Authorizations
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Path Parameters
Unique identifier of the task execution to retrieve. This is the UUID assigned when the task execution was created. Task executions are scoped to organization via RLS; attempting to access another organization's task execution returns 404.
Query Parameters
Include credits consumed by this task execution in the response. When false (default), credits is null and the usage table is not queried.
Controls delivery of large task values stored as GCS references. 'inline' (default) resolves references server-side and returns real values, subject to a per-request size budget (HTTP 413 when exceeded; individual references whose objects no longer exist are replaced by a 'gcs_ref_error' marker). 'refs' returns stored reference envelopes ('gcs_ref') untouched, to be resolved by the client.
inline, refs Response
Task execution successfully retrieved
API model representing a task execution within a flow.
Task executions track individual task invocations during flow execution. Each task can execute multiple times (retries, loops), identified by task_execution_idx. Contains full execution context including inputs, outputs, errors, and lifecycle metadata.
Resource Hierarchy: Organization → Flow → Flow Execution → Task Execution
Whether this task execution was manually edited.
not_edited, edited_not_reexecuted, edited_reexecuted "not_edited"
"edited_not_reexecuted"
"edited_reexecuted"
ID of the parent flow execution containing this task. Establishes the execution hierarchy and determines organization scope. All tasks in a flow execution share the same flow_execution_id.
"223e4567-e89b-12d3-a456-426614174000"
Unique identifier for this task execution. Auto-generated UUID assigned at creation time. Used for direct resource access via GET /task-executions/{id}.
"123e4567-e89b-12d3-a456-426614174000"
ID of the organization owning this task execution. Inherited from parent flow execution for tenant isolation. Used for Row-Level Security (RLS) filtering and authorization. All task executions are scoped to a single organization.
"323e4567-e89b-12d3-a456-426614174000"
Processing lifecycle status of the task.
queued, running, completed, failed, deleted, awaiting_input, cancel_requested, cancelled, skipped "queued"
"running"
"completed"
"failed"
Whether this task execution's data is outdated.
consistent, stale "consistent"
"stale"
Zero-based execution index tracking task attempts. 0 = first execution, 1 = first retry, 2 = second retry, etc. Increments for each retry or loop iteration of the same task. Combines with flow_execution_id and task_name to form unique composite key.
x >= 00
1
2
Name of the task as defined in the flow definition YAML. Case-sensitive identifier matching flow configuration. Used to reference task in flow logic and dependency graphs.
1 - 200"send_email"
"process_data"
"validate_input"
ISO 8601 UTC timestamp when task execution finished on the Temporal worker. Captures actual compute end time, distinct from updated_at (API write time). NULL for legacy records or in-progress executions.
ISO 8601 timestamp when task execution was created (UTC). Represents when the task was queued or first recorded in the system. NULL for legacy records created before timestamp tracking.
"2025-01-23T10:30:00Z"
Total credits consumed by this task execution. None when no usage records exist for this task.
10
Error information when task execution fails. Only populated when status is 'failed'; NULL for other states. Contains error message, exception type, and stack trace for debugging.
Typical structure: { "message": "Human-readable error description", "type": "Exception class name", "traceback": "Full Python stack trace" }
Used for debugging, monitoring, and error reporting workflows.
{
"message": "Connection timeout after 30 seconds",
"traceback": "Traceback (most recent call last):\n ...",
"type": "ConnectionError"
}
Input parameters provided to the task executor. Schema varies by task type; can be object, array, or primitive. NULL if task accepts no input parameters. Resolved from flow definition and upstream task outputs.
{
"recipient": "user@example.com",
"subject": "Hello"
}
[1, 2, 3, 4, 5]
"simple string input"
Identifier of the actor who last modified this task execution. Tracks manual interventions vs automated updates for auditing. Defaults to 'system' for worker-initiated changes.
Values:
- 'system': System-automated changes (workers, background jobs)
- User ID: UUID string of the user who made the change (e.g., '123e4567-e89b-12d3-a456-426614174000')
- Integration type: For service accounts/integrations (e.g., 'integration', 'service-account')
"system"
"123e4567-e89b-12d3-a456-426614174000"
"integration"
Output data produced by the task executor upon successful completion. Only populated when status is 'completed'; NULL for other states. Available to downstream tasks via {{task_name.output}} syntax. Structure defined by task executor implementation. Used for task chaining and flow data propagation.
{
"email_id": "msg_123",
"sent_at": "2025-01-23T10:30:00Z"
}
Tracks the original producer of this task's output data. Set by pass-through tasks (HITL, Branch, Validation) to propagate provenance.
ISO 8601 UTC timestamp when task execution started on the Temporal worker. Captures actual compute start time, distinct from created_at (API write time). NULL for legacy records created before timing was tracked.
ISO 8601 timestamp of last update to this task execution (UTC). Changes whenever status, output, or error fields are modified. Used for change tracking and optimistic locking. NULL for records never updated since creation.
"2025-01-23T10:35:00Z"
Set to true only on the response of POST /task-executions when the request's inline usage was recorded in the same transaction. Null everywhere else.