For the complete documentation index, see llms.txt. This page is also available as Markdown.

Consumer Groups

Kafka consumer group management

get

Lists consumer-group partition rows across all environments as a flat grid keyed by (environment, consumer_group, topic, partition). Filter with name_contains, state, environment, topic and/or min_lag. Sort any rendered column via sort + order (default: lag desc). Each row carries a data_freshness envelope with last_retrieved_at and stale.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Query parameters
pagination_cursorstringOptional

Cursor for pagination. Pass next_cursor from previous response. Cursors reflect the dataset at the time of the first page request; groups added or removed between pages may appear duplicated or be skipped. Fetch from page 1 again to get a fully consistent view.

limitinteger · min: 1 · max: 999Optional

Maximum number of items to return. Greater than 0, less than 1000.

Default: 25
name_containsstringOptional

Filter rows by consumer-group name substring.

statestring · enumOptional

Filter rows by consumer-group state.

Possible values:
environmentstringOptional

Filter rows to these environments (comma-separated). All environments are included when no value is supplied.

topicstringOptional

Filter rows by topic name (case-insensitive substring match).

min_lagintegerOptional

Filter to partitions whose lag is greater than or equal to this value. Partitions with no known lag (null lag) are excluded by this filter.

sortstring · enumOptional

Column to sort the grid by. Defaults to lag.

Default: lagPossible values:
orderstring · enumOptional

Sort direction. Defaults to desc.

Default: descPossible values:
Responses
200

Happy response.

application/json

Paginated flat grid of consumer-group rows keyed by (environment, consumer_group, topic, partition). Sorting and filtering operate on individual grid cells (e.g. "sort by partition lag desc").

next_cursorstringOptional

Opaque cursor for fetching the next page. Absent if no more results.

get/api/v1/consumer-groups
GET /api/v1/consumer-groups HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "environment": "text",
      "consumer_group": "text",
      "lrn": "text",
      "topic": "text",
      "partition": 1,
      "state": "stable",
      "coordinator": {
        "id": 1,
        "host": "text",
        "port": 1,
        "rack": "text"
      },
      "members_count": 1,
      "consumer_id": "text",
      "current_offset": 1,
      "start_offset": 1,
      "log_end_offset": 1,
      "lag": 1,
      "lag_ms": 1,
      "lag_catch_up_ms": 1,
      "lag_trend": "increasing",
      "leader_epoch": 1,
      "metadata": "text",
      "data_freshness": {
        "last_retrieved_at": "2026-01-01T00:00:00.000Z",
        "stale": true,
        "refresh_interval_seconds": 1
      }
    }
  ],
  "next_cursor": "text"
}
get

Lists consumer groups for a specific environment at (env, group) granularity. Active API for the environment-scoped UI sidebar. Use GET /v1/consumer-groups for the cross-environment flat grid.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Path parameters
env_namestringRequired
Query parameters
pagination_cursorstringOptional

Cursor for pagination. Pass next_cursor from previous response.

limitinteger · min: 1 · max: 999Optional

Maximum number of items to return. Greater than 0, less than 1000.

Default: 25
name_containsstringOptional

Filter consumer groups by name substring.

statestring · enumOptional

Filter consumer groups by state.

Possible values:
topicstringOptional

Filter to consumer groups consuming a topic whose name contains this substring (case-insensitive).

min_lagintegerOptional

Filter to consumer groups whose total lag is greater than or equal to this value. Groups with no known total lag (null lag) are excluded by this filter.

sortstring · enumOptional

Column to sort the list by. Defaults to consumer_group.

Default: consumer_groupPossible values:
orderstring · enumOptional

Sort direction. Defaults to asc.

Default: ascPossible values:
Responses
200

Happy response.

application/json

Paginated list of consumer groups at (env, group) granularity, using cursor-based pagination. Complements ConsumerGroupGrid for environment-scoped sidebar views where per-partition rows are not needed.

next_cursorstringOptional

Opaque cursor for fetching the next page. Absent if no more results.

get/api/v1/consumer-groups/{env_name}
GET /api/v1/consumer-groups/{env_name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "environment": "text",
      "name": "text",
      "lrn": "text",
      "state": "stable",
      "coordinator": {
        "id": 1,
        "host": "text",
        "port": 1,
        "rack": "text"
      },
      "members_count": 1,
      "topics": [
        "text"
      ],
      "lag": {
        "total": 1,
        "min": 1,
        "min_partition": {
          "topic": "text",
          "partition": 1
        },
        "max": 1,
        "max_partition": {
          "topic": "text",
          "partition": 1
        },
        "total_ms": 1,
        "min_ms": 1,
        "max_ms": 1
      },
      "data_freshness": {
        "last_retrieved_at": "2026-01-01T00:00:00.000Z",
        "stale": true,
        "refresh_interval_seconds": 1
      }
    }
  ],
  "next_cursor": "text"
}
get

