Apache Kafka Provisioning V2

List compatible node sizes for Kafka and any specified addon applications.

SecurityBasic Authentication
Request
query Parameters
kafkaRestProxyRequired
boolean

Specifies whether node sizes are also compatible with Kafka Rest Proxy.

kafkaSchemaRegistryRequired
boolean

Specifies whether node sizes are also compatible with Kafka Schema Registry.

karapaceRestProxyRequired
boolean

Specifies whether node sizes are also compatible with Karapace Rest Proxy.

karapaceSchemaRegistryRequired
boolean

Specifies whether node sizes are also compatible with Karapace Schema Registry.

Responses
200

Successfully retrieved compatible node sizes for Kafka.

get/cluster-management/v2/data-sources/applications/kafka/compatible-node-sizes/v2/
Request samples
Response samples
application/json
[
  • {
    }
]

List all versions of applications compatible with a Kafka version.

SecurityBasic Authentication
Request
path Parameters
version
required
string[0-9]+\.[0-9]+\.[0-9]+

A Kafka version.

Responses
200

Successfully retrieved versions of applications compatible with a Kafka version.

get/cluster-management/v2/data-sources/applications/kafka/compatible-versions/v2/{version}
Request samples
Response samples
application/json
[
  • {
    }
]

List all Kafka applications and versions.

SecurityBasic Authentication
Responses
200

Successfully retrieved applications and versions for Kafka.

get/cluster-management/v2/data-sources/applications/kafka/versions/v2/
Request samples
Response samples
application/json
[
  • {
    }
]

Download Kafka cluster X.509 Certificate Authority certificates

Kafka cluster certificates are returned as a .zip file. The file contains an X.509 cluster Certificate Authority certificate in JKS file, an X.509 cluster Certificate Authority certificate in PEM-encoded (ASCII) format, and an X.509 cluster Certificate Authority certificate in DER-encoded (binary) format.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string

ID of the cluster

Responses
200

Successfully create the Kafka cluster's certificate

get/cluster-management/v2/operations/applications/kafka/clusters/v2/{clusterId}/certificate/v2
Request samples

Create a Kafka cluster.

SecurityBasic Authentication
Request
Request Body schema: application/json
required
clientBrokerAuthWithMtls
boolean

Enables Client ⇄ Broker Authentication with mTLS.

defaultNumberOfPartitions
required
integer

Default number of partitions to use when created new topics.

description
string

A description of the cluster

Array of objects (KafkaKarapaceRestProxyDetailsV2) <= 1 items

Adds the specified version of Kafka Karapace REST Proxy to this Kafka cluster.

autoCreateTopics
required
boolean

Allows topics to be auto created by brokers when messages are published to a non-existent topic

clientToClusterEncryption
required
boolean

Enables Client ⇄ Cluster Encryption.

currentClusterOperationStatus
string (CurrentClusterOperationStatusV2)

Indicates if the cluster is currently performing any restructuring operation such as being created or resized

Enum: "NO_OPERATION" "OPERATION_IN_PROGRESS" "OPERATION_FAILED"
privateNetworkCluster
required
boolean

Creates the cluster with private network only, see Private Network Clusters.

kafkaVersion
required
string[0-9]+\.[0-9]+\.[0-9]+

Version of Kafka to run on the cluster. Available versions:

  • 3.6.1
  • 3.5.1
  • 3.7.1
  • 3.6.2

bundledUseOnly
boolean

Provision this cluster for Bundled Use only.

Array of objects (ResizeSettingsV2) <= 1 items

Settings to determine how resize requests will be performed for the cluster.

slaTier
required
string (SlaTierV2)

SLA Tier of the cluster. Non-production clusters may receive lower priority support and reduced SLAs. Production tier is not available when using Developer class nodes. See SLA Tier for more information.

Enum: "PRODUCTION" "NON_PRODUCTION"
pciComplianceMode
required
boolean

Creates a PCI compliant cluster, see PCI Compliance.

Array of objects (KafkaSchemaRegistryDetailsV2) <= 1 items

Adds the specified version of Kafka Schema Registry to this Kafka cluster.

Array of objects (KafkaDedicatedKraftControllerSettingsV2) <= 1 items

Provision additional dedicated nodes for KRaft Controllers. If this is not provided, some Kafka brokers will be required to act as KRaft controllers.

defaultReplicationFactor
required
integer

Default Replication factor to use for new topic. Also represents the number of racks to use when allocating nodes.

Array of objects (TwoFactorDeleteSettingsV2) <= 1 items
allowDeleteTopics
required
boolean

Allows topics to be deleted via the kafka-topics tool

Array of objects (KafkaKarapaceSchemaRegistryDetailsV2) <= 1 items

Adds the specified version of Kafka Karapace Schema Registry to this Kafka cluster.

Array of objects (KafkaKraftSettingsV2) <= 1 items

Create a collocated KRaft Cluster.

Note that this is the default behaviour for Kafka clusters provisioned using Kafka 3.6.1 and later. Kafka clusters provisioned with earlier Kafka versions will use a collocated Zookeeper cluster instead.

Array of objects (KafkaRestProxyDetailsV2) <= 1 items

