---
title: "Get Workflow Runs"
method: GET
path: "/workflows/v1/workflow-runs"
tags: ["Workflow Runs"]
---

# Get Workflow Runs

`GET /workflows/v1/workflow-runs`

Endpoint to retrieve workflow runs for a specific workflow if workflow_id is provided.
Else, all workflow runs for the team are retrieved.

## Query parameters

- `filters` WorkflowRunFilter, required
  - `logical_id` string, nullable — Filter by logical ID
  - `workflow_id` string
  - `status` 'not_started' | 'started' | 'running' | 'failed' | 'completed' | 'paused' | 'waiting_for_user_input' | 'cancelled' | 'aborted_looping_risk'
  - `version_number` integer, nullable — Filter by version number
  - `source_workflow_run_id` string
  - `source_turn_index` integer, nullable — Narrow source_workflow_run_id to one turn. Ignored on its own — a turn index means nothing without the run it belongs to.
  - `copilot_runs_only` boolean — Return Emily copilot conversations instead of customer workflow runs. Copilot runs are excluded from every other listing, so this is the only way to see them. Super-admins only — the endpoint refuses it for any other role.
- `size` integer — Number of items per page
- `page` integer — Page number
- `search` string, nullable — Search keywords
- `start` string, date-time, nullable — Filter by start time (ISO 8601 format)
- `end` string, date-time, nullable — Filter by end time (ISO 8601 format)

## Response `200`

Successful Response

- WorkflowRunsListResponse — Response model for a list of workflow runs. Contains a list of WorkflowRunsProjectionModel objects.
  - `workflow_runs` WorkflowRunsProjectionModel[] — List of workflow runs
    - `team_id` string, nullable — ID of the team that owns this edge
    - `created_by` string, nullable — ID of the user who created this edge
    - `updated_by` string, nullable — ID of the user who last updated this edge
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `_id` string, required
    - `workflow_run` WorkflowRunProjectModel, required
      - `logical_id` string, nullable, required
      - `workflow_id` string, required
      - `status` 'not_started' | 'started' | 'running' | 'failed' | 'completed' | 'paused' | 'waiting_for_user_input' | 'cancelled' | 'aborted_looping_risk', required
      - `run_by` string, nullable
      - `version_number` integer, nullable
      - `version_name` string, nullable
      - `voice_conversation_id` string, nullable
      - `source_workflow_run_id` string
      - `checkpoint_source_turn_index` integer, nullable
    - `schedule_id` string
    - `is_copilot_run` boolean
    - `workflow_name` string, nullable
    - `workflow_deleted` boolean
  - `total` integer, nullable — Total number of workflow runs available without pagination.

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-24** `777675c8a285` — 1 info
  - added the optional property `workflow_runs/items/is_copilot_run` to the response with the `200` status
- **2026-08-05** `56acbffb4fcf` — 2 info
  - added the optional property `workflow_runs/items/workflow_run/anyOf[subschema #1: WorkflowRunProjectModel]/checkpoint_source_turn_index` to the response with the `200` status
  - added the optional property `workflow_runs/items/workflow_run/anyOf[subschema #1: WorkflowRunProjectModel]/source_workflow_run_id` to the response with the `200` status

[Change history](https://skmtc.dev/interactly/apis/interactly-api-3/changes/workflows/v1/workflow-runs/get.md)

---

[API](https://skmtc.dev/interactly/apis/interactly-api-3.md) · [All operations](https://skmtc.dev/interactly/apis/interactly-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/interactly/interactly-api-3/revisions/35cbea12a781/schema)
