Search Workflow Runs
Search workflow runs with filters. Supports filtering by workflow ID, status, user IDs, time range, linked ticket, and parent_workflow_run_id. Set include_child_runs=false to exclude child runs (runs spawned by another run), or include_runs_with_linked_ticket=true to return only ticket-linked runs — both avoid paging rows a caller would otherwise discard client-side. To investigate a run’s sub-workflows, search with parent_workflow_run_id set to that run’s id (combine with statuses=[FAILED] to find failing children), then recurse into each child run.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The ID of the team. Required.
Filter by workflow ID.
Filter by statuses (multiple allowed).
WORKFLOW_RUN_STATUS_UNSPECIFIED, WORKFLOW_RUN_STATUS_PENDING, WORKFLOW_RUN_STATUS_RUNNING, WORKFLOW_RUN_STATUS_COMPLETED, WORKFLOW_RUN_STATUS_FAILED, WORKFLOW_RUN_STATUS_DENIED, WORKFLOW_RUN_STATUS_CANCELED Filter by the target user for the workflow run.
Filter by the user who initiated the workflow run.
Filter by runs created after this timestamp (RFC3339 format).
Filter by runs created before this timestamp (RFC3339 format).
Filter by linked ticket ID.
Maximum number of results to return. Default is 50, maximum is 200. Larger values are silently coerced server-side; the actual value used is returned in the X-Served-Page-Size response header.
Token for pagination. Leave empty for the first request.
When true (default), each returned run includes its output field
(the full workflow result). For multi-row search responses this can be
megabytes per row — set to false if you only need run metadata; you
can then fetch full output per-run via GetWorkflowRun. Strongly
recommended false for any caller that does not need output.
Filter to the direct child runs (sub-workflows) of this parent run.
Pass a run ID here to list the runs it spawned one level deep; combine
with statuses (e.g. FAILED) to find the failing children.
Whether to include child runs (sub-workflows) in the results. Unset means true (all runs are returned — matches include_output's unset-means-true convention). Set explicitly to false to return only top-level runs; on journey-heavy teams child runs can be >90% of total rows, so this avoids paging them just to discard them client-side. include_child_runs=false is mutually exclusive with parent_workflow_run_id (a run cannot both have a given parent and no parent); combining them is a 400.
When true, return only runs that are linked to a ticket (linked_ticket_id set). Unset and explicit false are equivalent — no filter is applied. Useful for building per-ticket run indexes without fetching unlinked runs.

