Endpoint
Authentication
All requests must include a valid Bearer token in theAuthorization header.
Path Parameters
string
required
The unique run identifier returned by POST /api/workflows/:workflowId/run when the run was enqueued. Example:
run_xyz789abc.Request Body
This endpoint does not accept a request body.Response
string
The unique identifier for this run, matching the
runId you provided in the path.string
The ID of the workflow this run belongs to.
string
The overall status of the run. Possible values:
PENDING— the run is queued and has not started executing yet.RUNNING— the run is actively executing; some nodes may already be complete.SUCCESS— all required nodes executed successfully and the run is complete.FAILED— one or more nodes encountered an error and the run halted.
object
A map of node IDs to their individual execution results. Each key is a node ID (as defined in your workflow graph), and the value is an object describing that node’s outcome.
Example Response
The following response shows a fully completed run for a four-node workflow: a trigger (t), a data-source (ds), a filter (f), and an output action (out).
Understanding the SKIPPED Status
Flowmatic workflows support conditional branching — nodes can be connected along different paths that are only activated when certain conditions are met. If the execution engine evaluates a condition and follows one branch, all nodes on the other branch receive a SKIPPED status.
A SKIPPED node is not a failure. The overall run can still reach SUCCESS even when some nodes are skipped. You should expect SKIPPED nodes whenever your workflow includes conditional logic, and use the node-level statuses to understand exactly which execution path was taken.
When a node is
SKIPPED, its output field will typically be absent or empty. Do not treat a missing output as an error — check the node’s status field first to determine whether it ran at all.Polling for Completion
Because workflow runs are asynchronous, you will often need to poll this endpoint repeatedly until the top-levelstatus reaches a terminal state (SUCCESS or FAILED). The example script below does this in a shell loop, checking every 2 seconds:
jq to extract the status field. Install it via your system package manager if needed (e.g., brew install jq on macOS).
curl Example
Related Endpoints
- POST /api/workflows/:workflowId/run — enqueue a new run and obtain a
runId. - GET /api/workflows/:workflowId/runs — list all runs for a workflow and monitor the queue.