Skip to content

Pools

All operations require authentication.

10 operationsv2/publicCloud/project
Agent setup

List poolsProduction

GET
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool

Returns the pools of the load balancer.

Filters

The optional name, protocol and algorithm query parameters narrow the list. Each one can be repeated (for example ?protocol=HTTP&protocol=TCP): repeated values of the same parameter are combined with OR, and different parameters are combined with AND. An unknown protocol or algorithm value is rejected with a 400 InvalidParameter. The resourceStatus is computed from the live state of each resource, so it is not a filter: a status query parameter is rejected with a 400 InvalidParameter.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

projectId
required
string

Project ID

Query parameters

algorithm
PoolAlgorithmEnum[]

Filter by pool load balancing algorithm. Repeatable.

ValuesLEAST_CONNECTIONSROUND_ROBINSOURCE_IP
name
string[]

Filter by pool name (case-insensitive substring match). Repeatable.

protocol
PoolProtocolEnum[]

Filter by pool protocol. Repeatable.

ValuesHTTPHTTPSPROXYPROXYV2SCTPTCPUDP

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Pool[]successful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the pool

currentState
read-only
PoolCurrentState

Current state of the pool

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the pool

id
read-only
stringuuid

Unique identifier of the pool

resourceStatus
read-only
ResourceStatusEnum

Pool readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PoolTargetSpec

Last target specification of the pool

updatedAt
read-only
stringdate-time

Last update date of the pool

400objectError 400 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "string", "httpVersion": "string", "id": "00000000-0000-0000-0000-000000000000", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "operatingStatus": "string", "provisioningStatus": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "operatingStatus": "DEGRADED", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP", "provisioningStatus": "ACTIVE" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "CONNECT", "httpVersion": "string", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP" }, "updatedAt": "2024-01-01T12:00:00Z" }]

Get a poolProduction

GET
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}

Returns the pool, including its load-balancing algorithm and health monitor.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Response

200Poolsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the pool

currentState
read-only
PoolCurrentState

Current state of the pool

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the pool

id
read-only
stringuuid

Unique identifier of the pool

resourceStatus
read-only
ResourceStatusEnum

Pool readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PoolTargetSpec

Last target specification of the pool

updatedAt
read-only
stringdate-time

Last update date of the pool

404objectError 404 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "string", "httpVersion": "string", "id": "00000000-0000-0000-0000-000000000000", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "operatingStatus": "string", "provisioningStatus": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "operatingStatus": "DEGRADED", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP", "provisioningStatus": "ACTIVE" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "CONNECT", "httpVersion": "string", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP" }, "updatedAt": "2024-01-01T12:00:00Z"}

Create a poolProduction

POST
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool

Creates a pool with a load-balancing algorithm and protocol, optionally with a health monitor and session persistence.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

projectId
required
string

Project ID

Request body (required)

targetSpec
required
PoolTargetSpec

Desired target specification for the pool to create

Response

200Poolsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the pool

currentState
read-only
PoolCurrentState

Current state of the pool

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the pool

id
read-only
stringuuid

Unique identifier of the pool

resourceStatus
read-only
ResourceStatusEnum

Pool readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PoolTargetSpec

Last target specification of the pool

updatedAt
read-only
stringdate-time

Last update date of the pool

400objectError 400 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "string", "httpVersion": "string", "id": "00000000-0000-0000-0000-000000000000", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "operatingStatus": "string", "provisioningStatus": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "operatingStatus": "DEGRADED", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP", "provisioningStatus": "ACTIVE" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "CONNECT", "httpVersion": "string", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP" }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a poolProduction

DELETE
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}

Deletes the pool.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Response

200Poolsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the pool

currentState
read-only
PoolCurrentState

Current state of the pool

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the pool

id
read-only
stringuuid

Unique identifier of the pool

resourceStatus
read-only
ResourceStatusEnum

Pool readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PoolTargetSpec

Last target specification of the pool

updatedAt
read-only
stringdate-time

Last update date of the pool

