Skip to content

Add typed methods for Load Balancing Analytics Events and Pool Health endpoints #2693

@troymjones

Description

@troymjones

Feature Request

The Python SDK is missing typed methods for two Load Balancing endpoints that are documented in the Cloudflare REST API:

1. Load Balancing Analytics Events

REST endpoint: GET /accounts/{account_id}/load_balancing_analytics/events

Returns per-origin health state change events with timestamps, pool health status, failure reasons, and response codes. This is critical for monitoring when individual origins go unhealthy.

Current workaround:

resp = client.with_raw_response.get(
    f"/accounts/{account_id}/load_balancing_analytics/events",
    cast_to=object,
    options={"params": {"per_page": 200, "page": 1, "since": "...", "until": "..."}}
)
data = resp.json()

Desired:

events = client.load_balancers.analytics.events.list(
    account_id=account_id,
    since="2026-03-18T00:00:00Z",
    until="2026-03-18T23:59:59Z",
)

2. Pool Health Details

REST endpoint: GET /accounts/{account_id}/load_balancers/pools/{pool_id}/health

Returns per-PoP, per-origin health status including response codes, RTT, and failure reasons. Useful for diagnosing which specific origins are failing and from which regions.

Current workaround:

resp = client.with_raw_response.get(
    f"/accounts/{account_id}/load_balancers/pools/{pool_id}/health",
    cast_to=object,
)
data = resp.json()

Desired:

health = client.load_balancers.pools.health.get(
    pool_id=pool_id,
    account_id=account_id,
)

Use Case

We built an origin health monitor that detects when individual load balancer origins are unhealthy while the pool remains healthy (silent degradation / lost redundancy). Both endpoints are essential for this use case and are documented in the Cloudflare API docs, but require falling back to raw HTTP via with_raw_response.get().

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions