> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/api-reference/data-analytics/event-streams-for-apache-kafka/topics/retrieve-all-topics.md).

# Retrieve all Topics

This endpoint enables retrieving all topics using pagination and optional filters.

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.3.1"},"tags":[{"name":"Topics","description":"A topic is a category or feed name to which records are\npublished. Topics are the way Kafka organizes messages. They act as logical\nchannels for data streams. Topics are split into partitions, making them\nscalable and allowing parallelism.\nThis tag groups all operations for topics.\n"}],"servers":[{"url":"https://kafka.de-txl.ionos.com","description":"Germany, Berlin"},{"url":"https://kafka.de-fra.ionos.com","description":"Germany, Frankfurt (de/fra, de/fra/1, de/fra/2)"},{"url":"https://kafka.fr-par.ionos.com","description":"France, Paris"},{"url":"https://kafka.es-vit.ionos.com","description":"Spain, Logroño"},{"url":"https://kafka.gb-lhr.ionos.com","description":"United Kingdom, London"},{"url":"https://kafka.gb-bhx.ionos.com","description":"United Kingdom, Worcester"},{"url":"https://kafka.us-las.ionos.com","description":"United States, Las Vegas"},{"url":"https://kafka.us-mci.ionos.com","description":"United States, Lenexa"},{"url":"https://kafka.us-ewr.ionos.com","description":"United States, Newark"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"TopicReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Topic resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Topic resources.","type":"string"},"items":{"description":"The list of Topic resources.","type":"array","items":{"$ref":"#/components/schemas/TopicRead"}}}}]},"TopicRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Topic.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["topic"]},"href":{"description":"The URL of the Topic.","type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"properties":{"$ref":"#/components/schemas/Topic"}}},"ResourceMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"$ref":"#/components/schemas/State"},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"State":{"type":"string","description":"State of the resource. Resource states:\n`AVAILABLE`: There are no pending modification requests for this item.\n`BUSY`: There is at least one modification request pending and all following requests will be queued.\n`DEPLOYING`: The resource is being created.\n`FAILED`: The creation of the resource failed.\n`UPDATING`: The resource is being updated.\n`FAILED_UPDATING`: An update to the resource was not successful.\n`DESTROYING`: A delete command was issued, and the resource is being deleted.\n"},"Topic":{"type":"object","description":"A topic is a category or feed name to which records are\npublished. Topics are the way Kafka organizes messages. They act as logical\nchannels for data streams. Topics are split into partitions, making them\nscalable and allowing parallelism.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the Kafka cluster topic.\nMust be 63 characters or less and must begin and end with an alphanumeric character (`[a-z0-9A-Z]`)\nwith dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.\n","pattern":"^[A-Za-z0-9][-A-Za-z0-9_.]*[A-Za-z0-9]$","minLength":2,"maxLength":63},"replicationFactor":{"type":"integer","description":"The number of replicas of the topic. The replication factor\ndetermines how many copies of the topic are stored on different\nbrokers. The replication factor must be less than or equal to the\nnumber of brokers in the Kafka cluster.\n","minimum":1,"default":3},"numberOfPartitions":{"type":"integer","description":"The number of partitions of the topic. Partitions allow for parallel processing of messages.\n","minimum":1,"default":3},"logRetention":{"type":"object","properties":{"retentionTime":{"type":"integer","description":"This configuration controls the maximum time we will retain a log before we will discard old log\n segments to free up space.\n This represents an SLA on how soon consumers must read their data. If set to -1,\n no time limit is applied.\n","default":604800000},"segmentBytes":{"type":"integer","description":"This configuration controls the segment file size for the log. Retention and cleaning is always done\na file at a time so a larger segment size means fewer files but less granular control over retention.\n","default":1073741824}}}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/clusters/{clusterId}/topics":{"get":{"operationId":"clustersTopicsGet","summary":"Retrieve all Topics","description":"This endpoint enables retrieving all topics using\npagination and optional filters.\n","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the cluster."}],"tags":["Topics"],"responses":{"200":{"description":"Returned all requested topics successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"409":{"description":"### Conflict\nThe request could not be completed due to a conflict with the current state of the resource.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/api-reference/data-analytics/event-streams-for-apache-kafka/topics/retrieve-all-topics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
