---
title: "Modifies an existing approval rule in the specified Octopus Deploy space."
method: PUT
path: "/{spaceId}/approvalrules/{id}"
tags: ["ApprovalRules"]
---

# Modifies an existing approval rule in the specified Octopus Deploy space.

`PUT /{spaceId}/approvalrules/{id}`

## Path parameters

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

## Request body

- ModifyApprovalRuleCommand
  - `AllowSelfApproval` boolean — Whether deployment creators are allowed to approve their own deployments
  - `ApprovingTeamIds` string[] — A list of team ids who are authorized to approve deployments
  - `ApprovingUserIds` string[] — A list of user ids who are authorized to approve deployments
  - `Description` string
  - `Id` string, required
  - `IdScopes` ApprovalRuleIdScopeResource[] — A list of project and environment ids this approval rule will apply to
    - `EnvironmentIds` string[], required — IDs of Environments to include in the scope
    - `Id` string
    - `ProjectId` string, required — ID of Project to include in the scope
  - `IsDisabled` boolean — Whether this approval rule is disabled
  - `MinimumApproversRequired` integer — Set a number of minimum approvers required to authorize the deployment
  - `Name` string, required
  - `ScopingStrategy` string — How to scope this approval rule. ["Tag", "Id"]
  - `SpaceId` string, required
  - `TagScopes` ApprovalRuleTagScopeResource[] — A list of project and environment tags this approval rule will apply to
    - `EnvironmentTags` string[], required — Canonical IDs or Names of Environment tags to include in the scope
    - `Id` string
    - `ProjectTags` string[], required — Canonical IDs or Names of Project tags to include in the scope
  - `TenantApprovalStrategy` string

## Response `200`

Success

- ApprovalRuleResource
  - `AllowSelfApproval` boolean
  - `ApprovingTeamIds` string[]
  - `ApprovingUserIds` string[]
  - `Description` string
  - `Id` string, required
  - `IdScopes` ApprovalRuleIdScopeResource[]
    - `EnvironmentIds` string[], required — IDs of Environments to include in the scope
    - `Id` string
    - `ProjectId` string, required — ID of Project to include in the scope
  - `IsDisabled` boolean
  - `MinimumApproversRequired` integer
  - `Name` string, required
  - `ScopingStrategy` string
  - `SpaceId` string, required
  - `TagScopes` ApprovalRuleTagScopeResource[]
    - `EnvironmentTags` string[], required — Canonical IDs or Names of Environment tags to include in the scope
    - `Id` string
    - `ProjectTags` string[], required — Canonical IDs or Names of Project tags to include in the scope
  - `TenantApprovalStrategy` 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.

## Changes

- **2026-08-27** `63b4166a0686` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/octopus/apis/octopus-server-api/changes/:spaceId/approvalrules/:id/put.md)

---

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