---
title: "Modify a Lifecycle."
method: PUT
path: "/{spaceId}/lifecycles/{id}"
tags: ["Lifecycles"]
---

# Modify a Lifecycle.

`PUT /{spaceId}/lifecycles/{id}`

## Path parameters

- `spaceId` string, required
- `id` string, required

## Request body

- ModifyLifecycleCommand
  - `Description` string
  - `Id` string, required
  - `Name` string, required
  - `Phases` PhaseResource[] — The complete list of promotion phases in order; existing phases not resubmitted are deleted. Each phase lists environments deployed to automatically (AutomaticDeploymentTargets) or manually (OptionalDeploymentTargets); an environment may appear in only one phase, and at most one phase may list no environments, meaning all remaining environments. MinimumEnvironmentsBeforePromotion is how many of the phase's environments must be deployed before a release can progress (0 means all). IsOptionalPhase allows skipping the phase, but not every phase may be optional. Per-phase retention policies override the lifecycle-level ones.
    - `AutomaticDeploymentTargets` string[]
    - `Id` string
    - `IsOptionalPhase` boolean
    - `IsPriorityPhase` boolean
    - `MinimumEnvironmentsBeforePromotion` integer
    - `Name` string
    - `OptionalDeploymentTargets` string[]
    - `ReleaseRetentionPolicy` RetentionPeriod
      - `QuantityToKeep` integer
      - `ShouldKeepForever` boolean
      - `Strategy` string
      - `Unit` 'Days' | 'Items'
    - `TentacleRetentionPolicy` RetentionPeriod
      - `QuantityToKeep` integer
      - `ShouldKeepForever` boolean
      - `Strategy` string
      - `Unit` 'Days' | 'Items'
  - `ReleaseRetentionPolicy` RetentionPeriod
    - `QuantityToKeep` integer
    - `ShouldKeepForever` boolean
    - `Strategy` string
    - `Unit` 'Days' | 'Items'
  - `Slug` string
  - `SpaceId` string, required
  - `TentacleRetentionPolicy` RetentionPeriod
    - `QuantityToKeep` integer
    - `ShouldKeepForever` boolean
    - `Strategy` string
    - `Unit` 'Days' | 'Items'

## Response `200`

Contains a Lifecycle resource which represents changes to the Lifecycle.

- LifecycleResource
  - `Description` string
  - `Id` string
  - `LastModifiedBy` string
  - `LastModifiedOn` string, date-time
  - `Links` object
  - `Name` string
  - `Phases` PhaseResource[]
    - `AutomaticDeploymentTargets` string[]
    - `Id` string
    - `IsOptionalPhase` boolean
    - `IsPriorityPhase` boolean
    - `MinimumEnvironmentsBeforePromotion` integer
    - `Name` string
    - `OptionalDeploymentTargets` string[]
    - `ReleaseRetentionPolicy` RetentionPeriod
      - `QuantityToKeep` integer
      - `ShouldKeepForever` boolean
      - `Strategy` string
      - `Unit` 'Days' | 'Items'
    - `TentacleRetentionPolicy` RetentionPeriod
      - `QuantityToKeep` integer
      - `ShouldKeepForever` boolean
      - `Strategy` string
      - `Unit` 'Days' | 'Items'
  - `ReleaseRetentionPolicy` RetentionPeriod
    - `QuantityToKeep` integer
    - `ShouldKeepForever` boolean
    - `Strategy` string
    - `Unit` 'Days' | 'Items'
  - `Slug` string
  - `SpaceId` string
  - `TentacleRetentionPolicy` RetentionPeriod
    - `QuantityToKeep` integer
    - `ShouldKeepForever` boolean
    - `Strategy` string
    - `Unit` 'Days' | 'Items'

## Other responses

- `400` — Bad request. Either the payload was not structurally valid or business rules did not permit the operation.
- `404` — Not found. One or more of the entities involved in the operation was not found.

---

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