---
title: Pool
summary: A pool is responsible for balancing requests among a group of servers. In addition to balancing, pools can be configured to attempt retrying failed requests. Pools have a quorum setting that can be used to determine when the pool as a whole is considered up, in order to prevent problems following an outage as servers come back up.
url: https://www.fastly.com/documentation/reference/api/load-balancing/pools/pool
---

A pool is responsible for balancing requests among a group of servers. In addition to balancing, pools can be configured to attempt retrying failed requests. Pools have a quorum setting that can be used to determine when the pool as a whole is considered up, in order to prevent problems following an outage as servers come back up.

## Data model

| Field | Type | Description |
|-------|------|-------------|
| `comment` | string | A freeform descriptive note. |
| `healthcheck` | string | Name of the healthcheck to use with this pool. Can be empty and could be reused across multiple backend and pools. |
| `max_tls_version` | integer | Maximum allowed TLS version on connections to this server. Optional. |
| `min_tls_version` | integer | Minimum allowed TLS version on connections to this server. Optional. |
| `name` | string | Name for the Pool. |
| `override_host` | string | The hostname to <a href="https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/">override the Host header</a>. Defaults to <code>null</code> meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting. |
| `request_condition` | string | Condition which, if met, will select this configuration during a request. Optional. |
| `shield` | string | Selected POP to serve as a shield for the servers. Defaults to <code>null</code> meaning no origin shielding if not set. Refer to the <a href="https://www.fastly.com/documentation/reference/api/utils/pops/">POPs API endpoint</a> to get a list of available POPs used for shielding. |
| `tls_ciphers` | string | List of OpenSSL ciphers (see the <a href="https://www.openssl.org/docs/man1.1.1/man1/ciphers.html">openssl.org manpages</a> for details). Optional. |
| `tls_sni_hostname` | string | SNI hostname. Optional. |
| `type` | string | What type of load balance group to use. |
| `between_bytes_timeout` | integer | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using <code>bereq.between_bytes_timeout</code>. |
| `connect_timeout` | integer | How long to wait for a timeout in milliseconds. Optional. |
| `created_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `deleted_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `first_byte_timeout` | integer | How long to wait for the first byte in milliseconds. Optional. |
| `max_conn_default` | integer | Maximum number of connections. Optional. |
| `quorum` | integer | Percentage of capacity (<code>0-100</code>) that needs to be operationally available for a pool to be considered up. |
| `service_id` | string | Alphanumeric string identifying the service. (Read-only) |
| `tls_ca_cert` | string | A secure certificate to authenticate a server with. Must be in PEM format. |
| `tls_cert_hostname` | string | The hostname used to verify a server's certificate. It can either be the Common Name (CN) or a Subject Alternative Name (SAN). |
| `tls_check_cert` | integer | Be strict on checking TLS certs. Optional. |
| `tls_client_cert` | string | The client certificate used to make authenticated requests. Must be in PEM format. |
| `tls_client_key` | string | The client private key used to make authenticated requests. Must be in PEM format. |
| `updated_at` | string | Date and time in ISO 8601 format. (Read-only) |
| `use_tls` | integer | Whether to use TLS. |
| `version` | string | String identifying a service version. (Read-only) |
| `id` | string | Alphanumeric string identifying a Pool. (Read-only) |

## API endpoints

### List server pools

**GET** `/service/{service_id}/version/{version_id}/pool`

Lists all pools for a particular service and pool.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `version_id` | integer | path | Yes | Integer identifying a service version. |

### Create a server pool

**POST** `/service/{service_id}/version/{version_id}/pool`

Creates a pool for a particular service and version.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `version_id` | integer | path | Yes | Integer identifying a service version. |

### Get a server pool

**GET** `/service/{service_id}/version/{version_id}/pool/{pool_name}`

Gets a single pool for a particular service and version.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `pool_name` | string | path | Yes | Name for the Pool. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `version_id` | integer | path | Yes | Integer identifying a service version. |

### Update a server pool

**PUT** `/service/{service_id}/version/{version_id}/pool/{pool_name}`

Updates a specific pool for a particular service and version.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `pool_name` | string | path | Yes | Name for the Pool. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `version_id` | integer | path | Yes | Integer identifying a service version. |

### Delete a server pool

**DELETE** `/service/{service_id}/version/{version_id}/pool/{pool_name}`

Deletes a specific pool for a particular service and version.

**Parameters:**

| Name | Type | In | Required | Description |
|------|------|----|---------|--------------|
| `pool_name` | string | path | Yes | Name for the Pool. |
| `service_id` | string | path | Yes | Alphanumeric string identifying the service. |
| `version_id` | integer | path | Yes | Integer identifying a service version. |

