## Create a User Agent Blocking rule `firewall.ua_rules.create(UARuleCreateParams**kwargs) -> UARuleCreateResponse` **post** `/zones/{zone_id}/firewall/ua_rules` Creates a new User Agent Blocking rule in a zone. ### Parameters - `zone_id: str` Defines an identifier. - `configuration: Configuration` - `target: Optional[Literal["ua"]]` The configuration target. You must set the target to `ua` when specifying a user agent in the rule. - `"ua"` - `value: Optional[str]` the user agent to exactly match - `mode: Literal["block", "challenge", "whitelist", 2 more]` The action to apply to a matched request. - `"block"` - `"challenge"` - `"whitelist"` - `"js_challenge"` - `"managed_challenge"` - `description: Optional[str]` An informative summary of the rule. This value is sanitized and any tags will be removed. - `paused: Optional[bool]` When true, indicates that the rule is currently paused. ### Returns - `class UARuleCreateResponse: …` - `id: Optional[str]` The unique identifier of the User Agent Blocking rule. - `configuration: Optional[Configuration]` The configuration object for the current rule. - `target: Optional[str]` The configuration target for this rule. You must set the target to `ua` for User Agent Blocking rules. - `value: Optional[str]` The exact user agent string to match. This value will be compared to the received `User-Agent` HTTP header value. - `description: Optional[str]` An informative summary of the rule. - `mode: Optional[Literal["block", "challenge", "js_challenge", "managed_challenge"]]` The action to apply to a matched request. - `"block"` - `"challenge"` - `"js_challenge"` - `"managed_challenge"` - `paused: Optional[bool]` When true, indicates that the rule is currently paused. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) ua_rule = client.firewall.ua_rules.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", configuration={}, mode="challenge", ) print(ua_rule.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": { "id": "372e67954025e0ba6aaa6d586b9e0b59", "configuration": { "target": "ua", "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4" }, "description": "Prevent access from abusive clients identified by this User Agent to mitigate a DDoS attack", "mode": "js_challenge", "paused": false }, "success": true } ```