Networking

Preview — pending review

This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.

Update a pool's health monitor

PATCH
/scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}/monitor

Applies a partial update to the health monitor attached to one backend pool ("Save monitor" in the Backend pools tab): probe delay, timeout, maxRetries, and the HTTP(S)-only urlPath / expectedCodes. Only fields present in the body change. Validation: parent LB, pool and an attached monitor must exist in the scope (404 NOT_FOUND); the LB must not be mid-create/mid-delete (409 CONFLICT); the monitor type cannot be changed on an existing monitor (422 VALIDATION_FAILED — delete and re-attach instead); urlPath / expectedCodes are only valid for the HTTP/HTTPS monitor types (422). Async & state: Asynchronous. Returns 202 with the merged LbHealthMonitor while the parent LB passes through provisioning=PENDING_UPDATE → ACTIVE, emitting resource.updated SSE frames. Errors: 401; 403; 404 unknown LB, pool or monitor; 409 state conflict; 422 invalid or immutable fields; 500 backend failure. Idempotency/Concurrency: Idempotency-Key is optional (recommended); replays return the first outcome.

Authorization

bearerToken
headerAuthorizationBearer <token>

An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

loadBalancerId*string
poolId*string

Header Parameters

Idempotency-Key?string

Optional; recommended for safe retries. When sent, the same key+body within 24h replays the original result and the same key with a different body is 409 CONFLICT; keys are unique per tenant. When an API token or service-account (bearer) caller omits it, the request is applied once with no replay protection (a retry may apply it again). A console session gets one from the edge.

Formatuuid

Request Body

application/json
  1. body

Partial update for a pool's health monitor; every field optional, only those present change. The monitor type is immutable (delete and re-attach to change it).

delay?integer

Probe interval in seconds.

timeout?integer

Probe timeout in seconds.

maxRetries?integer
urlPath?|

Only for HTTP/HTTPS monitor types.

expectedCodes?|

Only for HTTP/HTTPS monitor types.

Response Body

Update accepted; the merged monitor is returned.

application/json
  1. response

Health monitor attached to a load-balancer pool.

id*string
type*HealthMonitorType

Health monitor probe type.

Value in"HTTP""HTTPS""TCP""PING"
delay*integer

Probe interval in seconds.

timeout*integer

Probe timeout in seconds.

maxRetries*integer
httpMethod*string|null
urlPath*string|null
expectedCodes*|

Expected HTTP status codes, e.g. "200".

operating*LbOperating

Operating (health) state of a load balancer or one of its sub-resources.

Value in"ONLINE""DEGRADED""OFFLINE""ERROR""NO_MONITOR"
curl -X PATCH "https://example.com/scopes/string/network/load-balancers/string/pools/string/monitor" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "type": "HTTP",  "delay": 0,  "timeout": 0,  "maxRetries": 0,  "httpMethod": "string",  "urlPath": "string",  "expectedCodes": "string",  "operating": "ONLINE"}