Using the REST API, information about configured rules in cOS Core can be retrieved. The information is sent back by cOS Core in JSON format and consists of the values that can also be provided by using the cOS Core CLI, see command example under each rule type section below.
Sending the Request
To retrieve configured rule information, an HTTP GET should be sent. The URI values sent, depending on the type of rule, are as follows:IP Rules
Contains information about IP rules corresponding to the CLI command rules.
/api/oper/iprules
Content of IP Ruleset
Contains information about IP rules within a specified IP ruleset corresponding to the CLI command "rules -type=ip -ruleset=<YourRuleset>".
/api/oper/iprules?ruleset=<YourRuleset>
List IP Rulesets
Shows a list of all available IP rulesets corresponding to the CLI command "show -IPRuleSet".
/api/oper/iprulesets
IDP Rules
Contains information about IDP rules corresponding to the CLI command "rules -type=IDP".
/api/oper/idprules
Threshold Rules
Contains information about Threshold rules corresponding to the CLI command "rules -type=THRESHOLD".
/api/oper/thresholdrules
Pipe Rules
Contains information about Pipe rules (also known as traffic shaping) corresponding to the CLI command "rules -type=PIPE".
/api/oper/piperules
Routing Rules
Contains information about Routing rules (Policy Based) corresponding to the CLI command "rules -type=ROUTING".
/api/oper/routingrules
![]() |
Note: Regarding IP Rules and IP Policies |
|---|---|
|
In the background, IP policies consist of one or more IP rules, depending on how they are configured. This is why there is no specific GET command for IP policies. There are two important points to consider in this context. 1. Up to three IP rules can be created for a single IP policy, depending on its configuration. However, each of these IP rules will share the same name as the IP policy. 2. Consequently, the index ID output will not correspond with the IP policy index number as displayed in the Web Interface or InControl. |
Example 1 of a JSON Reply
Below is an example of a typical JSON reply for an IP rule set with a single entry:{
"error": false,
"rules": [
{
"index": 1,
"name": "LANtoCORE_Ping",
"filter": {
"src_if": "lan",
"src_net": "192.168.1.0/24",
"dst_if": "core",
"dst_net": "192.168.1.1",
"service": {
"name": "main/1_ICMP_CORE",
"details": "ICMP All"
}
},
"action": "Allow"
},
{
"index": 2,
"name": "GotoExtRuleset",
"filter": {
"src_if": "G4",
"src_net": "192.168.10.0/24",
"dst_if": "core",
"dst_net": "192.168.10.1",
"service": {
"name": "http",
"details": "TCP ALL > 80, 443"
}
},
"action": "Goto",
"goto_ruleset": "ExtRuleSet"
},
{
"index": 3,
"name": "LAN1toWAN_DNS",
"filter": {
"src_if": "lan",
"src_net": "192.168.1.0/24",
"dst_if": "wan1",
"dst_net": "0.0.0.0/0",
"service": {
"name": "main/3_DNS_OUT",
"details": "TCP/UDP ALL > 53"
}
},
"action": "NAT"
}
]
}Example 2 of a JSON Reply
Below is an example of a typical JSON reply for listing all the available IP Rule Sets:{
{
"error": false,
"ruleset_count": 3,
"rulesets": [
{
"name": "RuleSet_1",
"rule_count": 0
},
{
"name": "RuleSet_2",
"rule_count": 0
},
{
"name": "RuleSet_3",
"rule_count": 0
}
]
}
]
}