---
title: "Update pipeline version"
method: POST
path: "/pipelines/{pipelineId}/versions/{versionId}"
tags: ["pipeline-versions"]
---

# Update pipeline version

`POST /pipelines/{pipelineId}/versions/{versionId}`

Updates the details of the pipeline version identified by the given `pipelineId` and `versionId`. 
            **Note**: If `labelIds` is `null`, empty, or omitted, existing pipeline labels are removed.
            Include `labelIds: [<label-id-1>,<label-id-2>]` to override existing labels. Labels to be preserved must be included.
            To append a list of labels to multiple pipelines, use `/pipelines/labels/add`.

## Path parameters

- `pipelineId` integer, required
- `versionId` string, required

## Query parameters

- `workspaceId` integer

## Request body

- UpdatePipelineRequest
  - `description` string
  - `icon` string
  - `labelIds` integer[]
  - `launch` WorkflowLaunchRequest
    - `commitId` string
    - `computeEnvId` string
    - `configProfiles` string[]
    - `configText` string
    - `dateCreated` string, date-time
    - `entryName` string
    - `headJobCpus` integer
    - `headJobMemoryMb` integer
    - `id` string
    - `labelIds` integer[]
    - `launchContainer` string
    - `mainScript` string
    - `nextflowVersion` string, nullable — Nextflow release version to run this workflow with; must exist in the system catalog and satisfy the minimum configured for the compute environment's type.
    - `optimizationId` string
    - `optimizationTargets` string
    - `outputDir` string, nullable — Per-run output directory passed as Nextflow -output-dir (requires Nextflow 24.10.0 or later and workflow outputs syntax).
    - `paramsText` string
    - `pipeline` string
    - `pipelineSchemaId` integer
    - `postRunScript` string
    - `preRunScript` string
    - `pullLatest` boolean
    - `resume` boolean
    - `revision` string
    - `runName` string
    - `schemaName` string
    - `sessionId` string
    - `stubRun` boolean
    - `syntaxParser` 'v1' | 'v2', nullable
    - `towerConfig` string
    - `userSecrets` string[]
    - `workDir` string
    - `workspaceSecrets` string[]
  - `name` string

## Response `200`

OK

- UpdatePipelineResponse
  - `pipeline` PipelineDbDto
    - `computeEnv` ComputeEnvDbDto
      - `id` string
      - `name` string
      - `platform` string
      - `region` string
    - `deleted` boolean
    - `description` string
    - `icon` string
    - `labels` LabelDbDto[]
      - `dateCreated` string, date-time
      - `id` integer
      - `isDefault` boolean
      - `isDynamic` boolean
      - `isInterpolated` boolean
      - `name` string
      - `resource` boolean
      - `value` string
    - `lastUpdated` string, date-time
    - `name` string
    - `optimizationId` string
    - `optimizationStatus` 'OPTIMIZED' | 'OPTIMIZABLE' | 'UNAVAILABLE'
    - `optimizationTargets` string
    - `orgId` integer
    - `orgName` string
    - `pipelineId` integer
    - `repository` string
    - `userFirstName` string
    - `userId` integer
    - `userLastName` string
    - `userName` string
    - `version` PipelineVersionFullInfoDto
      - `creatorAvatarUrl` string
      - `creatorFirstName` string
      - `creatorLastName` string
      - `creatorUserId` integer
      - `creatorUserName` string
      - `dateCreated` string, date-time
      - `hash` string
      - `id` string
      - `isDefault` boolean
      - `lastUpdated` string, date-time
      - `name` string
    - `visibility` string
    - `workspaceId` integer
    - `workspaceName` string

## Other responses

- `400` — Bad request
- `403` — Operation not allowed
- `409` — Duplicate element

---

[API](https://skmtc.net/seqeralabs/apis/seqera-api.md) · [All operations](https://skmtc.net/seqeralabs/apis/seqera-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seqeralabs/seqera-api/revisions/13316c9fe5ff/schema)
