> ## Documentation Index
> Fetch the complete documentation index at: https://zerodrift.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Deactivate Rules

> Deactivate rules by rule pack, import, scenario, or specific IDs

Deactivate rules so they are skipped during validation. Custom rules are soft-deactivated (preserved for audit trail). Default rules are stored as deactivated on your customer record.

## Request Body

<ParamField body="rule_pack_id" type="string">
  Deactivate all rules in a rule pack (e.g., `sec_finra_comms_v2`)
</ParamField>

<ParamField body="import_id" type="string">
  Deactivate all custom rules from this import
</ParamField>

<ParamField body="rule_pack_scenario_id" type="string">
  Deactivate all default rules in a scenario (e.g., `scenario_email_general`)
</ParamField>

<ParamField body="rule_ids" type="array">
  Array of rule ID strings to deactivate (custom or default)
</ParamField>

<Note>
  At least one field is required. Multiple fields can be combined in a single request.
</Note>

## Response

<ResponseField name="deactivated_custom_count" type="integer">
  Number of custom rules deactivated
</ResponseField>

<ResponseField name="deactivated_custom_rule_ids" type="array">
  List of deactivated custom rule IDs
</ResponseField>

<ResponseField name="deactivated_default_count" type="integer">
  Number of default rules deactivated
</ResponseField>

<ResponseField name="deactivated_default_rule_ids" type="array">
  List of deactivated default rule IDs
</ResponseField>

<ResponseField name="errors" type="array">
  List of error messages for rules that could not be deactivated. Empty array when no errors.
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "deactivated_custom_count": 2,
    "deactivated_custom_rule_ids": [
      "cust_abc123_require_risk_disclosure",
      "cust_abc123_past_performance_disclaimer"
    ],
    "deactivated_default_count": 47,
    "deactivated_default_rule_ids": [
      "signal_mnpi_leak",
      "signal_promissory_tone"
    ],
    "errors": []
  }
  ```
</ResponseExample>

## Example

<CodeGroup>
  ```bash cURL — by rule pack theme={null}
  curl -X POST "https://{api-url}/api/policies/rules/deactivate" \
    -H "x-api-key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"rule_pack_id": "sec_finra_comms_v2"}'
  ```

  ```bash cURL — by import theme={null}
  curl -X POST "https://{api-url}/api/policies/rules/deactivate" \
    -H "x-api-key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"import_id": "550e8400-e29b-41d4-a716-446655440000"}'
  ```

  ```bash cURL — by specific rules theme={null}
  curl -X POST "https://{api-url}/api/policies/rules/deactivate" \
    -H "x-api-key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"rule_ids": ["signal_mnpi_leak", "cust_abc123_rule1"]}'
  ```
</CodeGroup>
