GetUpgradeStatus Added in v26.2

POST /redpanda.core.admin.v2.FeaturesService/GetUpgradeStatus

Reports observability for the upgrade-finalization lifecycle: the cluster's active logical version, the logical version each member reports (i.e. what its binary supports), whether the cluster is eligible to finalize, and the active version that a FinalizeUpgrade would produce. Read-only; intended to be polled before and after FinalizeUpgrade.

The response reflects the controller leader's view; the request is transparently redirected there.

Headers

  • Connect-Protocol-Version number Required

    Define the version of the Connect protocol

    Value is 1.

  • Connect-Timeout-Ms number

    Define the timeout, in ms

application/json

Body Required

object object

GetUpgradeStatusRequest takes no parameters.

Additional properties are NOT allowed.

Responses

  • 200 application/json

    Success

    Hide response attributes Show response attributes object
    • activeVersion integer | string

      The cluster's current active logical version. This is also the downgrade floor: the cluster can still roll back to a binary that supports this version. When state is FINALIZATION_STATE_FINALIZED this equals version_after_finalization (no downgrade possible).

    • autoFinalizationEnabled boolean

      Whether the cluster advances the active version automatically once all members agree (the features_auto_finalization cluster config). When false, an explicit FinalizeUpgrade is required.

    • members array[object]

      Per-member reported version state. Compare logical_version across members to see whether all nodes are on the same version (ready to finalize) or still differ (upgrade in progress).

      Hide members attributes Show members attributes object

      MemberVersion is one cluster member's reported version state, as seen by the controller leader.

      • alive boolean

        Liveness of this member per the controller leader's health monitor.

      • logicalVersion integer | string

        Latest logical version this member reports, i.e. the highest version its binary supports. Meaningful only when version_known is true.

      • nodeId integer(int32)

        Broker / node id.

      • releaseVersion string

        Human-readable Redpanda release version (e.g. "v25.2.1") reported by this member, when known. Distinct from logical_version: multiple releases can share one logical version.

      • versionKnown boolean

        False when the controller leader has not yet received a version report for this member (e.g. freshly added, or restarting).

    • state string

      High-level lifecycle state derived from the per-member versions below.

      Values are FINALIZATION_STATE_UNSPECIFIED, FINALIZATION_STATE_FINALIZED, FINALIZATION_STATE_READY_TO_FINALIZE, or FINALIZATION_STATE_UPGRADE_IN_PROGRESS.

    • versionAfterFinalization integer | string

      The active version that a FinalizeUpgrade would produce right now. Greater than active_version only when state is FINALIZATION_STATE_READY_TO_FINALIZE; otherwise equal to active_version (finalizing would be a no-op).

  • default application/json

    Error

    Hide response attributes Show response attributes object
    • code string

      The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

      Values are canceled, unknown, invalid_argument, deadline_exceeded, not_found, already_exists, permission_denied, resource_exhausted, failed_precondition, aborted, out_of_range, unimplemented, internal, unavailable, data_loss, or unauthenticated.

    • details array[object]

      A list of messages that carry the error details. There is no limit on the number of messages.

      Hide details attributes Show details attributes object

      Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.

      • debug object

        Detailed error information.

        Additional properties are allowed.

      • type string

        A URL that acts as a globally unique identifier for the type of the serialized message. For example: type.googleapis.com/google.rpc.ErrorInfo. This is used to determine the schema of the data in the value field and is the discriminator for the debug field.

      • value string(binary)

        The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the type field.

    • message string

      A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

POST /redpanda.core.admin.v2.FeaturesService/GetUpgradeStatus
curl \
 --request POST 'http://localhost:9644/redpanda.core.admin.v2.FeaturesService/GetUpgradeStatus' \
 --header "Content-Type: application/json" \
 --header "Connect-Protocol-Version: 1" \
 --header "Connect-Timeout-Ms: 42.0"
Request examples
# Headers
Connect-Protocol-Version: 1
Connect-Timeout-Ms: 42.0

# Payload
{}
Response examples (200)
{
  "activeVersion": 42,
  "autoFinalizationEnabled": true,
  "members": [
    {
      "alive": true,
      "logicalVersion": 42,
      "nodeId": 42,
      "releaseVersion": "string",
      "versionKnown": true
    }
  ],
  "state": "FINALIZATION_STATE_UNSPECIFIED",
  "versionAfterFinalization": 42
}
Response examples (default)
{
  "code": "not_found",
  "details": [
    {
      "debug": {},
      "type": "string",
      "value": "@file"
    }
  ],
  "message": "string"
}

Documentation preview

will expire on August 04 at 05:39

This is a preview of your version @2026-07-28.