> For the complete documentation index, see [llms.txt](https://docs.defguard.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.defguard.net/2.1/for-developers/rest-api/core/acl/list-acl-aliases.md).

# List ACL aliases

```json
{"openapi":"3.1.0","info":{"title":"defguard Core API","version":"2.1.0"},"tags":[{"name":"ACL","description":"Access Control Lists (ACL)."}],"security":[{"cookie":[]},{"api_token":[]}],"components":{"securitySchemes":{"cookie":{"type":"apiKey","in":"cookie","name":"defguard_session"},"api_token":{"type":"http","scheme":"bearer"}},"schemas":{"ApiAclAlias":{"type":"object","description":"An ACL alias component.\nAll relations represented as arrays of IDs.","required":["name","kind","state","addresses","ports","protocols","rules"],"properties":{"addresses":{"type":"string"},"id":{"$ref":"#/components/schemas/i64"},"kind":{"$ref":"#/components/schemas/AliasKind"},"name":{"type":"string"},"parent_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/i64"}]},"ports":{"type":"string"},"protocols":{"type":"array","items":{"$ref":"#/components/schemas/i32"}},"rules":{"type":"array","items":{"$ref":"#/components/schemas/i64"}},"state":{"$ref":"#/components/schemas/AliasState"}}},"i64":{"type":"integer","format":"int64"},"AliasKind":{"type":"string","description":"Type of an ACL alias:\n- `destination`: the alias defines a complete destination that an ACL rule applies to.\n- `component`: the alias defines parts of a destination and is combined with the parts\n  defined in the ACL rule itself.","enum":["Destination","Component"]},"i32":{"type":"integer","format":"int32"},"AliasState":{"type":"string","description":"ACL alias can be in one of the following states:\n- Applied: the alias can be used in ACL rules\n- Modified: the alias has been modified and the changes have not yet been applied\n\nUnlike ACL rules themselves aliases do not require a `New` state,\nsince they do not cause any changes to locations until they\nare used by a rule.\n`Deleted` state is also omitted since we don't allow deleting if an alias is used by any rules.","enum":["Applied","Modified"]},"ApiErrorResponse":{"type":"object","description":"Body returned with error responses.","required":["msg"],"properties":{"code":{"type":["string","null"],"description":"Machine-readable error code, returned for selected errors."},"msg":{"type":"string","description":"Human-readable error message."}}}}},"paths":{"/api/v1/acl/alias":{"get":{"tags":["ACL"],"summary":"List ACL aliases","operationId":"list_acl_aliases","responses":{"200":{"description":"All ACL aliases.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiAclAlias"}}}}},"401":{"description":"Session is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Requires admin privileges and an active enterprise license.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Unable to list ACL aliases.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}}}
```
