---
title: "List ACL Rules"
method: GET
path: "/v1/sites/{siteId}/acl-rules"
tags: ["Access Control (ACL Rules)"]
---

# List ACL Rules

`GET /v1/sites/{siteId}/acl-rules`

## Request

- Base URL: `https://api.ui.com/v1/connector/consoles/942A6FF664C0000000000964970E0000000009E710560000000068A9873F:9999999999/proxy/network/integration`
- URL: `https://api.ui.com/v1/connector/consoles/942A6FF664C0000000000964970E0000000009E710560000000068A9873F:9999999999/proxy/network/integration/v1/sites/{siteId}/acl-rules`
- Auth: none declared
- TypeScript: <https://skmtc.dev/ubiquiti/apis/unifi-network-api/docs/v1/sites/:siteId/acl-rules/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve a paginated list of all ACL rules on a site.

<details>
<summary>Filterable properties (click to expand)</summary>

|Name|Type|Allowed functions|
|-|-|-|
|`type`|`STRING`|`eq` `ne` `in` `notIn`|
|`id`|`UUID`|`eq` `ne` `in` `notIn`|
|`enabled`|`BOOLEAN`|`eq` `ne`|
|`name`|`STRING`|`eq` `ne` `in` `notIn` `like`|
|`description`|`STRING`|`isNull` `isNotNull` `eq` `ne` `in` `notIn` `like`|
|`action`|`STRING`|`eq` `ne` `in` `notIn`|
|`index`|`INTEGER`|`eq` `ne` `gt` `ge` `lt` `le` `in` `notIn`|
|`protocolFilter`|`SET(STRING)`|`isNull` `isNotNull` `contains` `containsAny` `containsAll` `containsExactly`|
|`networkId`|`UUID`|`isNull` `isNotNull` `eq` `ne` `in` `notIn`|
|`enforcingDeviceFilter.deviceIds`|`SET(UUID)`|`isNull` `isNotNull` `contains` `containsAny` `containsAll` `containsExactly`|
|`metadata.origin`|`STRING`|`eq` `ne` `in` `notIn`|
|`sourceFilter.type`|`STRING`|`isNull` `isNotNull` `eq` `ne` `in` `notIn`|
|`sourceFilter.ipAddressesOrSubnets`|`SET(STRING)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`sourceFilter.portFilter`|`SET(INTEGER)`|`isNull` `isNotNull` `contains` `containsAny` `containsAll` `containsExactly`|
|`sourceFilter.networkIds`|`SET(UUID)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`sourceFilter.macAddresses`|`SET(STRING)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`sourceFilter.prefixLength`|`INTEGER`|`isNull` `isNotNull` `eq` `ne` `gt` `ge` `lt` `le` `in` `notIn`|
|`destinationFilter.type`|`STRING`|`isNull` `isNotNull` `eq` `ne` `in` `notIn`|
|`destinationFilter.ipAddressesOrSubnets`|`SET(STRING)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`destinationFilter.portFilter`|`SET(INTEGER)`|`isNull` `isNotNull` `contains` `containsAny` `containsAll` `containsExactly`|
|`destinationFilter.networkIds`|`SET(UUID)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`destinationFilter.macAddresses`|`SET(STRING)`|`contains` `containsAny` `containsAll` `containsExactly`|
|`destinationFilter.prefixLength`|`INTEGER`|`isNull` `isNotNull` `eq` `ne` `gt` `ge` `lt` `le` `in` `notIn`|
</details>

## Path parameters

- `siteId` string, uuid, required

## Query parameters

- `offset` integer
- `limit` integer
- `filter` string

## Response `200`

OK

- IntegrationAclRulePageDto
  - `offset` integer, required
  - `limit` integer, required
  - `count` integer, required
  - `totalCount` integer, required
  - `data` ACLRuleObject[], required
    - `type` string, required
    - `id` string, uuid, required
    - `enabled` boolean, required
    - `name` string, required: ACL rule name
    - `description` string: ACL rule description
    - `action` 'ALLOW' | 'BLOCK', required: ACL rule action
    - `enforcingDeviceFilter` ACLRuleDeviceFilter
      - `type` string, required
    - `index` integer, required: ACL rule index. Lower index has higher priority
    - `sourceFilter` unknown
    - `destinationFilter` unknown
    - `metadata` UserDefinedOrDerivedEntityMetadata, required
      - `origin` string, required

---

[API](https://skmtc.dev/ubiquiti/apis/unifi-network-api.md) - [All operations](https://skmtc.dev/ubiquiti/apis/unifi-network-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ubiquiti/apis/unifi-network-api/revisions/822d5af98ce5?raw)
