---
title: "Updates an existing Channel"
method: PUT
path: "/{spaceId}/channels/{id}"
tags: ["Channels"]
---

# Updates an existing Channel

`PUT /{spaceId}/channels/{id}`

## Path parameters

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

## Request body

- ModifyChannelCommand
  - `AutomaticEphemeralEnvironmentDeployments` boolean
  - `CustomFieldDefinitions` ChannelCustomFieldDefinitionResource[] — Custom fields (FieldName plus a human-facing Description) that become mandatory when creating a release in this channel. Omit to keep the current definitions; an empty list clears them.
    - `Description` string
    - `FieldName` string
  - `Description` string
  - `EphemeralEnvironmentNameTemplate` string
  - `GitReferenceRules` string[] — Git reference patterns (e.g. 'refs/heads/main', 'refs/heads/feature/*') restricting which branches or tags can create releases in this channel. Only valid for version-controlled (Config-as-Code) projects. Omit to keep the current rules; an empty list clears them.
  - `GitResourceRules` ChannelGitResourceRuleResource[] — Rules restricting which Git refs may be used for external Git dependencies referenced by deployment steps. Each rule targets step Git dependencies via GitDependencyActions (DeploymentActionSlug plus GitDependencyName) and lists the allowed Git reference patterns in Rules. Omit to keep the current rules; an empty list clears them.
    - `GitDependencyActions` DeploymentActionGitDependencyResource[]
      - `DeploymentActionSlug` string, required
      - `GitDependencyName` string, required
    - `Id` string
    - `Rules` string[]
  - `Id` string, required
  - `IsDefault` boolean
  - `LifecycleId` string — The lifecycle for this channel. Must be null for ephemeral environment channels.
  - `Name` string, required
  - `ParentEnvironmentId` string — The parent environment for all ephemeral environments created in this channel. Required for ephemeral environment channels.
  - `ProjectId` string, required
  - `Rules` ChannelVersionRuleResource[] — Version rules restricting which package versions may be used when creating a release in this channel. Each rule targets step packages via ActionPackages (DeploymentAction is the step name or ID, PackageReference the package reference name or ID) and constrains versions with a NuGet-style VersionRange (e.g. '[1.0,2.0)') and/or a Tag regex matched against the package's pre-release tag (e.g. '^$' for stable versions only). Keep each existing rule's Id; leave it blank on new rules. Omit to keep the current rules; an empty list clears them.
    - `ActionPackages` DeploymentActionPackageResource[]
      - `DeploymentAction` string
      - `PackageReference` string
    - `Id` string
    - `LastModifiedBy` string
    - `LastModifiedOn` string, date-time
    - `Links` object
    - `Tag` string
    - `VersioningStrategy` string
    - `VersionRange` string
    - `VersionTagRegex` string
  - `Slug` string
  - `SpaceId` string, required
  - `TenantTags` string[] — Canonical tenant tag names in 'TagSet/Tag' format restricting which tenants can deploy releases from this channel. Omit to keep the current tags; an empty collection clears them.

## Response `200`

Confirms the Channel was modified, containing the updated Channel

- ChannelResource
  - `AutomaticEphemeralEnvironmentDeployments` boolean
  - `CustomFieldDefinitions` ChannelCustomFieldDefinitionResource[]
    - `Description` string
    - `FieldName` string
  - `Description` string
  - `EphemeralEnvironmentNameTemplate` string
  - `GitReferenceRules` string[]
  - `GitResourceRules` ChannelGitResourceRuleResource[]
    - `GitDependencyActions` DeploymentActionGitDependencyResource[]
      - `DeploymentActionSlug` string, required
      - `GitDependencyName` string, required
    - `Id` string
    - `Rules` string[]
  - `Id` string
  - `IsDefault` boolean
  - `LastModifiedBy` string
  - `LastModifiedOn` string, date-time
  - `LifecycleId` string
  - `Links` object
  - `Name` string
  - `ParentEnvironmentId` string — The parent environment for all ephemeral environments created in this channel.
  - `ProjectId` string
  - `Rules` ChannelVersionRuleResource[]
    - `ActionPackages` DeploymentActionPackageResource[]
      - `DeploymentAction` string
      - `PackageReference` string
    - `Id` string
    - `LastModifiedBy` string
    - `LastModifiedOn` string, date-time
    - `Links` object
    - `Tag` string
    - `VersioningStrategy` string
    - `VersionRange` string
    - `VersionTagRegex` string
  - `Slug` string
  - `SpaceId` string
  - `TenantTags` string[]
  - `Type` string

## 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)
