Skip to main content
PATCH
/
cloud
/
v1
/
lbpools
/
{project_id}
/
{region_id}
/
{pool_id}
Update load balancer pool
curl --request PATCH \
  --url https://api.gcore.com/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "admin_state_up": true,
  "ca_secret_id": "<string>",
  "crl_secret_id": "<string>",
  "healthmonitor": {
    "delay": 1073741824,
    "max_retries": 5,
    "timeout": 123,
    "admin_state_up": true,
    "expected_codes": "200,301,302",
    "http_method": "CONNECT",
    "max_retries_down": 5,
    "type": "HTTP",
    "url_path": "/"
  },
  "lb_algorithm": "LEAST_CONNECTIONS",
  "members": [
    {
      "address": "192.168.40.33",
      "id": "a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9",
      "operating_status": "NO_MONITOR",
      "protocol_port": 80,
      "subnet_id": "32283b0b-b560-4690-810c-f672cbb2e28d",
      "weight": 1
    }
  ],
  "name": "<string>",
  "protocol": "HTTP",
  "secret_id": "<string>",
  "session_persistence": {
    "type": "APP_COOKIE",
    "cookie_name": "cookie_name",
    "persistence_granularity": "<string>",
    "persistence_timeout": 123
  },
  "timeout_client_data": 50000,
  "timeout_member_connect": 50000,
  "timeout_member_data": 0
}
'
{
  "tasks": [
    "<string>"
  ]
}

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

project_id
integer
required

Project ID

Example:

1

region_id
integer
required

Region ID

Example:

1

pool_id
string<uuid4>
required

Pool ID

Example:

"00000000-0000-4000-8000-000000000000"

Body

application/json
admin_state_up
boolean

Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.

Examples:

true

false

ca_secret_id
string<uuid4> | null

Secret ID of CA certificate bundle

crl_secret_id
string<uuid4> | null

Secret ID of CA revocation list file

healthmonitor
PatchLbHealthMonitorSerializer · object

New pool health monitor settings

lb_algorithm
enum<string>

New load balancer pool algorithm of how to distribute requests

Available options:
LEAST_CONNECTIONS,
ROUND_ROBIN,
SOURCE_IP
Example:

"ROUND_ROBIN"

members
CreateLbPoolMemberSerializer · object[] | null

New sequence of load balancer pool members. If members are the same (by address + port), they will be kept as is without recreation and downtime.

Example:
[
{
"address": "192.168.40.33",
"id": "a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9",
"operating_status": "NO_MONITOR",
"protocol_port": 80,
"subnet_id": "32283b0b-b560-4690-810c-f672cbb2e28d",
"weight": 1
}
]
name
string

New pool name

Example:

"new_pool_name"

protocol
enum<string>

New communication protocol

Available options:
HTTP,
HTTPS,
PROXY,
PROXYV2,
TCP,
UDP
Example:

"HTTP"

secret_id
string<uuid4> | null

Secret ID for TLS client authentication to the member servers

session_persistence
MutateLbSessionPersistence · object

New session persistence settings

timeout_client_data
integer | null
deprecated

Frontend client inactivity timeout in milliseconds. We are recommending to use listener.timeout_client_data instead.

Required range: 0 <= x <= 86400000
Example:

50000

timeout_member_connect
integer | null

Backend member connection timeout in milliseconds

Required range: 0 <= x <= 86400000
Example:

50000

timeout_member_data
integer | null

Backend member inactivity timeout in milliseconds

Required range: 0 <= x <= 86400000
Example:

0

Response

200 - application/json

OK

tasks
string[]
required

List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:

  • GET /v1/tasks/{task_id} - Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.
Example:
["d478ae29-dedc-4869-82f0-96104425f565"]