---
title: "Get all Access Lists available for a Shield Zone"
method: GET
path: "/shield/shield-zone/{shieldZoneId}/access-lists"
tags: ["Access Lists"]
---

# Get all Access Lists available for a Shield Zone

`GET /shield/shield-zone/{shieldZoneId}/access-lists`

## Request

- Base URL: `https://api.bunny.net`
- URL: `https://api.bunny.net/shield/shield-zone/{shieldZoneId}/access-lists`
- Auth: none declared
- TypeScript: <https://skmtc.dev/bunny/apis/bunny-shield-api/docs/shield/shield-zone/:shieldZoneId/access-lists/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 to which the Access Lists belong.

## Response `200`

OK

- AccessListsDetailsResponse: Response containing comprehensive access list information for a Shield Zone, including both managed and custom lists.
  - `managedLists` AccessListDetails[], nullable: List of curated threat lists maintained by Bunny Shield with automatic updates.
    - `listId` integer, required: The unique identifier of the access list.
    - `configurationId` integer, required: The unique identifier of the access list configuration.
    - `name` string, nullable, required: The display name of the access list.
    - `description` string, nullable: Optional description of the access list's purpose or contents.
    - `isEnabled` boolean, required: Indicates whether the access list is currently enabled and active.
    - `type` 0 | 1 | 2 | 3 | 4 | 5, required: 0 = IP 1 = CIDR 2 = ASN 3 = Country 4 = Organization 5 = JA4
    - `category` 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192: 0 = None 1 = VPNs 2 = Datacenters 4 = Proxies 8 = TorExitNodes 16 = Botnets 32 = VulnerabilityScanners 64 = WebScrapers 128 = SearchEngines 256 = SearchEngineCrawlers 512 = AiSearch 1024 = AiCrawlers 2048 = AiAgents 4096 = PagePreview 8192 = InternetTools
    - `action` 0 | 1 | 2 | 3 | 4 | 5, required: 0 = None 1 = Allow 2 = Block 3 = Challenge 4 = Log 5 = Bypass
    - `requiredPlan` 0 | 1 | 2 | 3: 0 = Basic 1 = Advanced 2 = Business 3 = Enterprise
    - `entryCount` integer, required: The total number of entries currently in the access list.
    - `updateFrequency` string, date-span, nullable: How frequently the list is updated from its source. Only applicable to managed lists.
    - `lastUpdated` string, date-time, required: The timestamp when the access list was last updated.
  - `customLists` AccessListDetails[], nullable: List of custom access lists created and maintained by the user.
    - `listId` integer, required: The unique identifier of the access list.
    - `configurationId` integer, required: The unique identifier of the access list configuration.
    - `name` string, nullable, required: The display name of the access list.
    - `description` string, nullable: Optional description of the access list's purpose or contents.
    - `isEnabled` boolean, required: Indicates whether the access list is currently enabled and active.
    - `type` 0 | 1 | 2 | 3 | 4 | 5, required: 0 = IP 1 = CIDR 2 = ASN 3 = Country 4 = Organization 5 = JA4
    - `category` 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192: 0 = None 1 = VPNs 2 = Datacenters 4 = Proxies 8 = TorExitNodes 16 = Botnets 32 = VulnerabilityScanners 64 = WebScrapers 128 = SearchEngines 256 = SearchEngineCrawlers 512 = AiSearch 1024 = AiCrawlers 2048 = AiAgents 4096 = PagePreview 8192 = InternetTools
    - `action` 0 | 1 | 2 | 3 | 4 | 5, required: 0 = None 1 = Allow 2 = Block 3 = Challenge 4 = Log 5 = Bypass
    - `requiredPlan` 0 | 1 | 2 | 3: 0 = Basic 1 = Advanced 2 = Business 3 = Enterprise
    - `entryCount` integer, required: The total number of entries currently in the access list.
    - `updateFrequency` string, date-span, nullable: How frequently the list is updated from its source. Only applicable to managed lists.
    - `lastUpdated` string, date-time, required: The timestamp when the access list was last updated.
  - `customEntryCount` integer, nullable: Total number of entries across all custom access lists for this Shield Zone.
  - `customEntryLimit` integer, nullable: Maximum number of entries allowed across all custom access lists based on the Shield plan.
  - `customListCount` integer, nullable: Current number of custom access lists for this Shield Zone.
  - `customListLimit` integer, nullable: Maximum number of custom access lists allowed based on the Shield plan.
  - `error` GenericRequestResponse: Generic response object containing status information for API operations.
    - `statusCode` 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511: 100 = Continue 101 = SwitchingProtocols 102 = Processing 103 = EarlyHints 200 = OK 201 = Created 202 = Accepted 203 = NonAuthoritativeInformation 204 = NoContent 205 = ResetContent 206 = PartialContent 207 = MultiStatus 208 = AlreadyReported 226 = IMUsed 300 = MultipleChoices 300 = Ambiguous 301 = MovedPermanently 301 = Moved 302 = Found 302 = Redirect 303 = SeeOther 303 = RedirectMethod 304 = NotModified 305 = UseProxy 306 = Unused 307 = TemporaryRedirect 307 = RedirectKeepVerb 308 = PermanentRedirect 400 = BadRequest 401 = Unauthorized 402 = PaymentRequired 403 = Forbidden 404 = NotFound 405 = MethodNotAllowed 406 = NotAcceptable 407 = ProxyAuthenticationRequired 408 = RequestTimeout 409 = Conflict 410 = Gone 411 = LengthRequired 412 = PreconditionFailed 413 = RequestEntityTooLarge 414 = RequestUriTooLong 415 = UnsupportedMediaType 416 = RequestedRangeNotSatisfiable 417 = ExpectationFailed 421 = MisdirectedRequest 422 = UnprocessableEntity 422 = UnprocessableContent 423 = Locked 424 = FailedDependency 426 = UpgradeRequired 428 = PreconditionRequired 429 = TooManyRequests 431 = RequestHeaderFieldsTooLarge 451 = UnavailableForLegalReasons 500 = InternalServerError 501 = NotImplemented 502 = BadGateway 503 = ServiceUnavailable 504 = GatewayTimeout 505 = HttpVersionNotSupported 506 = VariantAlsoNegotiates 507 = InsufficientStorage 508 = LoopDetected 510 = NotExtended 511 = NetworkAuthenticationRequired
    - `success` boolean: Indicates whether the operation was successful.
    - `message` string, nullable: Human-readable message describing the result of the operation.
    - `errorKey` string, nullable: Unique error key for programmatic error handling, if applicable.

## Other responses

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

## Changes

- **2026-04-18** `18994bc5533c`: 12 warning, 3 info
  - added the new `4.00` enum value to the `customLists/items/type` response property for the response status `200` (media type: text/plain)
  - added the new `4.00` enum value to the `customLists/items/type` response property for the response status `200` (media type: application/json)
  - added the new `4.00` enum value to the `customLists/items/type` response property for the response status `200` (media type: text/json)
  - added the new `4.00` enum value to the `managedLists/items/type` response property for the response status `200` (media type: text/plain)
  - …11 more

[Operation history](https://skmtc.dev/bunny/apis/bunny-shield-api/changes/shield/shield-zone/:shieldZoneId/access-lists/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)
