---
title: "PUT /public/console/v2/cluster/{cluster}/ksqldb"
method: PUT
path: "/public/console/v2/cluster/{cluster}/ksqldb"
tags: ["cli_ksql-d-b-cluster_console_v2_4"]
---

# PUT /public/console/v2/cluster/{cluster}/ksqldb

`PUT /public/console/v2/cluster/{cluster}/ksqldb`

## 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/cluster/{cluster}/ksqldb`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/conduktor/apis/conduktor-console-api/docs/public/console/v2/cluster/:cluster/ksqldb/put.ts> (a function with typed inputs; its response is checked against the schema)

Create or update a KsqlDBCluster

## Path parameters

- `cluster` string, required

## Query parameters

- `dryMode` boolean

## Request body

- KsqlDBClusterResourceV2
  - `apiVersion` string, required
  - `kind` 'KsqlDBCluster', required
  - `metadata` KsqlDBMetadata, required
    - `name` string, required
    - `cluster` string, required
  - `spec` KsqlDBSpec, required
    - `displayName` string, required
    - `url` string, required
    - `headers` MapString
    - `ignoreUntrustedCertificate` boolean
    - `security` union
      - BasicAuth2
        - `username` string, required
        - `password` string, required
        - `type` 'BasicAuth', required
      - BearerToken2
        - `token` string, required
        - `type` 'BearerToken', required
      - NoSecurity1
        - `type` 'NoSecurity', required
      - SSLAuth2
        - `key` string, required
        - `certificateChain` string, required
        - `type` 'SSLAuth', required

## Response `200`

- KsqlDBClusterApplyResultV2
  - `resource` KsqlDBClusterResourceV2, required
    - `apiVersion` string, required
    - `kind` 'KsqlDBCluster', required
    - `metadata` KsqlDBMetadata, required
      - `name` string, required
      - `cluster` string, required
    - `spec` KsqlDBSpec, required
      - `displayName` string, required
      - `url` string, required
      - `headers` MapString
      - `ignoreUntrustedCertificate` boolean
      - `security` union
        - BasicAuth2
          - `username` string, required
          - `password` string, required
          - `type` 'BasicAuth', required
        - BearerToken2
          - `token` string, required
          - `type` 'BearerToken', required
        - NoSecurity1
          - `type` 'NoSecurity', required
        - SSLAuth2
          - `key` string, required
          - `certificateChain` string, required
          - `type` 'SSLAuth', required
  - `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 ksql-d-b-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)
