> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bunny.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Get all Access Lists available for a Shield Zone



## OpenAPI

````yaml https://api.bunny.net/shield/docs/v1/swagger.json get /shield/shield-zone/{shieldZoneId}/access-lists
openapi: 3.0.4
info:
  title: Bunny Shield API
  description: >-
    Bunny.net API for Bunny Shield (WAF, DDoS, Rate Limiting, Bot Detection,
    Access Lists & API Guardian).
  version: v1
servers:
  - url: https://api.bunny.net
security: []
paths:
  /shield/shield-zone/{shieldZoneId}/access-lists:
    get:
      tags:
        - Access Lists
      summary: Get all Access Lists available for a Shield Zone
      operationId: Get Access Lists
      parameters:
        - name: shieldZoneId
          in: path
          description: The ID of the Shield Zone to which the Access Lists belong.
          required: true
          schema:
            type: integer
            description: The ID of the Shield Zone to which the Access Lists belong.
            format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/AccessListsDetailsResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AccessListsDetailsResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/AccessListsDetailsResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
components:
  schemas:
    AccessListsDetailsResponse:
      type: object
      properties:
        managedLists:
          type: array
          items:
            $ref: '#/components/schemas/AccessListDetails'
          description: >-
            List of curated threat lists maintained by Bunny Shield with
            automatic updates.
          nullable: true
        customLists:
          type: array
          items:
            $ref: '#/components/schemas/AccessListDetails'
          description: List of custom access lists created and maintained by the user.
          nullable: true
        customEntryCount:
          type: integer
          description: >-
            Total number of entries across all custom access lists for this
            Shield Zone.
          format: int32
          nullable: true
        customEntryLimit:
          type: integer
          description: >-
            Maximum number of entries allowed across all custom access lists
            based on the Shield plan.
          format: int32
          nullable: true
        customListCount:
          type: integer
          description: Current number of custom access lists for this Shield Zone.
          format: int32
          nullable: true
        customListLimit:
          type: integer
          description: >-
            Maximum number of custom access lists allowed based on the Shield
            plan.
          format: int32
          nullable: true
        error:
          $ref: '#/components/schemas/GenericRequestResponse'
      additionalProperties: false
      description: >-
        Response containing comprehensive access list information for a Shield
        Zone, including both managed and custom lists.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    AccessListDetails:
      required:
        - action
        - configurationId
        - entryCount
        - isEnabled
        - lastUpdated
        - listId
        - name
        - type
      type: object
      properties:
        listId:
          type: integer
          description: The unique identifier of the access list.
          format: int64
        configurationId:
          type: integer
          description: The unique identifier of the access list configuration.
          format: int64
        name:
          type: string
          description: The display name of the access list.
          nullable: true
        description:
          type: string
          description: Optional description of the access list's purpose or contents.
          nullable: true
        isEnabled:
          type: boolean
          description: Indicates whether the access list is currently enabled and active.
        type:
          $ref: '#/components/schemas/AccessListType'
        category:
          $ref: '#/components/schemas/AccessListCategory'
        action:
          $ref: '#/components/schemas/AccessListAction'
        requiredPlan:
          $ref: '#/components/schemas/ShieldPlanType'
        entryCount:
          type: integer
          description: The total number of entries currently in the access list.
          format: int64
        updateFrequency:
          type: string
          description: >-
            How frequently the list is updated from its source. Only applicable
            to managed lists.
          format: date-span
          nullable: true
        lastUpdated:
          type: string
          description: The timestamp when the access list was last updated.
          format: date-time
      additionalProperties: false
      description: >-
        Represents detailed information about an access list and its
        configuration.
    GenericRequestResponse:
      type: object
      properties:
        statusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        success:
          type: boolean
          description: Indicates whether the operation was successful.
        message:
          type: string
          description: Human-readable message describing the result of the operation.
          nullable: true
        errorKey:
          type: string
          description: Unique error key for programmatic error handling, if applicable.
          nullable: true
      additionalProperties: false
      description: >-
        Generic response object containing status information for API
        operations.
    AccessListType:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
      type: integer
      description: |-
        0 = IP
        1 = CIDR
        2 = ASN
        3 = Country
        4 = Organization
        5 = JA4
      format: int32
      x-enum-varnames:
        - IP
        - CIDR
        - ASN
        - Country
        - Organization
        - JA4
    AccessListCategory:
      enum:
        - 0
        - 1
        - 2
        - 4
        - 8
        - 16
        - 32
        - 64
        - 128
        - 256
        - 512
        - 1024
        - 2048
        - 4096
        - 8192
      type: integer
      description: |-
        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
      format: int32
      x-enum-varnames:
        - None
        - VPNs
        - Datacenters
        - Proxies
        - TorExitNodes
        - Botnets
        - VulnerabilityScanners
        - WebScrapers
        - SearchEngines
        - SearchEngineCrawlers
        - AiSearch
        - AiCrawlers
        - AiAgents
        - PagePreview
        - InternetTools
    AccessListAction:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
      type: integer
      description: |-
        0 = None
        1 = Allow
        2 = Block
        3 = Challenge
        4 = Log
        5 = Bypass
      format: int32
      x-enum-varnames:
        - None
        - Allow
        - Block
        - Challenge
        - Log
        - Bypass
    ShieldPlanType:
      enum:
        - 0
        - 1
        - 2
        - 3
      type: integer
      description: |-
        0 = Basic
        1 = Advanced
        2 = Business
        3 = Enterprise
      format: int32
      x-enum-varnames:
        - Basic
        - Advanced
        - Business
        - Enterprise
    HttpStatusCode:
      enum:
        - 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
      type: integer
      description: |-
        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
      format: int32
      x-enum-varnames:
        - Continue
        - SwitchingProtocols
        - Processing
        - EarlyHints
        - OK
        - Created
        - Accepted
        - NonAuthoritativeInformation
        - NoContent
        - ResetContent
        - PartialContent
        - MultiStatus
        - AlreadyReported
        - IMUsed
        - MultipleChoices
        - Ambiguous
        - MovedPermanently
        - Moved
        - Found
        - Redirect
        - SeeOther
        - RedirectMethod
        - NotModified
        - UseProxy
        - Unused
        - TemporaryRedirect
        - RedirectKeepVerb
        - PermanentRedirect
        - BadRequest
        - Unauthorized
        - PaymentRequired
        - Forbidden
        - NotFound
        - MethodNotAllowed
        - NotAcceptable
        - ProxyAuthenticationRequired
        - RequestTimeout
        - Conflict
        - Gone
        - LengthRequired
        - PreconditionFailed
        - RequestEntityTooLarge
        - RequestUriTooLong
        - UnsupportedMediaType
        - RequestedRangeNotSatisfiable
        - ExpectationFailed
        - MisdirectedRequest
        - UnprocessableEntity
        - UnprocessableContent
        - Locked
        - FailedDependency
        - UpgradeRequired
        - PreconditionRequired
        - TooManyRequests
        - RequestHeaderFieldsTooLarge
        - UnavailableForLegalReasons
        - InternalServerError
        - NotImplemented
        - BadGateway
        - ServiceUnavailable
        - GatewayTimeout
        - HttpVersionNotSupported
        - VariantAlsoNegotiates
        - InsufficientStorage
        - LoopDetected
        - NotExtended
        - NetworkAuthenticationRequired

````