Skip to content
Start here

Pools

List Pools
client.loadBalancers.pools.list(PoolListParams { account_id, monitor } params, RequestOptionsoptions?): SinglePage<Pool { id, check_regions, created_on, 16 more } >
GET/accounts/{account_id}/load_balancers/pools
Pool Details
client.loadBalancers.pools.get(stringpoolId, PoolGetParams { account_id } params, RequestOptionsoptions?): Pool { id, check_regions, created_on, 16 more }
GET/accounts/{account_id}/load_balancers/pools/{pool_id}
Create Pool
client.loadBalancers.pools.create(PoolCreateParams { account_id, name, origins, 11 more } params, RequestOptionsoptions?): Pool { id, check_regions, created_on, 16 more }
POST/accounts/{account_id}/load_balancers/pools
Update Pool
client.loadBalancers.pools.update(stringpoolId, PoolUpdateParams { account_id, name, origins, 12 more } params, RequestOptionsoptions?): Pool { id, check_regions, created_on, 16 more }
PUT/accounts/{account_id}/load_balancers/pools/{pool_id}
Patch Pool
client.loadBalancers.pools.edit(stringpoolId, PoolEditParams { account_id, check_regions, description, 12 more } params, RequestOptionsoptions?): Pool { id, check_regions, created_on, 16 more }
PATCH/accounts/{account_id}/load_balancers/pools/{pool_id}
Delete Pool
client.loadBalancers.pools.delete(stringpoolId, PoolDeleteParams { account_id } params, RequestOptionsoptions?): PoolDeleteResponse { id }
DELETE/accounts/{account_id}/load_balancers/pools/{pool_id}
Patch Pools
client.loadBalancers.pools.bulkEdit(PoolBulkEditParams { account_id, notification_email } params, RequestOptionsoptions?): SinglePage<Pool { id, check_regions, created_on, 16 more } >
PATCH/accounts/{account_id}/load_balancers/pools
ModelsExpand Collapse
Pool { id, check_regions, created_on, 16 more }
id?: string
check_regions?: Array<CheckRegion> | null

A list of regions from which to run health checks. Null means every Cloudflare data center.

One of the following:
"WNAM"
"ENAM"
"WEU"
"EEU"
"NSAM"
"SSAM"
"OC"
"ME"
"NAF"
"SAF"
"SAS"
"SEAS"
"NEAS"
"ALL_REGIONS"
created_on?: string
description?: string

A human-readable description of the pool.

disabled_at?: string

This field shows up only if the pool is disabled. This field is set with the time the pool was disabled at.

formatdate-time
enabled?: boolean

Whether to enable (the default) or disable this pool. Disabled pools will not receive traffic and are excluded from health checks. Disabling a pool will cause any load balancers using it to failover to the next pool (if any).

latitude?: number

The latitude of the data center containing the origins used in this pool in decimal degrees. If this is set, longitude must also be set.

load_shedding?: LoadShedding { default_percent, default_policy, session_percent, session_policy } | null

Configures load shedding policies and percentages for the pool.

longitude?: number

The longitude of the data center containing the origins used in this pool in decimal degrees. If this is set, latitude must also be set.

minimum_origins?: number

The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and will failover to the next available pool.

modified_on?: string
monitor?: string

The ID of the Monitor to use for checking the health of origins within this pool.

monitor_group?: string

The ID of the Monitor Group to use for checking the health of origins within this pool.

name?: string

A short name (tag) for the pool. Only alphanumeric characters, hyphens, and underscores are allowed.

networks?: Array<string>

List of networks where Load Balancer or Pool is enabled.

notification_email?: string

This field is now deprecated. It has been moved to Cloudflare's Centralized Notification service https://developers.cloudflare.com/fundamentals/notifications/. The email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.

notification_filter?: NotificationFilter { origin, pool } | null

Filter pool and origin health notifications by resource type or health status. Use null to reset.

origin_steering?: OriginSteering { policy } | null

Configures origin steering for the pool. Controls how origins are selected for new sessions and traffic without session affinity.

origins?: Array<Origin { address, disabled_at, enabled, 5 more } >

The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.

address?: string

The IP address (IPv4 or IPv6) of the origin, or its publicly addressable hostname. Hostnames entered here should resolve directly to the origin, and not be a hostname proxied by Cloudflare. To set an internal/reserved address, virtual_network_id must also be set.

disabled_at?: string

This field shows up only if the origin is disabled. This field is set with the time the origin was disabled.

formatdate-time
enabled?: boolean

Whether to enable (the default) this origin within the pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.

header?: Header { Host }

The request header is used to pass additional information with an HTTP request. Currently supported header is 'Host'.

name?: string

A human-identifiable name for the origin.

port?: number

The port for upstream connections. A value of 0 means the default port for the protocol will be used.

virtual_network_id?: string

The virtual network subnet ID the origin belongs in. Virtual network must also belong to the account.

weight?: number

The weight of this origin relative to other origins in the pool. Based on the configured weight the total traffic is distributed among origins within the pool.

  • origin_steering.policy="least_outstanding_requests": Use weight to scale the origin's outstanding requests.
  • origin_steering.policy="least_connections": Use weight to scale the origin's open connections.
maximum1
minimum0
multipleOf0.01
PoolDeleteResponse { id }
id?: string

PoolsHealth

Pool Health Details
client.loadBalancers.pools.health.get(stringpoolId, HealthGetParams { account_id } params, RequestOptionsoptions?): HealthGetResponse { pool_id, pop_health }
GET/accounts/{account_id}/load_balancers/pools/{pool_id}/health
Preview Pool
client.loadBalancers.pools.health.create(stringpoolId, HealthCreateParams { account_id, allow_insecure, consecutive_down, 14 more } params, RequestOptionsoptions?): HealthCreateResponse { pools, preview_id }
POST/accounts/{account_id}/load_balancers/pools/{pool_id}/preview
ModelsExpand Collapse
HealthGetResponse { pool_id, pop_health }

A list of regions from which to run health checks. Null means every Cloudflare data center.

pool_id?: string

Pool ID.

pop_health?: POPHealth { healthy, origins }

List of regions and associated health status.

healthy?: boolean

Whether health check in region is healthy.

origins?: Array<Origin>
ip?: IP { failure_reason, healthy, response_code, rtt }
failure_reason?: string

Failure reason.

healthy?: boolean

Origin health status.

response_code?: number

Response code from origin health check.

rtt?: string

Origin RTT (Round Trip Time) response.

HealthCreateResponse { pools, preview_id }
pools?: Record<string, string>

Monitored pool IDs mapped to their respective names.

preview_id?: string

PoolsReferences

List Pool References
client.loadBalancers.pools.references.get(stringpoolId, ReferenceGetParams { account_id } params, RequestOptionsoptions?): SinglePage<ReferenceGetResponse { reference_type, resource_id, resource_name, resource_type } >
GET/accounts/{account_id}/load_balancers/pools/{pool_id}/references
ModelsExpand Collapse
ReferenceGetResponse { reference_type, resource_id, resource_name, resource_type }
reference_type?: "*" | "referral" | "referrer"
One of the following:
"*"
"referral"
"referrer"
resource_id?: string
resource_name?: string
resource_type?: string