List Workflow Runs
Stored runs and access
Use the database-backed example workflow server and retain the returned workflow, run and session IDs. Configured authorization requires access to run the target workflow.
JWT user isolation is opt-in; non-admin service-account PAT callers always self-scope. Scoped callers can read only their own matching workflow sessions and runs. A wrong owner, missing record or cross-component ID returns 404. Authentication alone does not enable user isolation.
List shape and filtering
Supply the saved session_id. The response is a bare array, without a data wrapper or pagination metadata. Each item is a run projection, not the full polling output. For example (other fields omitted):
[{"run_id":"returned-run-id","workflow_id":"echo","run_input":"Hello","content":"Hello","status":"COMPLETED","created_at":"2026-09-07T09:00:00Z"}]The projection uses run_input and an ISO timestamp; it does not include session_id. Keep the session ID from your request.
status uses exact uppercase matching, including CANCELLED, as well as PENDING, RUNNING, COMPLETED, ERROR and PAUSED. A lowercase or unknown value currently returns an empty array, not a validation error.
For a factory, pass the factory_input JSON query value needed for reconstruction. Remote workflow run listing returns 400. A nonexistent session returns 404, while an existing matching session can have an empty run list.
/workflows/{workflow_id}/runsList runs for a workflow within a session, optionally filtered by status.
Useful for monitoring background runs and viewing run history.
Authorization
HTTPBearer In: header
Path Parameters
Query Parameters
Session ID to list runs for
Filter by run status (PENDING, RUNNING, COMPLETED, ERROR, PAUSED)
JSON object with factory-specific parameters for dynamic workflow reconstruction
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl --request GET 'https://example.com/workflows/string/runs?session_id=string'null{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}