> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archetypeai.app/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Start with /introduction/getting-started. Use the Direct Query API (POST /query) with the Newton Fusion model (text, image, and video reasoning) or the Newton Omega encoder (time-series embeddings). ATAI_API_ENDPOINT must include the version path: /v0.5 for most APIs, /v0.6 for the Fine-Tuning Service. Pages whose descriptions are marked (Archived) document the legacy Lens runtime — do not use them for new projects.

# List Pipelines

> Retrieve a paginated list of pipelines from the registry

<Callout icon="clock" color="#3064E3" iconType="solid">
  Requires [version 1.1.0](/release-notes/1.1.x#v1-1-0) or later of the Archetype platform.
</Callout>

## Overview

This endpoint returns a paginated list of pipelines available in the registry. You can filter by pipeline type, visibility, and status.

## Request

<ParamField query="pipeline_type" type="string">
  Filter by pipeline type: `batch` or `training`
</ParamField>

<ParamField query="visibility" type="string">
  Filter by visibility: `platform` (visible to all orgs) or `org` (visible only to owning org)
</ParamField>

<ParamField query="status" type="string">
  Filter by registry status: `draft`, `published`, `deactivated`, or `deleted`
</ParamField>

<ParamField query="offset" type="integer">
  Number of items to skip for pagination (default: 0)
</ParamField>

<ParamField query="limit" type="integer">
  Maximum number of items to return per page
</ParamField>

## Response

<ResponseField name="total" type="integer">
  Total number of pipelines matching the filter criteria
</ResponseField>

<ResponseField name="offset" type="integer">
  Current pagination offset
</ResponseField>

<ResponseField name="limit" type="integer">
  Maximum number of items returned
</ResponseField>

<ResponseField name="pipelines" type="array">
  Array of pipeline objects, each containing:

  * `id` — Unique pipeline identifier
  * `pipeline_key` — Pipeline key
  * `pipeline_version` — Pipeline version
  * `name` — Human-readable pipeline name
  * `description` — Pipeline description
  * `pipeline_type` — Pipeline type (`batch` or `training`)
  * `components` — Map of component names to component IDs
  * `default_config` — Default configuration per component
  * `config_schema` — JSON Schema for pipeline configuration
  * `user_config_schema` — User-facing JSON Schema
  * `edges` — Pipeline graph edges connecting components
  * `inputs` — Map of input port name to port definition. Each port has `name`, `description`, `mode` (`plain_file_list` or `n_shot_file_list`), `distribute` (`scatter` or `replicate`), `required` (bool), and `tracked` (bool — whether files on this port participate in per-input lifecycle tracking; `false` for reference/n-shot ports)
  * `outputs` — Map of output port name to port definition (`name`, `description`)
  * `retry_policy` — Retry policy configuration
  * `visibility` — Visibility level (`platform` or `org`)
  * `org_id` — Owning organization ID
  * `status` — Registry status
  * `created_at` — Creation timestamp
  * `updated_at` — Last update timestamp
</ResponseField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl "https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?pipeline_type=batch&status=published" \
    -H "Authorization: Bearer $ATAI_API_KEY"
  ```

  ```python Python theme={"system"}
  import requests
  import os

  api_key = os.environ.get("ATAI_API_KEY")

  response = requests.get(
      "https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines",
      headers={"Authorization": f"Bearer {api_key}"},
      params={
          "pipeline_type": "batch",
          "status": "published"
      }
  )

  data = response.json()
  print(f"Total pipelines: {data['total']}")
  for pipeline in data["pipelines"]:
      print(f"  {pipeline['pipeline_key']} v{pipeline['pipeline_version']}: {pipeline['name']}")
  ```

  ```javascript JavaScript theme={"system"}
  const params = new URLSearchParams({
    pipeline_type: 'batch',
    status: 'published'
  });

  const response = await fetch(`https://api.u1.archetypeai.app/v0.5/batch/registry/pipelines?${params}`, {
    headers: {
      'Authorization': `Bearer ${process.env.ATAI_API_KEY}`
    }
  });

  const data = await response.json();
  console.log(`Total pipelines: ${data.total}`);
  data.pipelines.forEach(pipeline => {
    console.log(`  ${pipeline.pipeline_key} v${pipeline.pipeline_version}: ${pipeline.name}`);
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Success theme={"system"}
  {
    "total": 5,
    "offset": 0,
    "limit": 20,
    "pipelines": [
      {
        "id": "ppl_abc123def456",
        "pipeline_key": "machine-state-classification",
        "pipeline_version": "1.1.1",
        "name": "Machine State Classification",
        "description": "Identify labeled states in time series sensor data",
        "pipeline_type": "batch",
        "components": {
          "worker": "cmp_xyz789"
        },
        "default_config": {
          "worker": {
            "parallelism": 1,
            "config": {
              "model_type": "omega_1_4_base",
              "batch_size": 32
            }
          }
        },
        "config_schema": {},
        "user_config_schema": {},
        "edges": [],
        "inputs": {
          "worker.inference": {
            "name": "Input files",
            "description": "CSV files for machine-state classification",
            "mode": "plain_file_list",
            "distribute": "scatter",
            "required": true,
            "tracked": true
          },
          "worker.n_shots": {
            "name": "N-Shot example files",
            "description": "Labeled few-shot training files (class declared via input metadata)",
            "mode": "n_shot_file_list",
            "distribute": "replicate",
            "required": true,
            "tracked": false
          }
        },
        "outputs": {
          "worker.results": {
            "name": "Output files",
            "description": "Machine-state classification results"
          }
        },
        "retry_policy": {},
        "visibility": "platform",
        "org_id": "org_1abc2def3ghi4jkl",
        "status": "published",
        "created_at": "2026-03-01T00:00:00Z",
        "updated_at": "2026-04-01T00:00:00Z"
      }
    ]
  }
  ```

  ```json 401 - Unauthorized theme={"system"}
  {
    "detail": "Invalid access with key: api_key_not_found"
  }
  ```
</ResponseExample>
