---
title: "List workflow executions"
method: GET
path: "/workflows/{workflow_id}/executions"
tags: ["Workflows"]
---

# List workflow executions

`GET /workflows/{workflow_id}/executions`

Retrieve execution history for a workflow. Executions are returned in reverse chronological order (most recent first). Use query parameters to filter by status, time range, or cursor.

**Response**: Returns summary data (id, status, tracking_id, timestamps, workflow, current_step). Does not include execution_context or events. Use GET /workflow_executions/{id} to retrieve full execution details.

**Pagination**: Use `limit`, `after`, and `before`. Pagination cursors are returned in the `paging` object.

Common use cases:
- Monitor active executions for a workflow
- Review failed executions for debugging
- Audit execution history over time
- Find waiting executions that need user input

## Query parameters

- `status` 'running' | 'waiting' | 'ended' | 'failed' | 'handoff'
- `waiting_reason` string
- `created_after` string, date-time
- `created_before` string, date-time
- `whatsapp_conversation_id` string, uuid
- `limit` integer
- `before` string
- `after` string

## Response `200`

Executions retrieved successfully

- WorkflowExecutionListResponse — List of workflow executions with cursor pagination metadata
  - `data` WorkflowExecutionSummary[], required
    - `id` string, uuid, required — Unique execution identifier
    - `status` 'running' | 'waiting' | 'ended' | 'failed' | 'handoff', required — Execution status: - `running`: Currently executing workflow steps - `waiting`: Paused, awaiting user input or timeout - `ended`: Successfully completed - `failed`: Terminated due to error - `handoff`: Transferred to human agent
    - `started_at` string, date-time, required — Execution start timestamp
    - `ended_at` string, date-time, nullable — Execution completion timestamp, null if still active
    - `last_event_at` string, date-time, required — Timestamp of most recent workflow event or activity
    - `tracking_id` string, uuid, nullable — Optional external tracking identifier for correlating with external systems
    - `whatsapp_conversation_id` string, uuid, nullable — Associated WhatsApp conversation identifier, links execution to its conversation
    - `workflow` WorkflowMinimal — Compact workflow reference used in execution objects
      - `id` string, uuid, required — Workflow identifier
      - `name` string, required — Workflow name
      - `status` string, required — Workflow status
    - `current_step` WorkflowStepReference — Reference to a workflow step (used in execution current_step tracking)
      - `id` string, uuid, required — Internal ID of the workflow step
      - `identifier` string, required — Step identifier within the workflow (e.g., 'start', 'step1', 'agent_greeting')
      - `stepable_type` string, nullable — Ruby class name of the step type (e.g., 'FlowAgentStep', 'FlowActionStep', 'FlowWaitStep', 'FlowDecideStep')
      - `position` object, nullable — Canvas position for visual editor
        - `x` number
        - `y` number
  - `paging` Paging, required
    - `cursors` PaginationCursor
      - `before` string — Cursor for previous page (Base64 encoded)
      - `after` string — Cursor for next page (Base64 encoded)
    - `next` string, nullable
    - `previous` string, nullable

## Other responses

- `401` — Missing or invalid API key
- `404` — Resource not found

---

[API](https://skmtc.net/kapso/apis/kapso-platform-api.md) · [All operations](https://skmtc.net/kapso/apis/kapso-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kapso/kapso-platform-api/revisions/18ff5548a33f/schema)
