---
title: "Get Kafka topic list"
method: GET
path: "/project/{project}/service/{service_name}/topic"
tags: ["Service:_Kafka"]
---

# Get Kafka topic list

`GET /project/{project}/service/{service_name}/topic`

## Path parameters

- `project` string, required
- `service_name` string, required

## Response `200`

Response

- ServiceKafkaTopicListResponse — ServiceKafkaTopicListResponse
  - `errors` object[] — List of errors occurred during request processing
    - `message` string, required — Printable error message
    - `more_info` string — URL to the documentation of the error
    - `status` integer, required — HTTP error status code
  - `message` string — Printable result of the request
  - `topics` object[], required — List of Kafka topics
    - `cleanup_policy` string, required — The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.
    - `diskless_enable` boolean — Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.
    - `min_insync_replicas` integer, required — When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.
    - `owner_user_group_id` string, required — The user group that owns this topic
    - `partitions` integer, required — Number of partitions
    - `remote_storage_enable` boolean — Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.
    - `replication` integer, required — Number of replicas
    - `retention_bytes` integer, required — This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.
    - `retention_hours` integer, required — Retention period (hours)
    - `state` 'ACTIVE' | 'CONFIGURING' | 'DELETING', required — Topic state
    - `tags` object[], required — Topic tags
      - `key` string, required — Tag key
      - `value` string, required — Tag value
    - `topic_description` string, required — Topic description
    - `topic_name` string, required — Topic name

---

[API](https://skmtc.net/aiven/apis/aiven-api-documentation.md) · [All operations](https://skmtc.net/aiven/apis/aiven-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aiven/aiven-api-documentation/versions/ecaeabf1da31/schema)
