---
title: ACLs in Compute
summary: >-
  An access control list (ACL) specifies individual IP addresses or subnet
  ranges and can be accessed and used from the Fastly Compute platform.
url: https://www.fastly.com/documentation/reference/api/acls/acls
---

An access control list (ACL) specifies individual IP addresses or subnet ranges and can be accessed and used from the Fastly Compute platform.

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Human readable name of store. |
| `id` | string | An example identifier (UUID). |
| `action` | string | One of "ALLOW" or "BLOCK". |
| `prefix` | string | An IP prefix defined in Classless Inter-Domain Routing (CIDR) format, i.e. a valid IP address (v4 or v6) followed by a forward slash (/) and a prefix length (0-32 or 0-128, depending on address family). |

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | An example identifier (UUID). |
| `meta` | object | Meta for the total of ACLs. |
| `name` | string | Human readable name of store. |

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `entries` | array |  |
| `meta` | object |  |

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `action` | string | One of "ALLOW" or "BLOCK". |
| `prefix` | string | A valid IPv4 or IPv6 address and prefix in CIDR notation. |

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `entries` | array |  |

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `action` | string | The action taken on the IP address, one of "BLOCK" or "ALLOW". If using the "delete" operation, no action should be specified. |
| `op` | string | One of "create", "update", or "delete" indicating the operation to perform on the update. |
| `prefix` | string | An IP prefix defined in Classless Inter-Domain Routing (CIDR) format, i.e. a valid IP address (v4 or v6) followed by a forward slash (/) and a prefix length (0-32 or 0-128, depending on address family). |

## API endpoints

### List ACLs

**GET** `/resources/acls`

List all ACLs.

### Create a new ACL

**POST** `/resources/acls`

Create a new ACL.

### Describe an ACL

**GET** `/resources/acls/{acl_id}`

Describe an ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | ACL Identifier (UUID). |

### Delete an ACL

**DELETE** `/resources/acls/{acl_id}`

Delete an ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | ACL Identifier (UUID). |

### Lookup an ACL

**GET** `/resources/acls/{acl_id}/entry/{acl_ip}`

Find a matching ACL entry for an IP address.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | ACL Identifier (UUID). |
| `acl_ip` | string | path | Yes | valid IPv4 or IPv6 address. |

### List an ACL

**GET** `/resources/acls/{acl_id}/entries`

List an ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | ACL Identifier (UUID). |
| `cursor` | string | query | No | Use to paginate through results. |
| `limit` | integer | query | No | The maximum number of items included in the response. |

### Update an ACL

**PATCH** `/resources/acls/{acl_id}/entries`

Update an ACL entry with a new operation or action, this allows you to modify an existing entry or delete it.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | ACL Identifier (UUID). |