404objectError 404 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "string", "httpVersion": "string", "id": "00000000-0000-0000-0000-000000000000", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "operatingStatus": "string", "provisioningStatus": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "operatingStatus": "DEGRADED", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP", "provisioningStatus": "ACTIVE" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "CONNECT", "httpVersion": "string", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP" }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a poolProduction

PUT
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}

Replaces the pool's target specification as a whole. The body carries the complete desired state of every field publicCloud.loadbalancer.PoolUpdateTargetSpec exposes — algorithm, description, healthMonitor, name and persistence — so read the pool first and restate every value you want to keep: a field left out of targetSpec is cleared, not carried over from the stored specification. Leaving healthMonitor out deletes the pool's health monitor, and leaving persistence out disables session persistence.

The create-only field protocol cannot be changed once the pool exists. It is deliberately absent from the update model, and sending it is rejected with a 400.

algorithm is required. When a healthMonitor is sent, it is itself a complete specification: type, delay, timeout and maxRetries are all required — mirroring the create route — and every optional monitor field left out is cleared. The monitor type is immutable once the monitor exists, so restate the current type.

The optional checksum guards against a lost update: when supplied it must match the pool's current checksum or the request is rejected with a 409 checksum mismatch. Omitting it skips the check and forces the write (last-write-wins).

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Request body (required)

checksum
string

Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).

targetSpec
required
PoolUpdateTargetSpec

Desired target specification for the pool

Response

200Poolsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the pool

currentState
read-only
PoolCurrentState

Current state of the pool

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the pool

id
read-only
stringuuid

Unique identifier of the pool

resourceStatus
read-only
ResourceStatusEnum

Pool readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PoolTargetSpec

Last target specification of the pool

updatedAt
read-only
stringdate-time

Last update date of the pool

400objectError 400 response
404objectError 404 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "string", "httpVersion": "string", "id": "00000000-0000-0000-0000-000000000000", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "operatingStatus": "string", "provisioningStatus": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "operatingStatus": "DEGRADED", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP", "provisioningStatus": "ACTIVE" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "algorithm": "LEAST_CONNECTIONS", "description": "string", "healthMonitor": { "delay": 0, "domainName": "string", "expectedCodes": "string", "httpMethod": "CONNECT", "httpVersion": "string", "maxRetries": 0, "maxRetriesDown": 0, "name": "string", "timeout": 0, "type": "HTTP", "urlPath": "string" }, "name": "string", "persistence": { "cookieName": "string", "type": "APP_COOKIE" }, "protocol": "HTTP" }, "updatedAt": "2024-01-01T12:00:00Z"}

List pool membersProduction

GET
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member

Returns the members of the pool.

Filters

The optional name and address query parameters narrow the list. Each one can be repeated (for example ?name=web&name=api): repeated values of the same parameter are combined with OR, and different parameters are combined with AND. An invalid address is rejected with a 400 InvalidParameter. The resourceStatus is computed from the live state of each resource, so it is not a filter: a status query parameter is rejected with a 400 InvalidParameter.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Query parameters

address
ip[]

Filter by member IP address (exact match). Repeatable.

name
string[]

Filter by member name (case-insensitive substring match). Repeatable.

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Member[]successful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the member

currentState
read-only
MemberCurrentState

Current state of the member

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the member

id
read-only
stringuuid

Unique identifier of the member

resourceStatus
read-only
ResourceStatusEnum

Member readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
MemberTargetSpec

Last target specification of the member

updatedAt
read-only
stringdate-time

Last update date of the member

400objectError 400 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "operatingStatus": "DEGRADED", "protocolPort": 0, "provisioningStatus": "ACTIVE", "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "protocolPort": 0, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "updatedAt": "2024-01-01T12:00:00Z" }]

Get a pool memberProduction

GET
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId}

Returns the pool member, including its address, port and weight.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

memberId
required
stringuuid

Member ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Response

200Membersuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the member

currentState
read-only
MemberCurrentState

Current state of the member

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the member

id
read-only
stringuuid

