---
title: "List user's pipelines"
method: GET
path: "/pipelines"
tags: ["Pipeline"]
---

# List user's pipelines

`GET /pipelines`

Retrieves a list of pipelines for the current user,
optionally filtered by project and other criteria.

Text fields (name, description, created_by_email) take ``ilike.%value%``,
status an exact value or ``in.(a,b)``, date fields ``gte.value`` /
``lte.value``, and created_at_gt/_lt (or updated_at_gt/_lt) bound a range.
``id`` stays alongside ``q``: it is the exact-UUID contract API clients rely
on, while ``q`` matches a UUID only as one OR-term.

## Query parameters

- `project_id` string, nullable
- `skip` integer
- `limit` integer
- `q` string, nullable
- `id` string, nullable
- `name` string, nullable
- `description` string, nullable
- `status` string, nullable
- `created_by_email` string, nullable
- `created_at` string, nullable
- `updated_at` string, nullable
- `created_at_gt` string, nullable
- `created_at_lt` string, nullable
- `updated_at_gt` string, nullable
- `updated_at_lt` string, nullable
- `order_by` 'name' | 'id' | 'description' | 'status' | 'created_at' | 'updated_at' | 'created_by_email'
- `order` 'asc' | 'desc'

## Response `200`

Successful Response

- PipelineListResponse — Schema for listing pipelines with pagination
  - `pipelines` PipelineWithElementStatus[], required
    - `id` string, required
    - `project_id` string, required
    - `user_id` string, nullable
    - `name` string, required
    - `description` string, nullable
    - `options` PipelineOptions — Options for pipeline execution behavior.
      - `live_progress_updates` boolean, nullable — If True, save checkpoint progress to database during job execution. If None, the worker picks a default based on job type.
    - `status` 'pending' | 'running' | 'completed' | 'failed' | 'canceled', required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `error` string, nullable
    - `error_code` 'CONFIGURATION_ERROR' | 'MODEL_ERROR' | 'SOLVER_ERROR' | 'EXECUTION_TIMEOUT' | 'SUBMISSION_FAILED' | 'INTERNAL_ERROR' — Machine-readable error codes for jobs.
    - `created_by_email` string, nullable
    - `organization_id` string, required — Organization this pipeline belongs to.
    - `elements` PipelineElementStatusInfo[]
      - `id` string, required
      - `name` string, required
      - `element_order` integer, required
      - `element_type` 'Direct Entry' | 'Data Fit' | 'Array Data Fit' | 'Calculation' | 'Validation', required
      - `status` 'pending' | 'running' | 'completed' | 'failed' | 'skipped' | 'canceled', required
      - `job_id` string, nullable
      - `job_status` string, nullable — Job status via job_id (from jobs.status).
      - `anyscale_job_id` string, nullable — Anyscale prodjob id via job_id (from jobs.anyscale_job_id).
      - `anyscale_url` string, nullable, required — Deep-link to this element's job on the Anyscale console, or None.
  - `total` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
