Executions
Executions are individual runs of a workflow. Use this resource to inspect run status, per-node spans, logs, and progress, and to pause, resume, or cancel a run.
Access it as client.executions on a Strongly client, or the same path on AsyncStrongly with await. All methods exist on both with identical signatures.
Quick start
from strongly import Strongly
client = Strongly()
# List (auto-paginates as you iterate) # filters: workflow_id, status, since, until, trigger_type
for execution in client.executions.list():
print(execution.id)
# Retrieve one by id
item = client.executions.retrieve("<id>")
Methods
Core
list
list(*, workflow_id: Optional[str] = None, status: Optional[str] = None, since: Optional[str] = None, until: Optional[str] = None, trigger_type: Optional[str] = None, limit: Optional[int] = None) -> SyncPaginator[Execution]
List workflow executions with pagination and filtering.
Args:
workflow_id: Filter by parent workflow ID.
status: Filter by execution status (e.g. "running", "completed", "failed").
since: ISO timestamp; only return executions created after this time.
until: ISO timestamp; only return executions created before this time.
trigger_type: Filter by trigger type (e.g. "manual", "api", "schedule").
limit: Maximum number of items to return (default: all matching items).
retrieve
retrieve(execution_id: str) -> Execution
Get a single execution with full details.
Lifecycle & actions
stop
stop(execution_id: str) -> Dict[str, Any]
Stop a running execution.
resume
resume(execution_id: str, *, trigger_data: Optional[Dict[str, Any]] = None) -> Dict[str, Any]
Resume a failed or paused execution.
Args: execution_id: The execution ID. trigger_data: Optional data to pass when resuming.
Other
logs
logs(execution_id: str, *, level: Optional[str] = None, limit: Optional[int] = None) -> List[ExecutionLog]
Get logs for an execution.
Args:
execution_id: The execution ID.
level: Optional log level filter (e.g. "error", "info").
limit: Maximum number of log entries (default 100, max 1000).
pending_inputs
pending_inputs(execution_id: str) -> List[Dict[str, Any]]
Discover pending input requests for a waiting execution.
Returns the list of inputs the execution is waiting for, including
the request_id needed to call submit_input.
Args: execution_id: The execution ID.
Returns:
List of pending input descriptors, each containing at minimum
request_id, type, and prompt fields.
progress
progress(execution_id: str) -> ExecutionProgress
Get execution progress summary.
spans
spans(execution_id: str, *, node_id: Optional[str] = None) -> List[ExecutionSpan]
List spans (node-level trace records) for an execution.
Args: execution_id: The execution ID. node_id: Optional filter by specific node ID.
submit_input
submit_input(execution_id: str, *, request_id: str, data: Any, respondent: Optional[str] = None) -> Dict[str, Any]
Submit external input to a waiting workflow execution.
Used with the wait-for-input node: when a workflow pauses
at that node, call this method to deliver the required data so
the workflow can continue.
Args:
execution_id: The execution ID (must be in "waiting" status).
request_id: The input request ID generated by the wait-for-input node.
data: The input data to deliver to the workflow.
respondent: Optional identifier for who is providing the input.