Skip to content
Start here

List User Agent Blocking rules

client.Firewall.UARules.List(ctx, params) (*V4PagePaginationArray[UARuleListResponse], error)
GET/zones/{zone_id}/firewall/ua_rules

Fetches User Agent Blocking rules in a zone. You can filter the results using several optional parameters.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Firewall Services WriteFirewall Services Read
ParametersExpand Collapse
params UARuleListParams
ZoneID param.Field[string]

Path param: Defines an identifier.

maxLength32
Description param.Field[string]optional

Query param: A string to search for in the description of existing rules.

Page param.Field[float64]optional

Query param: Page number of paginated results.

minimum1
Paused param.Field[bool]optional

Query param: When true, indicates that the rule is currently paused.

PerPage param.Field[float64]optional

Query param: The maximum number of results per page. You can only set the value to 1 or to a multiple of 5 such as 5, 10, 15, or 20.

maximum1000
minimum1
UserAgent param.Field[string]optional

Query param: A string to search for in the user agent values of existing rules.

ReturnsExpand Collapse
type UARuleListResponse struct{…}
ID stringoptional

The unique identifier of the User Agent Blocking rule.

maxLength32
Configuration UARuleListResponseConfigurationoptional

The configuration object for the current rule.

Target stringoptional

The configuration target for this rule. You must set the target to ua for User Agent Blocking rules.

Value stringoptional

The exact user agent string to match. This value will be compared to the received User-Agent HTTP header value.

Description stringoptional

An informative summary of the rule.

maxLength1024
Mode UARuleListResponseModeoptional

The action to apply to a matched request.

maxLength12
One of the following:
const UARuleListResponseModeBlock UARuleListResponseMode = "block"
const UARuleListResponseModeChallenge UARuleListResponseMode = "challenge"
const UARuleListResponseModeJSChallenge UARuleListResponseMode = "js_challenge"
const UARuleListResponseModeManagedChallenge UARuleListResponseMode = "managed_challenge"
Paused booloptional

When true, indicates that the rule is currently paused.

List User Agent Blocking rules

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/firewall"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Firewall.UARules.List(context.TODO(), firewall.UARuleListParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "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,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
Returns Examples
{
  "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,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}