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
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.
bearerTokenAuthorizationBearer <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.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
loadBalancerId*stringpoolId*stringIdempotency-Key?stringOptional; 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.
uuidapplication/json- 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?integerProbe interval in seconds.
timeout?integerProbe timeout in seconds.
maxRetries?integerurlPath?|Only for HTTP/HTTPS monitor types.
expectedCodes?|Only for HTTP/HTTPS monitor types.
Update accepted; the merged monitor is returned.
application/json- response
Health monitor attached to a load-balancer pool.
id*stringtype*HealthMonitorTypeHealth monitor probe type.
"HTTP""HTTPS""TCP""PING"delay*integerProbe interval in seconds.
timeout*integerProbe timeout in seconds.
maxRetries*integerhttpMethod*string|nullurlPath*string|nullexpectedCodes*|Expected HTTP status codes, e.g. "200".
operating*LbOperatingOperating (health) state of a load balancer or one of its sub-resources.
"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"}