Create a Kafka Topic

Allows you to create a new Kafka topic within a specified Kafka cluster.

Endpoint

POST /clusters/{clusterId}/topics

The POST /clusters/{clusterId}/topics endpoint creates a new Kafka topic within the specified Kafka cluster (clusterId). The request body must include the name of the topic, the other parameters are optional.

Upon successful creation, the endpoint returns detailed information about the newly created topic, including its ID (id), metadata, and properties. Use this endpoint to dynamically manage Kafka topics within your environment, ensuring efficient data distribution and retention policies.

Use this endpoint to dynamically manage Kafka topics within your environment, ensuring efficient data distribution and retention policies.

Parameters

Path ParametersRequiredTypeDescription

clusterId

Yes

string

The UUID of the Kafka cluster where the topic will be created. Example: /clusters/e69b22a5-8fee-56b1-b6fb-4a07e4205ead/topics

Body ParametersRequiredTypeDescription

metadata

No

object

Optional metadata for the topic.

properties

Yes

object

Properties of the topic to be created.

properties.name

Yes

string

The name of the Kafka topic.

properties.replicationFactor

No

number

The number of replicas for the topic. This determines the fault tolerance.

properties.numberOfPartitions

No

number

The number of partitions for the topic. This affects the parallelism and throughput.

properties.logRetention

No

object

Configuration for log retention policies.

properties.logRetention.retentionTime

No

number

The retention time for logs in milliseconds. Defaults to 604800000 (7 days).

properties.logRetention.segmentBytes

No

number

The maximum size of a log segment in bytes before a new segment is rolled. Defaults to 1073741824 (1 GB).

Request Body

{
  "metadata": {},
  "properties": {
    "name": "my-kafka-cluster-topic",
    "replicationFactor": 3,
    "numberOfPartitions": 3,
    "logRetention": {
      "retentionTime": 604800000,
      "segmentBytes": 1073741824
    }
  }
}

Response

{
  "id": "ae085c4c-3626-5f1d-b4bc-cc53ae8267ce",
  "type": "topic",
  "href": "/clusters/{clusterId}/topics/ae085c4c-3626-5f1d-b4bc-cc53ae8267ce",
  "metadata": {
    "createdDate": "2020-12-10T13:37:50+01:00",
    "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedDate": "2020-12-11T13:37:50+01:00",
    "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
    "state": "AVAILABLE",
    "message": "In progress."
  },
  "properties": {
    "name": "my-kafka-cluster-topic",
    "replicationFactor": 3,
    "numberOfPartitions": 3,
    "logRetention": {
      "retentionTime": 86400000,
      "segmentBytes": 1073741824
    }
  }
}

Last updated