---
title: "List Workflows"
method: GET
path: "/v1/workflows"
tags: ["Workflows API"]
---

# List Workflows

`GET /v1/workflows`

Use this endpoint to retrieve a paginated list of workflows. You can filter results by status.

## Query parameters

- `status` 'draft' | 'active' | 'inactive'
- `limit` integer
- `cursor` string
- `sortBy` 'createdAt' | 'updatedAt' | 'name'
- `sortOrder` 'ASC' | 'DESC'

## Response `200`

Indicates that the request was successful and the response contains the requested data.

- WorkflowListOutput
  - `hasMore` boolean — Indicates whether more pages are available.
  - `items` WorkflowOutput[] — List of workflow definitions in the current page.
    - `createdAt` string, date-time — Timestamp when the workflow was created.
    - `description` string — Human-readable description of the workflow.
    - `edges` WorkflowEdgeOutput[] — Connections between nodes that define the execution flow.
      - `condition` string — Condition expression for conditional edges.
      - `id` string — Unique identifier of the edge.
      - `label` string — Human-readable label.
      - `source` string — ID of the source node.
      - `sourceHandle` string — Handle on the source node.
      - `target` string — ID of the target node.
    - `id` string, uuid — Unique identifier of the workflow.
    - `metadata` object — Custom key-value pairs for tagging or categorizing.
    - `name` string — Unique name of the workflow.
    - `nodes` WorkflowNodeOutput[] — The steps that make up this workflow.
      - `data` object — Configuration data specific to the node type.
      - `id` string — Unique identifier of the node within the workflow.
      - `name` string — Display name of the node.
      - `position` PositionOutput
        - `x` integer — Horizontal position in pixels.
        - `y` integer — Vertical position in pixels.
      - `type` string — Type of the node.
    - `status` 'draft' | 'active' | 'inactive' — Current lifecycle status: `draft` (editable), `active` (executable), or `inactive` (archived).
    - `updatedAt` string, date-time — Timestamp of the last update.
  - `nextCursor` string — Cursor to pass in the next request to retrieve the following page.

## Other responses

- `400` — Indicates that the request was malformed or contained invalid parameters.
- `500` — Indicates an unexpected internal error. If this persists, please contact support.

---

[API](https://skmtc.net/lerian/apis/identity-plugin.md) · [All operations](https://skmtc.net/lerian/apis/identity-plugin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lerian/identity-plugin/versions/25daba385532/schema)
