---
title: "Move a pipeline to a folder"
method: PUT
path: "/pipelines/{pipeline_id_or_alias}/folder"
tags: ["Pipelines"]
---

# Move a pipeline to a folder

`PUT /pipelines/{pipeline_id_or_alias}/folder`

## Request

- Base URL: `https://app.getorchestra.io/api/engine/public`
- URL: `https://app.getorchestra.io/api/engine/public/pipelines/{pipeline_id_or_alias}/folder`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://app.getorchestra.io/oauth/authorize`
    - Token URL: `https://app.getorchestra.io/oauth/token` scopes: `orchestra:write`

Move an Orchestra-backed pipeline to a folder by alias or pipeline ID, leaving its definition and versions as they are. A git-backed pipeline's folder comes from where its YAML file lives, so move the file instead.

## Path parameters

- `pipeline_id_or_alias` union, required
  - string, uuid4
  - string

## Headers

- `X-Orchestra-Account-Id` string, uuid4, nullable

## Request body

- PipelineFolderRequest: Moves a pipeline to another folder, leaving its definition and versions as they are.
  - `folder` string, nullable, required: Folder path to move an Orchestra-backed pipeline to, such as `finance/daily`. Send null or an empty string for no folder.

## Response `200`

Successful Response

- PipelineResponse: Pipeline summary returned by the pipelines API.
  - `id` string, uuid4, required
  - `name` string, required
  - `numTasks` integer, nullable
  - `yamlPath` string, required
  - `createdAt` string, required
  - `updatedAt` string, required
  - `paused` boolean, required
  - `triggerEvents` string, nullable
  - `webhook` string, nullable
  - `schedule` string, nullable
  - `sensors` string, nullable
  - `inputs` object, nullable
  - `productId` string, uuid4, nullable
  - `productName` string, nullable
  - `latestVersionNumber` integer, nullable
  - `publishedVersionNumber` integer, nullable
  - `storageProvider` string, nullable
  - `repository` string, nullable
  - `defaultBranch` string, nullable
  - `alias` string, nullable
  - `folder` string, nullable
  - `latestRunId` string, uuid4, nullable
  - `latestRunStatus` 'QUEUED' | 'CREATED' | 'RUNNING' | 'SUCCEEDED' | 'WARNING' | 'FAILED' | 'SKIPPED' | 'CANCELLING' | 'CANCELLED'
  - `latestRunMessage` string, nullable
  - `latestRunCreatedAt` string, nullable
  - `latestRunCompletedAt` string, nullable
  - `latestRunStartedAt` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `e45165e7e223`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getorchestra/apis/orchestra-api/changes/pipelines/:pipeline_id_or_alias/folder/put.md)

---

[API](https://skmtc.dev/getorchestra/apis/orchestra-api.md) - [All operations](https://skmtc.dev/getorchestra/apis/orchestra-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getorchestra/apis/orchestra-api/revisions/daf2c16b3057?raw)
