List workflow executions for the caller's org (recover a lost execution_id)
List this org's workflow executions, newest first, with SQL-side pagination - the recovery path for a lost execution_id (the single GET /workflows/executions/{execution_id} read below needs an id you no longer have).
Org is pinned server-side from the authenticated caller and passed to voice in the PATH; a client-supplied org_id query param is ignored, so one tenant can never list another tenant's executions (the voice backing route trusts its path org_id, so pinning here is the tenant boundary - getting it wrong is a cross-org IDOR). runtime_type is pinned to workflow so only workflow runs surface here, matching the sibling GET /workflows which does not expose raw LLM/API/script action runs.
Proxies voice's GET /api/v1/executions/list/{org_id} and returns its ExecutionListResponse shape unchanged - {executions: [...], total_count: int} - consistent with this router's pass-through convention (voice owns the execution DTO; re-declaring its ~20 fields here would only drift). Voice also clamps limit to 1..200 SQL-side; the bounds here reject an out-of-range page with a clean 422 before the round-trip.
Read-only and additive: nothing is created, and no existing route changes.
Request
- Base URL: https://be.graph8.com/api/v1
- URL: https://be.graph8.com/api/v1/workflows/executions
- Auth: HTTP bearer
Query parameters
Filter to a single workflow's executions.
Filter by execution status (equality match — one status per call). The backend writes seven values: pending|running|completed|failed|paused|pending_approval|stopped. The four terminal-or-early states are pending, running, completed, failed; paused and pending_approval are resumable, stopped is terminal.
Filter by the identity that started the run (user email, agent id, 'api', ...).
Page size (1..200).
Rows to skip for pagination.
Headers
Response
Successful Response
Changes
No recorded changes to this operation across all 2 revisions of this API.