Enable/Disable Rule
Enable or disable a rule without modifying other configuration fields.
Endpoint
Quickly toggle a rule's enabled state without performing a full update. This is useful for temporarily disabling rules during maintenance or testing.
Authentication
Requires API Key with Policy Definition permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id |
UUID | Rule ID to enable/disable |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
enable |
boolean | Yes | true to enable, false to disable |
Response
Returns the updated rule object with the new enable value:
Response Format
{
"id": "rule-uuid-123",
"name": "Block PII in External APIs",
"description": "Prevent PII from being sent to third-party services",
"action": "block",
"enable": false,
"icapMode": "REQMOD",
"apps": ["app-uuid-1"],
"obfuscations": ["obfuscation-uuid-1"],
"userFilters": [],
"groupFilters": [],
"timeFilterEnabled": false,
"timeFilter": null,
"createdAt": 1704067200,
"updatedAt": 1704240000
}
Examples
Disable Rule
Temporarily disable a rule for maintenance.
const axios = require('axios');
const BASE_URL = 'https://your-shield-host:8080';
const HEADERS = { 'Authorization': 'Bearer YOUR_API_KEY' };
const ruleId = 'rule-uuid-123';
const response = await axios.put(
`${BASE_URL}/api/rules/${ruleId}/enable`,
{ enable: false },
{ headers: HEADERS }
);
console.log(`Rule enabled: ${response.data.enable}`);
Enable Rule
Re-enable a previously disabled rule.
const axios = require('axios');
const BASE_URL = 'https://your-shield-host:8080';
const HEADERS = { 'Authorization': 'Bearer YOUR_API_KEY' };
const ruleId = 'rule-uuid-123';
const response = await axios.put(
`${BASE_URL}/api/rules/${ruleId}/enable`,
{ enable: true },
{ headers: HEADERS }
);
console.log(`Rule re-enabled: ${response.data.enable}`);
Bulk Disable Rules
Disable multiple rules during maintenance window.
import requests
BASE_URL = "https://your-shield-host:8080"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
rule_ids = ["rule-uuid-1", "rule-uuid-2", "rule-uuid-3"]
for rule_id in rule_ids:
response = requests.put(
f"{BASE_URL}/api/rules/{rule_id}/enable",
headers=HEADERS,
json={"enable": False}
)
print(f"Disabled rule: {response.json()['name']}")
Error Responses
| Status Code | Description |
|---|---|
400 |
Invalid request body (missing enable field) |
401 |
Invalid or expired API key |
403 |
Insufficient permissions (requires Policy Definition) |
404 |
Rule not found |
Related Topics
- List Rules - Query all rules and their enabled status
- Get Rule - View current rule configuration
- Update Rule - Modify other rule fields
- Create Rule - Create rules with initial enabled state