Consumer Groups
Kafka consumer group management
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.
The bearer token can be obtained by creating a ServiceAccount.
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.
Maximum number of items to return. Greater than 0, less than 1000.
25Filter rows by consumer-group name substring.
Filter rows by consumer-group state.
Filter rows to these environments (comma-separated). All environments are included when no value is supplied.
Filter rows by topic name (case-insensitive substring match).
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.
Column to sort the grid by. Defaults to lag.
lagPossible values: Sort direction. Defaults to desc.
descPossible values: Happy response.
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").
Opaque cursor for fetching the next page. Absent if no more results.
Error object.
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"
}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.
The bearer token can be obtained by creating a ServiceAccount.
Cursor for pagination. Pass next_cursor from previous response.
Maximum number of items to return. Greater than 0, less than 1000.
25Filter consumer groups by name substring.
Filter consumer groups by state.
Filter to consumer groups consuming a topic whose name contains this substring (case-insensitive).
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.
Column to sort the list by. Defaults to consumer_group.
consumer_groupPossible values: Sort direction. Defaults to asc.
ascPossible values: Happy response.
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.
Opaque cursor for fetching the next page. Absent if no more results.
Error object.
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"
}Retrieves details for a single consumer group.
The bearer token can be obtained by creating a ServiceAccount.
Happy response.
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.
Environment this consumer group belongs to.
Consumer group ID.
Lenses Resource Name for client-side RBAC. Format: kafka:consumer-group:{environment}/kafka/{name}.
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).
Number of members in the consumer group.
Topics subscribed by this consumer group.
Error object.
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"
}
]
}Deletes a consumer group.
The bearer token can be obtained by creating a ServiceAccount.
Consumer group deleted successfully.
No content
Error object.
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
Sets offsets for a consumer group.
The bearer token can be obtained by creating a ServiceAccount.
Reset strategy for the offsets.
Target timestamp. Required when type is timestamp.
Offsets set successfully.
No content
Error object.
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
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.
The bearer token can be obtained by creating a ServiceAccount.
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.
Offsets deleted successfully.
No content
Error object.
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?

