---
title: ACL Entry
summary: >-
  An ACL entry holds an individual IP address or subnet range and is a member of
  an ACL. ACL entries are versionless, which means they can be created,
  modified, or deleted without activating a new version of your service.
url: https://www.fastly.com/documentation/reference/api/acls/acl-entry
---

An ACL entry holds an individual IP address or subnet range and is a member of an ACL. ACL entries are versionless, which means they can be created, modified, or deleted without activating a new version of your service.

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `comment` | string | A freeform descriptive note. |
| `ip` | string | An IP address. |
| `negated` | integer | Whether to negate the match. Useful primarily when creating individual exceptions to larger subnets. |
| `subnet` | integer | Number of bits for the subnet mask applied to the IP address. For IPv4 addresses, a value of 32 represents the smallest subnet mask (1 address), 24 represents a class C subnet mask (256 addresses), 16 represents a class B subnet mask (65k addresses), and 8 is class A subnet mask (16m addresses). If not provided, no mask is applied. |
| `acl_id` | string | Alphanumeric string identifying a ACL. (Read-only) |
| `created_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `deleted_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `id` | string | Alphanumeric string identifying an ACL Entry. (Read-only) |
| `service_id` | string | Alphanumeric string identifying the service. (Read-only) |
| `updated_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `entries` | array |  |

## API endpoints

### List ACL entries

**GET** `/service/{service_id}/acl/{acl_id}/entries`

List ACL entries for a specified ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `direction` | string | query | No | Direction in which to sort results. |
| `page` | integer | query | No | Current page. |
| `per_page` | integer | query | No | Number of records per page. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `sort` | string | query | No | Field on which to sort. |

### Update multiple ACL entries

**PATCH** `/service/{service_id}/acl/{acl_id}/entries`

Update multiple ACL entries on the same ACL. For faster updates to your service, group your changes into large batches. The maximum batch size is 1000 entries. <a href="https://support.fastly.com/">Contact support</a> to discuss raising this limit.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |

### Describe an ACL entry

**GET** `/service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}`

Retrieve a single ACL entry.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_entry_id` | string | path | Yes | Alphanumeric string identifying an ACL Entry. |
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |

### Delete an ACL entry

**DELETE** `/service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}`

Delete an ACL entry from a specified ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_entry_id` | string | path | Yes | Alphanumeric string identifying an ACL Entry. |
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |

### Update an ACL entry

**PATCH** `/service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}`

Update an ACL entry for a specified ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_entry_id` | string | path | Yes | Alphanumeric string identifying an ACL Entry. |
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |

### Create an ACL entry

**POST** `/service/{service_id}/acl/{acl_id}/entry`

Add an ACL entry to an ACL.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `acl_id` | string | path | Yes | Alphanumeric string identifying a ACL. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
