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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions