---
title: "PUT /public/console/v2/kafka-cluster"
method: PUT
path: "/public/console/v2/kafka-cluster"
tags: ["cli_kafka-cluster_console_v2_2"]
---

# PUT /public/console/v2/kafka-cluster

`PUT /public/console/v2/kafka-cluster`

## Request

- Base URL: `https://developers.conduktor.io` (the document declares no server; this is the origin it was published from)
- URL: `https://developers.conduktor.io/public/console/v2/kafka-cluster`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/conduktor/apis/conduktor-console-api/docs/public/console/v2/kafka-cluster/put.ts> (a function with typed inputs; its response is checked against the schema)

Create or update a KafkaCluster

## Query parameters

- `dryMode` boolean

## Request body

- KafkaClusterResourceV2
  - `apiVersion` string, required
  - `kind` 'KafkaCluster', required
  - `metadata` KafkaClusterMetadata, required
    - `name` string, required
    - `labels` MapLabelKeyString
  - `spec` KafkaClusterSpec, required
    - `displayName` string, required
    - `bootstrapServers` string, required
    - `properties` MapString
    - `color` string
    - `icon` string
    - `schemaRegistry` union
      - ConfluentLike
        - `url` string, required
        - `security` union, required
          - BasicAuth
            - `username` string, required
            - `password` string, required
            - `type` 'BasicAuth', required
          - BearerToken
            - `token` string, required
            - `type` 'BearerToken', required
          - NoSecurity
            - `type` 'NoSecurity', required
          - SSLAuth
            - `key` string, required
            - `certificateChain` string, required
            - `type` 'SSLAuth', required
        - `properties` string
        - `ignoreUntrustedCertificate` boolean, required
        - `schemaRegistryProxyClusterName` string
        - `schemaRegistryProxyId` string
        - `type` 'ConfluentLike', required
      - Glue
        - `registryName` string
        - `region` string, required
        - `security` union, required
          - Credentials
            - `accessKeyId` string, required
            - `secretKey` string, required
            - `type` 'Credentials', required
          - FromContext
            - `profile` string
            - `type` 'FromContext', required
          - FromRole
            - `role` string, required
            - `type` 'FromRole', required
          - IAMAnywhere
            - `trustAnchorArn` string, required
            - `profileArn` string, required
            - `roleArn` string, required
            - `certificate` string, required
            - `privateKey` string, required
            - `type` 'IAMAnywhere', required
        - `type` 'Glue', required
    - `ignoreUntrustedCertificate` boolean
    - `kafkaFlavor` union
      - Aiven
        - `apiToken` string, required
        - `project` string, required
        - `serviceName` string, required
        - `type` 'Aiven', required
      - Confluent
        - `key` string, required
        - `secret` string, required
        - `confluentEnvironmentId` string, required
        - `confluentClusterId` string, required
        - `organizationId` string
        - `schemaRegistryId` string
        - `enableRbacRoleBindings` boolean
        - `type` 'Confluent', required
      - ConfluentPlatform
        - `kafkaClusterId` string, required
        - `mdsUrl` string
        - `ldapUsername` string
        - `ldapPassword` string
        - `mtlsClientCertificateId` string
        - `mtlsClientKeyId` string
        - `mtlsCaCertificateIds` string[]
        - `schemaRegistryClusterId` string
        - `enableRbacRoleBindings` boolean
        - `ignoreUntrustedCertificate` boolean
        - `type` 'ConfluentPlatform', required
      - Gateway
        - `url` string, required
        - `user` string, required
        - `password` string, required
        - `virtualCluster` string, required
        - `ignoreUntrustedCertificate` boolean
        - `type` 'Gateway', required
    - `policiesRef` string[]

## Response `200`

- KafkaClusterApplyResultV2
  - `resource` KafkaClusterResourceV2, required
    - `apiVersion` string, required
    - `kind` 'KafkaCluster', required
    - `metadata` KafkaClusterMetadata, required
      - `name` string, required
      - `labels` MapLabelKeyString
    - `spec` KafkaClusterSpec, required
      - `displayName` string, required
      - `bootstrapServers` string, required
      - `properties` MapString
      - `color` string
      - `icon` string
      - `schemaRegistry` union
        - ConfluentLike
          - `url` string, required
          - `security` union, required
            - BasicAuth
              - …
            - BearerToken
              - …
            - NoSecurity
              - …
            - SSLAuth
              - …
          - `properties` string
          - `ignoreUntrustedCertificate` boolean, required
          - `schemaRegistryProxyClusterName` string
          - `schemaRegistryProxyId` string
          - `type` 'ConfluentLike', required
        - Glue
          - `registryName` string
          - `region` string, required
          - `security` union, required
            - Credentials
              - …
            - FromContext
              - …
            - FromRole
              - …
            - IAMAnywhere
              - …
          - `type` 'Glue', required
      - `ignoreUntrustedCertificate` boolean
      - `kafkaFlavor` union
        - Aiven
          - `apiToken` string, required
          - `project` string, required
          - `serviceName` string, required
          - `type` 'Aiven', required
        - Confluent
          - `key` string, required
          - `secret` string, required
          - `confluentEnvironmentId` string, required
          - `confluentClusterId` string, required
          - `organizationId` string
          - `schemaRegistryId` string
          - `enableRbacRoleBindings` boolean
          - `type` 'Confluent', required
        - ConfluentPlatform
          - `kafkaClusterId` string, required
          - `mdsUrl` string
          - `ldapUsername` string
          - `ldapPassword` string
          - `mtlsClientCertificateId` string
          - `mtlsClientKeyId` string
          - `mtlsCaCertificateIds` string[]
          - `schemaRegistryClusterId` string
          - `enableRbacRoleBindings` boolean
          - `ignoreUntrustedCertificate` boolean
          - `type` 'ConfluentPlatform', required
        - Gateway
          - `url` string, required
          - `user` string, required
          - `password` string, required
          - `virtualCluster` string, required
          - `ignoreUntrustedCertificate` boolean
          - `type` 'Gateway', required
      - `policiesRef` string[]
  - `upsertResult` 'Created' | 'Updated' | 'NotChanged', required

## Other responses

- `400`: The request is not valid
- `401`: The user is not authenticated
- `403`: The user doesn't have sufficient privilege to do this operation
- `404`: No kafka-cluster with this technical id exists
- `409`: The request does not match one of the business rules
- `500`: An unexpected error occurred in the server

---

[API](https://skmtc.dev/conduktor/apis/conduktor-console-api.md) - [All operations](https://skmtc.dev/conduktor/apis/conduktor-console-api/llms.txt) - [OpenAPI document](https://skmtc.dev/conduktor/apis/conduktor-console-api/revisions/24750c294805?raw)
