update_firewall_rule
Modify a firewall rule by ID with new settings for interface, protocol, source/destination, action, schedule, and more. Optionally verify description to avoid editing the wrong rule.
Instructions
Update an existing firewall rule by ID
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Source address (any, IP, network, alias name) | |
| rule_id | Yes | Rule ID (array index from search_firewall_rules, e.g., 0, 1, 2...) | |
| disabled | No | Whether the rule is disabled | |
| protocol | No | Protocol (tcp, udp, icmp, any) | |
| schedule | No | Name of an existing firewall schedule (from search_firewall_schedules) to assign; pass "" to remove the schedule from the rule | |
| interface | No | Interface for the rule (wan, lan, etc.) | |
| rule_type | No | Rule type (pass, block, reject) | |
| description | No | Rule description | |
| destination | No | Destination address (any, IP, network, alias name) | |
| log_matches | No | Whether to log rule matches | |
| source_port | No | Single port (443), range (1024-65535), or alias name | |
| verify_descr | No | Safety check — if provided, verifies the rule at this ID still has this description before updating. Prevents operating on the wrong rule after ID shifts. | |
| destination_port | No | Single port (443), range (1024-65535), or alias name. Do NOT pass multiple space/comma-separated ports — create a port alias first instead. | |
| apply_immediately | No | Whether to apply changes immediately |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||