GetIcebergStatus Added in v26.2

POST /redpanda.core.admin.v2.IcebergService/GetIcebergStatus

Reports Iceberg catalog reachability and, for every Iceberg topic, the per-partition translated/committed offsets and commit lag. Translation lag (live-log high watermark minus the translated offset) is a client-side join with the Kafka API and is not returned here.

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

  • topicsFilter array[string]

    Names of Iceberg topics to report on. If empty, returns all Iceberg topics known to the coordinator.

Responses

  • 200 application/json

    Success

    Hide response attributes Show response attributes object
    • catalog object

      CatalogHealth reports whether the Iceberg catalog is reachable. On failure, error_code is the iceberg::catalog_errc enum name (e.g. "io_error", "timedout") and error_message is a human-readable diagnostic.

      Additional properties are NOT allowed.

      Hide catalog attributes Show catalog attributes object
      • errorCode string
      • errorMessage string
      • reachable boolean
    • topics array[object]
      Hide topics attributes Show topics attributes object
      • lifecycleState string

        IcebergLifecycleState mirrors the coordinator's per-topic lifecycle. Named distinctly from the internal DatalakeService's LifecycleState because both generate into the proto::admin C++ namespace.

        Values are ICEBERG_LIFECYCLE_STATE_UNSPECIFIED, ICEBERG_LIFECYCLE_STATE_LIVE, ICEBERG_LIFECYCLE_STATE_CLOSED, or ICEBERG_LIFECYCLE_STATE_PURGED.

      • partitions array[object]
        Hide partitions attributes Show partitions attributes object
        • commitLag integer | string

          Number of records written to Parquet but not yet committed to the catalog.

        • lastCommittedOffset integer | string | null

          Last Kafka offset committed to the Iceberg catalog. Unset if nothing has been committed yet.

        • lastTranslatedOffset integer | string | null

          Highest Kafka offset written to Parquet (inclusive). Unset if nothing has been translated yet.

        • partition integer(int32)
      • topic string
  • 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.IcebergService/GetIcebergStatus
curl \
 --request POST 'http://localhost:9644/redpanda.core.admin.v2.IcebergService/GetIcebergStatus' \
 --header "Content-Type: application/json" \
 --header "Connect-Protocol-Version: 1" \
 --header "Connect-Timeout-Ms: 42.0" \
 --data '{"topicsFilter":["string"]}'
Request examples
# Headers
Connect-Protocol-Version: 1
Connect-Timeout-Ms: 42.0

# Payload
{
  "topicsFilter": [
    "string"
  ]
}
Response examples (200)
{
  "catalog": {
    "errorCode": "string",
    "errorMessage": "string",
    "reachable": true
  },
  "topics": [
    {
      "lifecycleState": "ICEBERG_LIFECYCLE_STATE_UNSPECIFIED",
      "partitions": [
        {
          "commitLag": 42,
          "lastCommittedOffset": 42,
          "lastTranslatedOffset": 42,
          "partition": 42
        }
      ],
      "topic": "string"
    }
  ]
}
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.