External Services

Per-member health for a Postgres HA cluster.

Changed on

Reads pg_auto_failover's pgautofailover.node table from the cluster's monitor (TLS, autoctl_node) and joins each member with its pg_stat_replication row from the current primary. Returns one row per data member with role/state, sync state, and replay lag.

Returns 200 with monitor_error set when the monitor is briefly unreachable (UI surfaces it as a banner above the table); the table itself is empty in that case. Returns 400 for non-cluster services.

get/external-services/{id}/cluster-health

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/external-services/{id}/cluster-health
  • Auth: HTTP bearer

Path parameters

idinteger required

External service ID

Response

Per-member cluster health report

checked_atstring required

ISO-8601 wall-clock when the report was generated.

monitor_errorstring nullable

Set when the monitor itself was unreachable. UI shows a banner.

monitor_response_msinteger required

Round-trip to query the monitor (ms).

Example response

{
  "checked_at": "2025-10-12T12:15:47.609192Z",
  "protection": {
    "detail": "Not yet protected: standby postgres-app-ha-2 (catchingup) is still copying or catching up with the primary. The cluster accepts writes, but cannot fail over until a standby reaches secondary"
  }
}

Changes