External Services

Get a single cluster member's current state.

Used by the add-member page to poll the row every second while the background provisioning task walks through its phases. The provisioning_step field advances through inserting_row → provisioning_container → registering_dns → done (or failed with provisioning_error set).

get/external-services/{id}/members/{member_id}

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}/members/{member_id}
  • Auth: HTTP bearer

Path parameters

idinteger required

External service ID

member_idinteger required

Cluster member ID

Response

Cluster member details

compute_ipstring nullable

Container's IP on the temps-overlay multi-host network. Populated by the lifecycle hook (ADR-011 Phase 3); None on single-host clusters where the overlay isn't attached.

container_namestring required
hostnamestring nullable
idinteger required
live_statestring nullable

Live FSM state from the pg_auto_failover monitor (primary, secondary, catchingup, report_lsn, …). None when the monitor is unreachable, the service is not a cluster, or the row is the monitor itself.

The UI must render the role badge from this field, falling back to role only when live_state is null. role is now config-only (monitor or replica); flipping the badge to "primary" when the monitor elects a new one used to require a reconciler that lagged ~5s behind real failovers — and during that window the UI showed two primaries. live_state is read directly from the monitor on every list, so it can never lag.

node_idinteger nullable
ordinalinteger required
portinteger nullable
provisioning_errorstring nullable

Most recent provisioning failure message, when status='failed'. Set by the background task so the UI can show why the new replica didn't come up.

provisioning_stepstring nullable

Last-attempted phase of the async add_cluster_member background task (e.g. validating, provisioning_container, done, failed). None for members not created through that flow — the UI falls back to the status column for those.

rolestring required
statusstring required

Changes

No recorded changes to this operation across all 50 revisions of this API.