GET
/
waap
/
v1
/
domains
/
{domain_id}
/
advanced-rules
/
{rule_id}
Python
import os
from gcore import Gcore

client = Gcore(
    api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
)
waap_advanced_rule = client.waap.domains.advanced_rules.get(
    rule_id=0,
    domain_id=0,
)
print(waap_advanced_rule.id)
{
  "name": "<string>",
  "description": "<string>",
  "enabled": true,
  "action": {
    "allow": {},
    "block": {
      "status_code": 403,
      "action_duration": "12h"
    },
    "captcha": {},
    "handshake": {},
    "monitor": {},
    "tag": {
      "tags": [
        "<string>"
      ]
    }
  },
  "source": "request.rate_limit([], '.*events', 5, 200, [], [], '', 'ip') and not ('mb-web-ui' in request.headers['Cookie'] or 'mb-mobile-ios' in request.headers['Cookie'] or 'session-token' in request.headers['Cookie']) and not request.headers['session']",
  "phase": "access",
  "id": 123
}

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

domain_id
integer
required

The domain ID

rule_id
integer
required

The advanced rule ID

Response

Successful Response

An advanced WAAP rule applied to a domain

name
string
required

The name assigned to the rule

Maximum length: 100
enabled
boolean
required

Whether or not the rule is enabled

action
object
required

The action that the rule takes when triggered The action that a WAAP rule takes when triggered

source
string
required

A CEL syntax expression that contains the rule's conditions. Allowed objects are: request, whois, session, response, tags, user_defined_tags, user_agent, client_data. More info can be found here: https://gcore.com/docs/waap/waap-rules/advanced-rules

Minimum length: 1
Examples:

"request.rate_limit([], '.*events', 5, 200, [], [], '', 'ip') and not ('mb-web-ui' in request.headers['Cookie'] or 'mb-mobile-ios' in request.headers['Cookie'] or 'session-token' in request.headers['Cookie']) and not request.headers['session']"

id
integer
required

The unique identifier for the rule

description
string | null

The description assigned to the rule

Maximum length: 100
phase
enum<string> | null
default:access

The WAAP request/response phase for applying the rule. Default is "access". The "access" phase is responsible for modifying the request before it is sent to the origin server. The "header_filter" phase is responsible for modifying the HTTP headers of a response before they are sent back to the client. The "body_filter" phase is responsible for modifying the body of a response before it is sent back to the client.

Available options:
access,
header_filter,
body_filter