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 '{
  "ca_secret_id": "<string>",
  "crl_secret_id": "<string>",
  "healthmonitor": {
    "delay": 10,
    "expected_codes": "200,301,302",
    "http_method": "CONNECT",
    "max_retries": 2,
    "max_retries_down": 2,
    "timeout": 5,
    "type": "HTTP",
    "url_path": "/"
  },
  "lb_algorithm": "ROUND_ROBIN",
  "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": "new_pool_name",
  "protocol": "HTTP",
  "secret_id": "<string>",
  "session_persistence": {
    "cookie_name": "cookie_name",
    "persistence_granularity": "<string>",
    "persistence_timeout": 123,
    "type": "APP_COOKIE"
  },
  "timeout_client_data": 50000,
  "timeout_member_connect": 50000,
  "timeout_member_data": 0
}'
{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}

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

Examples:

1

region_id
integer
required

Region ID

Required range: x > 0
Examples:

1

pool_id
string<uuid4>
required

Pool ID

Examples:

"00000000-0000-4000-8000-000000000000"

Body

application/json
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
object | null

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
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.

Examples:
[
{
"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

Examples:

"new_pool_name"

protocol
enum<string>

New communication protocol

Available options:
HTTP,
HTTPS,
PROXY,
PROXYV2,
TCP,
UDP
secret_id
string<uuid4> | null

Secret ID for TLS client authentication to the member servers

session_persistence
object | null

New session persistence settings

timeout_client_data
integer | null

Frontend client inactivity timeout in milliseconds

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

50000

timeout_member_connect
integer | null

Backend member connection timeout in milliseconds

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

50000

timeout_member_data
integer | null

Backend member inactivity timeout in milliseconds

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

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.

Examples:
["d478ae29-dedc-4869-82f0-96104425f565"]