---
title: "Deactivate policy rule"
method: DELETE
path: "/api/policy/v1/enterprises/{enterpriseId}/rules/{id}"
tags: ["Policy Builder"]
---

# Deactivate policy rule

`DELETE /api/policy/v1/enterprises/{enterpriseId}/rules/{id}`

Deactivates a policy rule.

## Path parameters

- `enterpriseId` string, required
- `id` string, required

## Response `200`

The `INACTIVE` policy rule

- PolicyRule1 — A Policy Rule, the combination of a Scope, a Touchpoint, Conditions, and Actions. It allows you to define what needs to happen (Actions) before a user can execute a sensitive operation (Touchpoint) on a Scope (e.g. a Wallet) depending on the specific details of the operation (Conditions). See Concepts.
  - `id` string, required — Id of the Policy Rule. This identifier is not unique in isolation, it must be paired with an specific Policy Rule Version number to uniquely identified a particular version of a Policy Rule. A UUID.
  - `uniqueId` string, required — The uniqueId of the Policy Rule version. A UUID.
  - `name` string, required — Human readable name of the rule.
  - `status` 'ACTIVE' | 'INACTIVE' | 'DENIED' | 'PENDING_APPROVAL' | 'UNLOCK_PENDING', required — Indicates if the Policy Rule is considered in Evaluations. * `ACTIVE` - Will be Evaluated. * `INACTIVE` - Will NOT be Evaluated. * `DENIED` - The requested policy rule change was Denied. * `PENDING_APPROVAL` - This version of the policy rule is Pending Approval before it can be activated. * `UNLOCK_PENDING` - This version of the policy rule is created when a request to unlock a policy is initiated.
  - `version` integer — The Policy Rule Version, an integer that is incremented each time the Policy Rule changes.
  - `adminOnly` boolean, required — true, if the Policy Rule is a BitGo internal rule. Typically, this allows setting Global Policy Rules across enterprises.
  - `touchpointId` string, required — The id of the Touchpoint associated with the Policy Rule. A UUID.
  - `touchpointLabel` string, required — Label of the Touchpoint associated with the Policy Rule. For example the Transfer from a Wallet Touchpoint.
  - `scopeId` string, required — The id of the Scope associated with the Policy Rule. A UUID.
  - `scopeLabel` string, required — Label of the Scope associated with the Policy Rule. For example the All Wallets Scope.
  - `clauses` Clause[], required — List of Policy Rule Clauses: a combination of Conditions and Actions.
    - `actions` union[]
      - union
        - AlwaysDenyActionRequest — Automatically reject.
          - `name` 'approvals.always.deny', required — Name of the associated Action.
        - EnterpriseAdminActionRequest — Require enterprise-admin approval.
          - `name` 'approvals.customer.enterpriseAdmin', required — Name of the associated Action.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - WalletAdminActionRequest — Require Require approval from wallet admins.
          - `name` 'approvals.customer.walletAdmin', required — Name of the associated Action.
          - `parameters` object, required — Required data needed to configure the Action.
            - `minRequired` string, required — Number of required approvals
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - FinalApprovalActionRequest — Require final approval from wallet users.
          - `name` 'approvals.customer.finalApproval', required — Name of the associated Action.
          - `parameters` object, required — Required data needed to configure the Action.
            - `userIds` string[], required — The final approvers
            - `initiatorIsAllowedToApprove` boolean — Whether the initiator is allowed to approve this action. true by default.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - EnterpriseUsersActionRequest — Require approval from a set of enterprise users.
          - `name` 'approvals.customer.enterpriseUser', required — Name of the associated Action.
          - `parameters` object, required — Required data needed to configure the Action.
            - `userIds` string[], required — List of enterprise users for approval
            - `minRequired` number, required — Minimum required number of approvers
            - `initiatorIsAllowedToApprove` boolean — Whether the initiator is allowed to approve this action. false by default.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
    - `conditions` union[]
      - union
        - TransferAmountConditionRequest — Transfer-amount condition.
          - `name` 'transfer.amount', required — Name of the condition.
          - `parameters` TransferAmountConditionParameters, required — Data required to evaluate the condition.
            - `operator` '>' | '>=' | '<' | '<=', required — The comparison operator to use when comparing the transfer amount with the given limit
            - `amount` string, required — The transfer amount is compared with this limit.
            - `coin` string, required — This condition only applies to transfers of this currency (USD applies to all transfers).
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - TransferVelocityLimitConditionRequest — Velocity-limit condition.
          - `name` 'transfer.velocity.limit', required — Name of the condition.
          - `parameters` TransferVelocityLimitConditionParameters, required — Data required to evaluate the transfer velocity limit condition.
            - `scope` 'wallet' | 'enterprise', required — Entities to include in the velocity calculation.
            - `timeWindow` string, required — A window of time in which a set of amount can be spent.
            - `amount` string, required — The transfer amount is compared with this limit.
            - `coin` string, required — The unit that the amount is denoted in, in either crypto or a fiat currency.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - TransferDestinationTypeConditionRequest — Destination condition.
          - `name` 'transfer.destination.type', required — Name of the condition.
          - `parameters` TransferDestinationTypeConditionParameters, required — Data required to evaluate the transfer destination condition.
            - `type` 'whitelistedAddress' | 'nonWhitelistedAddress' | 'outsideEnterprise', required — The type of destination this condition will match.
            - `coin` string — The asset this condition applies to.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
        - TransferInitiatorsConditionRequest — Initiator condition.
          - `name` 'transfer.initiators', required — Name of the condition.
          - `parameters` TransferInitiatorsConditionParameters, required — Data required to evaluate the transfer initiator condition.
            - `userIds` string[], required — A list of user IDs to validate for the transfer initiator.
          - `operator` 'AND' | 'OR' — Boolean operators that join Conditions, and/or Actions. Must be null on the last Condition or Action, or if there is only one Condition or Action, must be non-null on all others.
  - `filteringConditions` union[], required — List of Filtering Conditions that must trigger for this Policy Rule to be Evaluated.
    - union
      - WalletTypeFilteringCondition — Filter by wallet type.
        - `name` 'wallet.type', required — Name of the condition.
        - `parameters` object, required — Required data needed to evaluate the Filtering Condition.
          - `walletType` string[], required
      - WalletIdsFilteringCondition — Filter by wallet ID.
        - `name` 'wallet.ids', required — Name of the condition.
        - `parameters` object, required — Required data needed to evaluate the Filtering Condition.
          - `walletId` string[], required
      - WalletAllFilteringCondition — Filter by all wallets.
        - `name` 'wallet.all', required — Name of the condition.
      - RuleAllFilteringCondition — Filter by all rules.
        - `name` 'rule.all', required — Name of the condition.
        - `parameters` object — Required data needed to evaluate the Filtering Condition.
      - WalletMultipleIdsFilteringCondition — Filter by multiple wallet IDs.
        - `name` 'wallet.multiple.ids', required — Name of the condition.
        - `parameters` object, required — Required data needed to evaluate the Filtering Condition.
          - `walletId` string[], required
  - `locked` boolean, required — true, if the Policy Rule is locked, false otherwise.
  - `lockType` 'LOCK_AFTER_DATE' | 'PERMANENT', required — Indicates how the Policy Rule is locked. * `LOCK_AFTER_DATE` - Will lock after the lockDate set on the Policy Rule. * `PERMANENT` - Is permanently locked.
  - `lockDate` string, date-time — The date after which the Policy Rule will be locked. Only applicable if the Policy Rule is locked with `LOCK_AFTER_DATE`.
  - `enterpriseId` string — The id of the Enterprise this Policy Rule belongs to.
  - `organizationId` string — The id of the Organization this Policy Rule belongs to.
  - `lastTriggeredDate` string, date-time — The date when the Policy Rule was last triggered. Only applicable if the Policy Rule is locked with `LOCK_AFTER_DATE`.
  - `lastTriggeredEvaluationId` string — The id of the Evaluation that last triggered the Policy Rule. A UUID.
  - `createdBy` string, required — The id of the user who created the Policy Rule or the string \"BitGo\".
  - `modifiedBy` string, required — The id of the user who last modified the Policy Rule or the string \"BitGo\".
  - `createdDate` string, date-time, required — The date when the Policy Rule was created. A timestamp.
  - `modifiedDate` string, date-time, required — The date when the Policy Rule was last modified. A timestamp.
  - `lockModifiedBy` string — The id of the user who last modified the lock of the Policy Rule.
  - `evaluationId` string — The id of the Evaluation that was done when this Policy Rule version was requested to be created, modified or deleted. A UUID.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — The specified resource was not found
- `500` — Server Error - Transient error please try again

---

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