Querying the List of Precise Protection Rules¶
Function¶
This API is used to query the list of precise protection rules.
URI¶
GET /v1/{project_id}/waf/policy/{policy_id}/custom
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID |
policy_id | Yes | String | Policy ID. It can be obtained by calling the ListPolicy API. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
page | No | Integer | Page number. Default: 1 |
pagesize | No | Integer | Number of records on each page. The maximum value is 2147483647. |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-Auth-Token | Yes | String | auth token |
Content-Type | No | String | Content type. Default: application/json;charset=utf8 |
Response Parameters¶
Status code: 200
Parameter | Type | Description |
---|---|---|
total | Integer | Number of rules in the policy |
items | Array of CustomRuleBody objects | Array of custom rules |
Parameter | Type | Description |
---|---|---|
id | String | Rule ID. |
policyid | String | Policy ID. |
description | String | Rule description. |
status | Integer | Rule status. The value can be 0 or 1.
|
conditions | Array of conditions objects | List of matching conditions. All conditions must be met. |
action | CustomAction object | Protective action of the precise protection rule. |
priority | Integer | Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. |
timestamp | Long | Timestamp when the precise protection rule is created. |
start | Long | Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. |
terminal | Long | Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. |
action_mode | Boolean | This parameter is reserved and can be ignored currently. |
aging_time | Integer | Rule aging time. This parameter is reserved and can be ignored currently. |
producer | Integer | Rule creation object. This parameter is reserved and can be ignored currently. |
Parameter | Type | Description |
---|---|---|
category | String | Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. |
index | String | Subfield:
|
logic_operation | String | Logic for matching the condition. Enumeration values:
|
contents | Array of strings | Content of the conditions. |
value_list_id | String | Reference table ID. It can be obtained by calling the API Querying the Reference Table List. This parameter is available only when a reference table is used when a protection rule is created. |
Parameter | Type | Description |
---|---|---|
category | String | Operation type
Enumeration values:
|
followed_action_id | String | ID of a known attack source rule. This parameter can be configured only when category is set to block. |
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | Error code |
error_msg | String | Error message |
Status code: 401
Parameter | Type | Description |
---|---|---|
error_code | String | Error code |
error_msg | String | Error message |
Status code: 500
Parameter | Type | Description |
---|---|---|
error_code | String | Error code |
error_msg | String | Error message |
Example Requests¶
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?
Example Responses¶
Status code: 200
Request succeeded.
{
"items" : [ {
"category" : "block",
"action_mode" : false,
"conditions" : [ {
"category" : "header",
"index" : "sdfsafsda",
"logic_operation" : "contain",
"content" : [ "demo" ]
} ],
"description" : "",
"id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
"policyid" : "1f016cde588646aca3fb19f277c44d03",
"priority" : 50,
"status" : 1,
"time" : false,
"timestamp" : 1656495488880,
"aging_time" : 0,
"producer" : 1
} ],
"total" : 1
}
Status Codes¶
Status Code | Description |
---|---|
200 | Request succeeded. |
400 | Request failed. |
401 | The token does not have required permissions. |
500 | Internal server error. |
Error Codes¶
See Error Codes.