---
title: "List workflows"
method: GET
path: "/v1/workspaces/{workspace_id}/workflows"
tags: ["Workflows"]
---

# List workflows

`GET /v1/workspaces/{workspace_id}/workflows`

List available generation workflows (published blueprints) in a workspace.

## Path parameters

- `workspace_id` string, uuid, required — Id of the workspace that owns the resource.

## Query parameters

- `search` string, nullable — Full-text search on workflow name/description
- `limit` integer — Maximum number of results to return.
- `cursor` string, nullable — Cursor from a previous response to fetch the next page.

## Response `200`

Successful Response

- ListWorkflowsOutput
  - `workflows` WorkflowSummary[], required
    - `workflow_id` string, uuid, required — Unique workflow identifier
    - `name` string, required — Workflow display name
    - `description` string, required — What this workflow generates
    - `modality` 'text' | 'image' | 'audio' | 'video' | 'three_d' | 'playable'
    - `created_at` string, date-time, required — When this workflow version was created
    - `published_at` string, date-time, nullable — When this workflow version was published
    - `inputs` WorkflowInput[], required — Input parameters the workflow accepts
      - `name` string, required — Input parameter name (used as key in execute_workflow inputs)
      - `type` string, required — Parameter type: string, number, boolean, file, prompt, etc.
      - `value_schema` object, nullable — JSON schema of the input value
      - `required` boolean, required — Whether this input must be provided
      - `description` string, required — What this input controls
      - `display_name` string, nullable — Human-readable label
      - `default` unknown
    - `outputs` WorkflowOutput[], required — Output parameters the workflow produces
      - `name` string, required — Output parameter name
      - `type` string, required — Output type: file, string, etc.
      - `value_schema` object, nullable — JSON schema of the output value
      - `description` string, required — What this output contains
      - `display_name` string, nullable — Human-readable label
  - `pagination` PaginationOutput, required
    - `next_cursor` string, nullable — Cursor to use to get the next page
    - `has_more_results` boolean, required — If there are more results to page through
    - `total_count` integer, nullable — Total number of results matching the query

## Other responses

- `401` — Unauthenticated — missing or invalid Bearer token.
- `403` — Forbidden — insufficient permissions, or the access token lacks the scope the operation requires.
- `404` — Resource not found.
- `409` — The request with this `Idempotency-Key` is still running — retry after the number of seconds in `Retry-After`.
- `422` — Invalid input parameters, or an `Idempotency-Key` reused for a different request.
- `429` — Rate limited — retry after the number of seconds in `Retry-After`.
- `500` — Internal server error.

---

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