# Topics

A topic is a category or feed name to which records are published. Topics are the way Kafka organizes messages. They act as logical channels for data streams. Topics are split into partitions, making them scalable and allowing parallelism. This tag groups all operations for topics.

## Retrieve all Topics

> This endpoint enables retrieving all topics using\
> pagination and optional filters.<br>

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"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/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"}}}}}}
```

## Create Topic

> Creates a new topic.\
> The full topic needs to be provided to create the object.\
> Optional data will be filled with defaults or left empty.<br>

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"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/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":{"TopicCreate":{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/Topic"}}},"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}}}}},"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"},"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"}}}},"UnsupportedMediaType":{"description":"### Unsupported Media Type\nThe request has an unsupported media type.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnprocessableEntity":{"description":"### Unprocessable Entity\nThe request was well-formed but was unable to be followed due to semantic errors.\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":{"post":{"operationId":"clustersTopicsPost","summary":"Create Topic","tags":["Topics"],"description":"Creates a new topic.\nThe full topic needs to be provided to create the object.\nOptional data will be filled with defaults or left empty.\n","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the cluster."}],"requestBody":{"description":"Topic to create.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicCreate"}}}},"responses":{"201":{"description":"Topic successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicRead"}}}},"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"}}}},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/UnprocessableEntity"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Retrieve Topic

> Returns the topic by ID.

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"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/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":{"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"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\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/{topicId}":{"get":{"operationId":"clustersTopicsFindById","summary":"Retrieve Topic","tags":["Topics"],"description":"Returns the topic by ID.","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the cluster."},{"name":"topicId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the topic."}],"responses":{"200":{"description":"Getting topic was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"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"}}}}}}
```

## Delete Topic

> Deletes the specified topic.

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"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/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"}},"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"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\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"}}}}},"schemas":{"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"}}}}}}}},"paths":{"/clusters/{clusterId}/topics/{topicId}":{"delete":{"operationId":"clustersTopicsDelete","summary":"Delete Topic","tags":["Topics"],"description":"Deletes the specified topic.","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the cluster."},{"name":"topicId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the topic."}],"responses":{"202":{"description":"Deleting topic was successful."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"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"}}}}}}
```