Retrieves details for a single consumer group.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Path parameters
env_namestringRequired
consumer_group_namestringRequired
Responses
200

Happy response.

application/json

Consumer-group summary at (environment, name) granularity. Used for the environment-scoped list and as the base of ConsumerGroupDetail. For the cross-environment flat grid use ConsumerGroupRow instead.

environmentstringRequired

Environment this consumer group belongs to.

namestringRequired

Consumer group ID.

lrnstringRequired

Lenses Resource Name for client-side RBAC. Format: kafka:consumer-group:{environment}/kafka/{name}.

statestring · enumRequired

Consumer group state. Kafka's consumer group states are collapsed into five values: stable (STABLE); rebalancing (PREPARING_REBALANCE, COMPLETING_REBALANCE, and the consumer-protocol rebalance phases ASSIGNING and RECONCILING); empty (EMPTY); dead (DEAD); and unknown (when the broker reports no state, or the value is not recognised).

Possible values:
members_countintegerRequired

Number of members in the consumer group.

topicsstring[]Required

Topics subscribed by this consumer group.

get/api/v1/consumer-groups/{env_name}/{consumer_group_name}
GET /api/v1/consumer-groups/{env_name}/{consumer_group_name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "environment": "text",
  "name": "text",
  "lrn": "text",
  "state": "stable",
  "coordinator": {
    "id": 1,
    "host": "text",
    "port": 1,
    "rack": "text"
  },
  "members_count": 1,
  "topics": [
    "text"
  ],
  "lag": {
    "total": 1,
    "min": 1,
    "min_partition": {
      "topic": "text",
      "partition": 1
    },
    "max": 1,
    "max_partition": {
      "topic": "text",
      "partition": 1
    },
    "total_ms": 1,
    "min_ms": 1,
    "max_ms": 1
  },
  "data_freshness": {
    "last_retrieved_at": "2026-01-01T00:00:00.000Z",
    "stale": true,
    "refresh_interval_seconds": 1
  },
  "members": [
    {
      "consumer_id": "text",
      "client_id": "text",
      "host": "text",
      "group_instance_id": "text",
      "assignments": [
        {
          "topic": "text",
          "partition": 1
        }
      ]
    }
  ],
  "topic_partitions": [
    {
      "topic": "text",
      "partition": 1,
      "current_offset": 1,
      "start_offset": 1,
      "log_end_offset": 1,
      "lag": 1,
      "lag_ms": 1,
      "lag_catch_up_ms": 1,
      "lag_trend": "increasing",
      "leader_epoch": 1,
      "metadata": "text",
      "consumer_id": "text"
    }
  ]
}
delete

Deletes a consumer group.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Path parameters
env_namestringRequired
consumer_group_namestringRequired
Responses
204

Consumer group deleted successfully.

No content

delete/api/v1/consumer-groups/{env_name}/{consumer_group_name}
DELETE /api/v1/consumer-groups/{env_name}/{consumer_group_name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

put

Sets offsets for a consumer group.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Path parameters
env_namestringRequired
consumer_group_namestringRequired
Body
typestring · enumRequired

Reset strategy for the offsets.

Possible values:
timestampstring · date-timeOptional

Target timestamp. Required when type is timestamp.

Responses
204

Offsets set successfully.

No content

put/api/v1/consumer-groups/{env_name}/{consumer_group_name}/offsets
PUT /api/v1/consumer-groups/{env_name}/{consumer_group_name}/offsets HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 128

{
  "type": "earliest",
  "timestamp": "2026-01-01T00:00:00.000Z",
  "topics": [
    {
      "topic": "text",
      "partitions": [
        {
          "partition": 1,
          "offset": 1
        }
      ]
    }
  ]
}

No content

delete

Deletes committed offsets for a consumer group at group, topic, or topic-partition granularity. Omit topics (or pass an empty array) to delete all committed offsets. The group must be inactive. Irreversible.

Authorizations
AuthorizationstringRequired

The bearer token can be obtained by creating a ServiceAccount.

Path parameters
env_namestringRequired
consumer_group_namestringRequired
Body

Selects which committed offsets to delete. Omit topics or pass an empty array to delete all committed offsets for the group. Each entry may omit partitions to delete every partition the group consumes on that topic, or list partitions for topic-partition scope. The group must be inactive. Irreversible.

Responses
204

Offsets deleted successfully.

No content

delete/api/v1/consumer-groups/{env_name}/{consumer_group_name}/offsets
DELETE /api/v1/consumer-groups/{env_name}/{consumer_group_name}/offsets HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "topics": [
    {
      "topic": "text",
      "partitions": [
        1
      ]
    }
  ]
}

No content

Last updated

Was this helpful?