| [ Web Proxy ] |
| Viewing: https://developers.cloudflare.com/api/resources/firewall/subresources/rules/methods/create | [Back] [Original] |
Create one or more firewall rules.
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYYThe previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
X-Auth-Email: user@example.comThe previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194Firewall Services WriteThe action to perform when the threshold of matched traffic within the configured period is exceeded.
A custom content type and reponse to return when the threshold is exceeded. The custom response configured in this object will override the custom error for the zone. This object is optional. Notes: If you omit this object, Cloudflare will use the default HTML error page. If mode is challenge, managed_challenge, or js_challenge, Cloudflare will use the zone challenge pages and you should not provide the response object.
The time in seconds during which Cloudflare will perform the mitigation action. Must be an integer value greater than or equal to the period. Notes: If mode is challenge, managed_challenge, or js_challenge, Cloudflare will use the zones Challenge Passage time and you should not provide this value.
The filter expression. For more information, refer to Expressions.
The priority of the rule. Optional value used to define the processing order. A lower number indicates a higher priority. If not provided, rules with a defined priority will be processed before rules without a priority.
curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/firewall/rules \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-d '{
"action": {},
"filter": {}
}'{
"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": [
{
"id": "372e67954025e0ba6aaa6d586b9e0b60",
"action": "block",
"description": "Blocks traffic identified during investigation for MIR-31",
"filter": {
"id": "372e67954025e0ba6aaa6d586b9e0b61",
"description": "Restrict access from these browsers on this address range.",
"expression": "(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.addr ne 172.16.22.155",
"paused": false,
"ref": "FIL-100"
},
"paused": false,
"priority": 50,
"products": [
"waf"
],
"ref": "MIR-31"
}
],
"success": true,
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000
}
}{
"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": [
{
"id": "372e67954025e0ba6aaa6d586b9e0b60",
"action": "block",
"description": "Blocks traffic identified during investigation for MIR-31",
"filter": {
"id": "372e67954025e0ba6aaa6d586b9e0b61",
"description": "Restrict access from these browsers on this address range.",
"expression": "(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.addr ne 172.16.22.155",
"paused": false,
"ref": "FIL-100"
},
"paused": false,
"priority": 50,
"products": [
"waf"
],
"ref": "MIR-31"
}
],
"success": true,
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000
}
}| Web Proxy Viewer | New URL | Original Page |