Executions API
Query workflow execution history, inspect individual execution results, cancel running executions, and export logs for compliance reporting.
SDK token authentication
Authorization: Bearer sdk_...). Each token has a configurable RBAC role that determines what it can access. Create tokens in Settings → Observability SDK.List Executions
/api/executions/team/:teamIdList all executions for a team
Path Parameters
| Parameter | Type | Description |
|---|---|---|
teamId | UUID | The team to list executions for |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default: 0) |
size | integer | No | Page size (default: 20) |
status | string | No | Filter by status: SUCCESS, FAILED, RUNNING, CANCELLED |
workflowId | UUID | No | Filter by specific workflow |
from | ISO 8601 | No | Start date for filtering |
to | ISO 8601 | No | End date for filtering |
Response
{
"content": [
{
"id": "uuid",
"workflowId": "uuid",
"workflowName": "Order Processing",
"status": "SUCCESS",
"startedAt": "2026-02-17T10:30:00.000Z",
"finishedAt": "2026-02-17T10:30:02.350Z",
"durationMs": 2350,
"triggerType": "WEBHOOK",
"nodeCount": 8,
"errorMessage": null
}
],
"totalElements": 156,
"totalPages": 8,
"number": 0,
"size": 20
}Get Execution Details
/api/executions/:idGet detailed execution results including per-node data
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | UUID | The execution ID |
Response
The response includes the execution summary plus a nodeExecutions array containing the input, output, status, and timing for each node that ran. Top-level inputData and outputData fields contain the overall workflow input/output.
{
"id": "uuid",
"workflowId": "uuid",
"workflowName": "Order Processing",
"workflowVersion": 3,
"status": "SUCCESS",
"trigger": "WEBHOOK",
"inputData": { "body": { "orderId": 42 } },
"outputData": { "result": "processed" },
"errorMessage": null,
"createdAt": "2026-02-17T10:30:00.000Z",
"startedAt": "2026-02-17T10:30:00.050Z",
"completedAt": "2026-02-17T10:30:02.350Z",
"durationMs": 2300,
"nodeExecutions": [
{
"id": "uuid",
"nodeId": "uuid",
"nodeName": "Webhook Trigger",
"nodeType": "WEBHOOK_TRIGGER",
"status": "SUCCESS",
"startedAt": "2026-02-17T10:30:00.050Z",
"completedAt": "2026-02-17T10:30:00.120Z",
"durationMs": 70,
"inputData": { "body": { "orderId": 42 } },
"outputData": { "orderId": 42, "customer": "Acme Corp" },
"errorMessage": null,
"retryCount": 0
},
{
"id": "uuid",
"nodeId": "uuid",
"nodeName": "Validate Order",
"nodeType": "IF_ELSE",
"status": "SUCCESS",
"startedAt": "2026-02-17T10:30:00.125Z",
"completedAt": "2026-02-17T10:30:00.130Z",
"durationMs": 5,
"inputData": { "orderId": 42, "customer": "Acme Corp" },
"outputData": { "branch": "true", "orderId": 42 },
"errorMessage": null,
"retryCount": 0
}
]
}Debugging failed executions
status: "FAILED", check the errorMessage field on both the top-level execution and individual node executions to pinpoint which node caused the failure.List Executions by Workflow
/api/executions?workflowId=:workflowIdList executions for a specific workflow
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | UUID | Yes | The workflow to list executions for |
page | integer | No | Page number (default: 0) |
size | integer | No | Page size (default: 20) |
The response format is the same as List Executions. The caller must have view access to the workflow.
Cancel Execution
/api/executions/:id/cancelCancel a running or pending execution
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | UUID | The execution ID to cancel |
Response
(empty body)Permissions
RUNNING or PENDING status can be cancelled.Export Executions
/api/executions/team/:teamId/exportExport execution logs as CSV or JSON for compliance reporting
Path Parameters
| Parameter | Type | Description |
|---|---|---|
teamId | UUID | The team to export executions for |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | No | Export format: csv (default) or json |
days | integer | No | Number of days to include (default: 30) |
Response
Returns a file download. The CSV format is denormalized with one row per node execution for easy analysis. The JSON format nests node executions within their parent execution.
execution_id, workflow_id, workflow_name, status, trigger,
started_at, completed_at, duration_ms, node_id, node_type,
node_name, node_status, node_started_at, node_completed_at,
node_duration_ms, node_error[
{
"executionId": "uuid",
"workflowId": "uuid",
"workflowName": "Order Processing",
"status": "SUCCESS",
"trigger": "WEBHOOK",
"startedAt": "2026-02-17T10:30:00.000Z",
"completedAt": "2026-02-17T10:30:02.350Z",
"durationMs": 2350,
"nodeExecutions": [
{
"nodeId": "uuid",
"nodeType": "WEBHOOK_TRIGGER",
"nodeName": "Webhook Trigger",
"status": "SUCCESS",
"startedAt": "2026-02-17T10:30:00.000Z",
"completedAt": "2026-02-17T10:30:00.120Z",
"durationMs": 120,
"error": null
}
]
}
]Sensitive data masking
Execution Statuses
| Status | Description |
|---|---|
PENDING | The execution is queued and waiting to start |
RUNNING | The execution is currently in progress |
SUCCESS | All nodes completed without errors |
FAILED | One or more nodes encountered an error |
CANCELLED | The execution was manually cancelled or timed out |
Error Codes
| Status | Meaning |
|---|---|
403 | User does not have access to this team |
404 | Execution not found |