Skip to main content
POST
/
cloud
/
v1
/
lbpools
/
{project_id}
/
{region_id}
Create load balancer pool
curl --request POST \
  --url https://api.gcore.com/cloud/v1/lbpools/{project_id}/{region_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "pool_name",
  "ca_secret_id": "<string>",
  "crl_secret_id": "<string>",
  "healthmonitor": {
    "delay": 10,
    "domain_name": "example.com",
    "http_method": "GET",
    "http_version": "1.1",
    "max_retries": 3,
    "max_retries_down": 3,
    "timeout": 5,
    "type": "HTTP",
    "url_path": "/"
  },
  "listener_id": "<string>",
  "load_balancer_id": "bbb35f84-35cc-4b2f-84c2-a6a29bba68aa",
  "members": [
    {
      "address": "192.168.1.101",
      "instance_id": "a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9",
      "protocol_port": 8000,
      "weight": 2
    },
    {
      "address": "192.168.1.102",
      "instance_id": "169942e0-9b53-42df-95ef-1a8b6525c2bd",
      "protocol_port": 8000,
      "weight": 4
    }
  ],
  "secret_id": "<string>",
  "session_persistence": {
    "cookie_name": "cookie_name",
    "type": "APP_COOKIE"
  },
  "timeout_client_data": 50000,
  "timeout_member_connect": 50000,
  "timeout_member_data": 43200000
}
'
{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://gcore.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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

Body

application/json
lb_algorithm
enum<string>
required

Load balancer algorithm

Available options:
LEAST_CONNECTIONS,
ROUND_ROBIN,
SOURCE_IP
Example:

"ROUND_ROBIN"

name
string
required

Pool name

Pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
Example:

"pool_name"

protocol
enum<string>
required

Protocol

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

"HTTP"

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
CreateLbHealthMonitorSerializer · object

Health monitor details

Example:
{
"delay": 10,
"domain_name": "example.com",
"http_method": "GET",
"http_version": "1.1",
"max_retries": 3,
"max_retries_down": 3,
"timeout": 5,
"type": "HTTP",
"url_path": "/"
}
listener_id
string<uuid4> | null

Listener ID

load_balancer_id
string<uuid4> | null

Loadbalancer ID

Example:

"bbb35f84-35cc-4b2f-84c2-a6a29bba68aa"

members
CreateLbPoolMemberSerializer · object[]

Pool members

Example:
[
{
"address": "192.168.1.101",
"instance_id": "a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9",
"protocol_port": 8000,
"weight": 2
},
{
"address": "192.168.1.102",
"instance_id": "169942e0-9b53-42df-95ef-1a8b6525c2bd",
"protocol_port": 8000,
"weight": 4
}
]
secret_id
string<uuid4> | null

Secret ID for TLS client authentication to the member servers

session_persistence
MutateLbSessionPersistence · object

Session persistence details

Example:
{
"cookie_name": "cookie_name",
"type": "APP_COOKIE"
}
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

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"]