Unique identifier of the member

resourceStatus
read-only
ResourceStatusEnum

Member readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
MemberTargetSpec

Last target specification of the member

updatedAt
read-only
stringdate-time

Last update date of the member

404objectError 404 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, memberId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "operatingStatus": "DEGRADED", "protocolPort": 0, "provisioningStatus": "ACTIVE", "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "protocolPort": 0, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "updatedAt": "2024-01-01T12:00:00Z"}

Create a pool memberProduction

POST
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member

Adds a backend server to the pool at a given address and port, with an optional weight and health-check override.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Request body (required)

targetSpec
required
MemberTargetSpec

Desired target specification for the member to create

Response

200Membersuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the member

currentState
read-only
MemberCurrentState

Current state of the member

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the member

id
read-only
stringuuid

Unique identifier of the member

resourceStatus
read-only
ResourceStatusEnum

Member readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
MemberTargetSpec

Last target specification of the member

updatedAt
read-only
stringdate-time

Last update date of the member

400objectError 400 response
404objectError 404 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "operatingStatus": "DEGRADED", "protocolPort": 0, "provisioningStatus": "ACTIVE", "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "protocolPort": 0, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a pool memberProduction

DELETE
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId}

Deletes the pool member.

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

memberId
required
stringuuid

Member ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Response

200Membersuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the member

currentState
read-only
MemberCurrentState

Current state of the member

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the member

id
read-only
stringuuid

Unique identifier of the member

resourceStatus
read-only
ResourceStatusEnum

Member readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
MemberTargetSpec

Last target specification of the member

updatedAt
read-only
stringdate-time

Last update date of the member

404objectError 404 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, memberId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "operatingStatus": "DEGRADED", "protocolPort": 0, "provisioningStatus": "ACTIVE", "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "protocolPort": 0, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a pool memberProduction

PUT
/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId}

Replaces the member's target specification as a whole. The body carries the complete desired state of every field publicCloud.loadbalancer.MemberUpdateTargetSpec exposes — backup, monitor, name and weight — so read the member first and restate every value you want to keep: a field left out of targetSpec is cleared, not carried over from the stored specification.

monitor is replaced as a whole, and so are the fields inside it. Leaving monitor out clears the health-monitoring override, and health monitoring falls back to the member's own address and protocol port. Sending a monitor that omits address or port clears just that one, and the member's own value is used for it.

The create-only fields address, protocolPort and subnet cannot be changed once the member exists. They are deliberately absent from the update model, and sending one is rejected with a 400.

The optional checksum guards against a lost update: when supplied it must match the member's current checksum or the request is rejected with a 409 checksum mismatch. Omitting it skips the check and forces the write (last-write-wins).

Path parameters

loadbalancerId
required
stringuuid

Loadbalancer ID

memberId
required
stringuuid

Member ID

poolId
required
stringuuid

Pool ID

projectId
required
string

Project ID

Request body (required)

checksum
string

Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).

targetSpec
required
MemberUpdateTargetSpec

Desired target specification for the member

Response

200Membersuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the member

currentState
read-only
MemberCurrentState

Current state of the member

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the member

id
read-only
stringuuid

Unique identifier of the member

resourceStatus
read-only
ResourceStatusEnum

Member readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
MemberTargetSpec

Last target specification of the member

updatedAt
read-only
stringdate-time

Last update date of the member

400objectError 400 response
404objectError 404 response
409objectError 409 response

Example uses loadbalancerId = 00000000-0000-0000-0000-000000000000, memberId = 00000000-0000-0000-0000-000000000000, poolId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/loadbalancer/{loadbalancerId}/pool/{poolId}/member/{memberId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "operatingStatus": "DEGRADED", "protocolPort": 0, "provisioningStatus": "ACTIVE", "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "address": "192.0.2.0", "backup": true, "monitor": { "address": "192.0.2.0", "port": 0 }, "name": "string", "protocolPort": 0, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "weight": 0 }, "updatedAt": "2024-01-01T12:00:00Z"}