## Get rule `client.MagicNetworkMonitoring.Rules.Get(ctx, ruleID, query) (*MagicNetworkMonitoringRule, error)` **get** `/accounts/{account_id}/mnm/rules/{rule_id}` List a single network monitoring rule for account. ### Parameters - `ruleID string` The id of the rule. Must be unique. - `query RuleGetParams` - `AccountID param.Field[string]` ### Returns - `type MagicNetworkMonitoringRule struct{…}` - `AutomaticAdvertisement bool` Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. - `Name string` The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. - `Prefixes []string` - `Type MagicNetworkMonitoringRuleType` MNM rule type. - `const MagicNetworkMonitoringRuleTypeThreshold MagicNetworkMonitoringRuleType = "threshold"` - `const MagicNetworkMonitoringRuleTypeZscore MagicNetworkMonitoringRuleType = "zscore"` - `const MagicNetworkMonitoringRuleTypeAdvancedDDoS MagicNetworkMonitoringRuleType = "advanced_ddos"` - `ID string` The id of the rule. Must be unique. - `BandwidthThreshold float64` The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. - `Duration MagicNetworkMonitoringRuleDuration` The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m","60m"]. - `const MagicNetworkMonitoringRuleDuration1m MagicNetworkMonitoringRuleDuration = "1m"` - `const MagicNetworkMonitoringRuleDuration5m MagicNetworkMonitoringRuleDuration = "5m"` - `const MagicNetworkMonitoringRuleDuration10m MagicNetworkMonitoringRuleDuration = "10m"` - `const MagicNetworkMonitoringRuleDuration15m MagicNetworkMonitoringRuleDuration = "15m"` - `const MagicNetworkMonitoringRuleDuration20m MagicNetworkMonitoringRuleDuration = "20m"` - `const MagicNetworkMonitoringRuleDuration30m MagicNetworkMonitoringRuleDuration = "30m"` - `const MagicNetworkMonitoringRuleDuration45m MagicNetworkMonitoringRuleDuration = "45m"` - `const MagicNetworkMonitoringRuleDuration60m MagicNetworkMonitoringRuleDuration = "60m"` - `PacketThreshold float64` The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. - `PrefixMatch MagicNetworkMonitoringRulePrefixMatch` Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. - `const MagicNetworkMonitoringRulePrefixMatchExact MagicNetworkMonitoringRulePrefixMatch = "exact"` - `const MagicNetworkMonitoringRulePrefixMatchSubnet MagicNetworkMonitoringRulePrefixMatch = "subnet"` - `const MagicNetworkMonitoringRulePrefixMatchSupernet MagicNetworkMonitoringRulePrefixMatch = "supernet"` - `ZscoreSensitivity MagicNetworkMonitoringRuleZscoreSensitivity` Level of sensitivity set for zscore rules. - `const MagicNetworkMonitoringRuleZscoreSensitivityLow MagicNetworkMonitoringRuleZscoreSensitivity = "low"` - `const MagicNetworkMonitoringRuleZscoreSensitivityMedium MagicNetworkMonitoringRuleZscoreSensitivity = "medium"` - `const MagicNetworkMonitoringRuleZscoreSensitivityHigh MagicNetworkMonitoringRuleZscoreSensitivity = "high"` - `ZscoreTarget MagicNetworkMonitoringRuleZscoreTarget` Target of the zscore rule analysis. - `const MagicNetworkMonitoringRuleZscoreTargetBits MagicNetworkMonitoringRuleZscoreTarget = "bits"` - `const MagicNetworkMonitoringRuleZscoreTargetPackets MagicNetworkMonitoringRuleZscoreTarget = "packets"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_network_monitoring" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) magicNetworkMonitoringRule, err := client.MagicNetworkMonitoring.Rules.Get( context.TODO(), "2890e6fa406311ed9b5a23f70f6fb8cf", magic_network_monitoring.RuleGetParams{ AccountID: cloudflare.F("6f91088a406011ed95aed352566e8d4c"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", magicNetworkMonitoringRule.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "automatic_advertisement": true, "name": "my_rule_1", "prefixes": [ "203.0.113.1/32" ], "type": "zscore", "id": "2890e6fa406311ed9b5a23f70f6fb8cf", "bandwidth_threshold": 1000, "duration": "1m", "packet_threshold": 10000, "prefix_match": "exact", "zscore_sensitivity": "high", "zscore_target": "bits" }, "success": true } ```