---
title: "Retrieve all available WAF rules for a Shield Zone"
method: GET
path: "/shield/waf/rules/{shieldZoneId}"
tags: ["WAF"]
---

# Retrieve all available WAF rules for a Shield Zone

`GET /shield/waf/rules/{shieldZoneId}`

## Request

- Base URL: `https://api.bunny.net`
- URL: `https://api.bunny.net/shield/waf/rules/{shieldZoneId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/bunny/apis/bunny-shield-api/docs/shield/waf/rules/:shieldZoneId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `shieldZoneId` integer, required: The ID of the Shield Zone for the WAF Rules.

## Response `200`

OK

- WafRuleMainGroupModel[]
  - `name` string, nullable
  - `ruleset` string, nullable
  - `ruleGroups` WafRuleGroupModel[], nullable
    - `id` integer
    - `name` string, nullable
    - `code` string, nullable
    - `fileName` string, nullable
    - `mainGroup` string, nullable
    - `ruleset` string, nullable
    - `description` string, nullable
    - `rules` WafRuleModel[], nullable
      - `ruleId` string, nullable
      - `description` string, nullable

## Other responses

- `401`: Unauthorized
- `500`: Internal Server Error

## Changes

- **2026-04-18** `18994bc5533c`: 3 info
  - api operation id `Get WAF Rules` was added
  - api tag `WAF` added
  - api tag `Waf` removed

[Operation history](https://skmtc.dev/bunny/apis/bunny-shield-api/changes/shield/waf/rules/:shieldZoneId/get.md)

---

[API](https://skmtc.dev/bunny/apis/bunny-shield-api.md) - [All operations](https://skmtc.dev/bunny/apis/bunny-shield-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bunny/apis/bunny-shield-api/revisions/6a424e866a61?raw)