Adds the specified version of Kafka REST Proxy to this Kafka cluster.

Array of objects (KafkaTieredStorageV2) <= 1 items

Enable Tiered Storage for Kafka

Array of objects (KafkaCollocatedZookeeperSettingsV2) <= 1 items

Create a Collocated Zookeeper Cluster - use this to create a collocated zookeeper based Kafka cluster for kafka versions >= 3.6.1.

Note that collocated KRaft mode is the default mode for Kafka clusters using versions older than 3.6.1. Kafka 3.6.1 and later will use KRaft instead of Zookeeper unless this is specified.

required
Array of objects (KafkaDataCentreV2) = 1 items

List of data centre settings.

Array of objects (KafkaDedicatedZookeeperSettingsV2) <= 1 items

Provision additional dedicated nodes for Apache Zookeeper to run on. Zookeeper nodes will be co-located with Kafka if this is not provided

name
required
string [ 3 .. 48 ] characters [a-zA-Z0-9][a-zA-Z0-9_-]*

Name of the cluster.

Responses
202

Kafka Cluster provisioning requested.

post/cluster-management/v2/resources/applications/kafka/clusters/v2
Request samples
application/json
{
  • "allowDeleteTopics": true,
  • "autoCreateTopics": true,
  • "clientToClusterEncryption": true,
  • "dataCentres": [
    ],
  • "dedicatedZookeeper": [
    ],
  • "defaultNumberOfPartitions": 3,
  • "defaultReplicationFactor": 3,
  • "kafkaVersion": "[x.y.z]",
  • "name": "MyKafkaCluster",
  • "pciComplianceMode": false,
  • "privateNetworkCluster": false,
  • "slaTier": "PRODUCTION"
}
Response samples
application/json
{
  • "allowDeleteTopics": true,
  • "autoCreateTopics": true,
  • "clientToClusterEncryption": true,
  • "dataCentres": [
    ],
  • "dedicatedZookeeper": [
    ],
  • "defaultNumberOfPartitions": 3,
  • "defaultReplicationFactor": 3,
  • "kafkaVersion": "[x.y.z]",
  • "name": "MyKafkaCluster",
  • "pciComplianceMode": false,
  • "privateNetworkCluster": false,
  • "slaTier": "PRODUCTION"
}

Get Kafka cluster details.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Responses
200

Kafka cluster details retrieved.

get/cluster-management/v2/resources/applications/kafka/clusters/v2/{clusterId}
Request samples
Response samples
application/json
{
  • "allowDeleteTopics": true,
  • "autoCreateTopics": true,
  • "clientToClusterEncryption": true,
  • "dataCentres": [
    ],
  • "dedicatedZookeeper": [
    ],
  • "defaultNumberOfPartitions": 3,
  • "defaultReplicationFactor": 3,
  • "kafkaVersion": "[x.y.z]",
  • "name": "MyKafkaCluster",
  • "pciComplianceMode": false,
  • "privateNetworkCluster": false,
  • "slaTier": "PRODUCTION"
}

Update Kafka Cluster Details

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Request Body schema: application/json
required
Array of objects (KafkaTieredStorageV2) <= 1 items

Enable Tiered Storage for Kafka

required
Array of objects (KafkaDataCentreV2) = 1 items

List of data centre settings.

Array of objects (KafkaDedicatedKraftControllerSettingsUpdateV2) <= 1 items

Control configuration of dedicated Kafka KRaft controllers nodes.

Array of objects (KafkaDedicatedZookeeperSettingsUpdateV2) <= 1 items

Provision additional dedicated nodes for Apache Zookeeper to run on. Zookeeper nodes will be co-located with Kafka if this is not provided

description
string

A description of the cluster

Array of objects (TwoFactorDeleteSettingsV2) <= 1 items
Array of objects (ResizeSettingsV2) <= 1 items

Settings to determine how resize requests will be performed for the cluster.

Responses
202

Kafka cluster update request accepted.

404

Kafka cluster not found

put/cluster-management/v2/resources/applications/kafka/clusters/v2/{clusterId}
Request samples
application/json
{
  • "tieredStorage": "",
  • "dataCentres": [
    ],
  • "dedicatedKraftController": [
    ],
  • "dedicatedZookeeper": [
    ],
  • "description": "Cluster managed by the integration team.",
  • "twoFactorDelete": [
    ],
  • "resizeSettings": [
    ]
}
Response samples
application/json
{
  • "allowDeleteTopics": true,
  • "autoCreateTopics": true,
  • "clientToClusterEncryption": true,
  • "dataCentres": [
    ],
  • "dedicatedZookeeper": [
    ],
  • "defaultNumberOfPartitions": 3,
  • "defaultReplicationFactor": 3,
  • "kafkaVersion": "[x.y.z]",
  • "name": "MyKafkaCluster",
  • "pciComplianceMode": false,
  • "privateNetworkCluster": false,
  • "slaTier": "PRODUCTION"
}

Delete cluster

Delete an active cluster.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Responses
204

Cluster delete requested.

delete/cluster-management/v2/resources/applications/kafka/clusters/v2/{clusterId}
Request samples