---
title: "Update"
method: POST
path: "/api/v1/policies/{id}"
tags: ["Policy"]
---

# Update

`POST /api/v1/policies/{id}`

Update a policy by providing a policy object and an update mask.

## Path parameters

- `id` string, required — The ID of the Policy.

## Request body

- C1ApiPolicyV1UpdatePolicyRequestInput — The UpdatePolicyRequest message contains the policy object to update and a field mask to indicate which fields to update. It uses URL value for input.
  - `policy` C1ApiPolicyV1Policy — A policy describes the behavior of the ConductorOne system when processing a task. You can describe the type, approvers, fallback behavior, and escalation processes.
    - `createdAt` string, date-time
    - `deletedAt` string, date-time
    - `description` string — The description of the Policy.
    - `displayName` string — The display name of the Policy.
    - `id` string — The ID of the Policy.
    - `policySteps` object — A map of string(policy type) to steps in a policy. This structure is leftover from a previous design, and should only ever have one key->value set.
    - `policyType` 'POLICY_TYPE_UNSPECIFIED' | 'POLICY_TYPE_GRANT' | 'POLICY_TYPE_REVOKE' | 'POLICY_TYPE_CERTIFY' | 'POLICY_TYPE_ACCESS_REQUEST' | 'POLICY_TYPE_PROVISION' — Indicates the type of this policy. Can also be used to get the value from policySteps.
    - `postActions` C1ApiPolicyV1PolicyPostActions[], nullable — An array of actions (ordered) to take place after a policy completes processing.
      - `certifyRemediateImmediately` boolean, nullable — ONLY valid when used in a CERTIFY Ticket Type: Causes any deprovision or change in a grant to be applied when Certify Ticket is closed. This field is part of the `action` oneof. See the documentation for `c1.api.policy.v1.PolicyPostActions` for more details.
    - `reassignTasksToDelegates` boolean — Deprecated. Use setting in policy step instead
    - `rules` C1ApiPolicyV1Rule[], nullable — The rules field.
      - `condition` string — The condition field.
      - `policyKey` string — This is a reference to a list of policy steps from `policy_steps`
    - `systemBuiltin` boolean — Whether this policy is a builtin system policy. Builtin system policies cannot be edited.
    - `updatedAt` string, date-time
  - `updateMask` string, nullable

## Response `200`

The UpdatePolicyResponse message contains the updated policy object.

- C1ApiPolicyV1UpdatePolicyResponse — The UpdatePolicyResponse message contains the updated policy object.
  - `policy` C1ApiPolicyV1Policy — A policy describes the behavior of the ConductorOne system when processing a task. You can describe the type, approvers, fallback behavior, and escalation processes.
    - `createdAt` string, date-time
    - `deletedAt` string, date-time
    - `description` string — The description of the Policy.
    - `displayName` string — The display name of the Policy.
    - `id` string — The ID of the Policy.
    - `policySteps` object — A map of string(policy type) to steps in a policy. This structure is leftover from a previous design, and should only ever have one key->value set.
    - `policyType` 'POLICY_TYPE_UNSPECIFIED' | 'POLICY_TYPE_GRANT' | 'POLICY_TYPE_REVOKE' | 'POLICY_TYPE_CERTIFY' | 'POLICY_TYPE_ACCESS_REQUEST' | 'POLICY_TYPE_PROVISION' — Indicates the type of this policy. Can also be used to get the value from policySteps.
    - `postActions` C1ApiPolicyV1PolicyPostActions[], nullable — An array of actions (ordered) to take place after a policy completes processing.
      - `certifyRemediateImmediately` boolean, nullable — ONLY valid when used in a CERTIFY Ticket Type: Causes any deprovision or change in a grant to be applied when Certify Ticket is closed. This field is part of the `action` oneof. See the documentation for `c1.api.policy.v1.PolicyPostActions` for more details.
    - `reassignTasksToDelegates` boolean — Deprecated. Use setting in policy step instead
    - `rules` C1ApiPolicyV1Rule[], nullable — The rules field.
      - `condition` string — The condition field.
      - `policyKey` string — This is a reference to a list of policy steps from `policy_steps`
    - `systemBuiltin` boolean — Whether this policy is a builtin system policy. Builtin system policies cannot be edited.
    - `updatedAt` string, date-time

## Changes

- **2025-08-06** `e09d811ca082` — 10 info
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/agent/agentFailureAction`
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/agent/reassignToUserIds`
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/allowDelegation`
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/form`
  - …6 more
- **2025-06-24** `f5a989bebcdb` — 2 info
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/provision/provisionPolicy/connector/deleteAccount`
  - added the optional property `policy/policySteps/additionalProperties/steps/items/provision/provisionPolicy/connector/deleteAccount` to the response with the `200` status
- **2025-05-30** `d5c56e8615fe` — 6 info
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/agent/agentMode`
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/escalation`
  - added the new optional request property `policy/policySteps/additionalProperties/steps/items/approval/escalationEnabled`
  - added the optional property `policy/policySteps/additionalProperties/steps/items/approval/agent/agentMode` to the response with the `200` status
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/conductorone/apis/c1-api/changes/api/v1/policies/:id/post.md)

---

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