ksqldbcm.v2.Cluster
`Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. It executes SQL statements and queries which under the hood get built into corresponding Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). ## The Clusters Model
Properties
| Name | Type | Description |
|---|---|---|
| api_version | string | APIVersion defines the schema version of this representation of a resource. |
| kind | string | Kind defines the object this REST resource represents. |
| id | string | ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an |
| metadata | object | |
| spec | object | |
| status | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/confluent/main/json-schema/confluent-ksqldbcm-v2-cluster-schema.json",
"title": "ksqldbcm.v2.Cluster",
"description": "`Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint.\nIt executes SQL statements and queries which under the hood get built into corresponding\nKafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters.\n\n\nRelated guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html).\n\n## The Clusters Model\n<SchemaDefinition schemaRef=\"#/components/schemas/ksqldbcm.v2.Cluster\" />\n\n## Quotas and Limits\nThis resource is subject to the following quotas:\n\n| Quota | Description |\n| --- | --- |\n| `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. |",
"x-generated": "2026-10-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/confluent-clusters-ksqldbcm-v2-api-openapi.yml#/components/schemas/ksqldbcm.v2.Cluster",
"type": "object",
"properties": {
"api_version": {
"type": "string",
"enum": [
"ksqldbcm/v2"
],
"description": "APIVersion defines the schema version of this representation of a resource.",
"readOnly": true
},
"kind": {
"type": "string",
"description": "Kind defines the object this REST resource represents.",
"readOnly": true,
"enum": [
"Cluster"
]
},
"id": {
"description": "ID is the \"natural identifier\" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted (\"time\"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace (\"space\").",
"type": "string",
"maxLength": 255,
"readOnly": true
},
"metadata": {
"allOf": [
{
"$ref": "#/$defs/ObjectMeta"
},
{
"properties": {
"self": {},
"resource_name": {}
}
}
]
},
"spec": {
"$ref": "#/$defs/ksqldbcm.v2.ClusterSpec"
},
"status": {
"$ref": "#/$defs/ksqldbcm.v2.ClusterStatus"
}
},
"$defs": {
"EnvScopedObjectReference": {
"type": "object",
"description": "ObjectReference provides information for you to locate the referred object",
"required": [
"id",
"related",
"resource_name"
],
"properties": {
"id": {
"type": "string",
"description": "ID of the referred resource",
"minLength": 1,
"maxLength": 255
},
"environment": {
"type": "string",
"description": "Environment of the referred resource, if env-scoped",
"minLength": 1,
"maxLength": 255
},
"related": {
"type": "string",
"format": "uri",
"description": "API URL for accessing or modifying the referred object",
"minLength": 1,
"readOnly": true
},
"resource_name": {
"type": "string",
"format": "uri",
"description": "CRN reference to the referred resource",
"minLength": 1,
"readOnly": true
}
}
},
"GlobalObjectReference": {
"type": "object",
"description": "ObjectReference provides information for you to locate the referred object",
"required": [
"id",
"related",
"resource_name"
],
"properties": {
"id": {
"type": "string",
"description": "ID of the referred resource",
"minLength": 1,
"maxLength": 255
},
"related": {
"type": "string",
"format": "uri",
"description": "API URL for accessing or modifying the referred object",
"minLength": 1,
"readOnly": true
},
"resource_name": {
"type": "string",
"format": "uri",
"description": "CRN reference to the referred resource",
"minLength": 1,
"readOnly": true
}
}
},
"ObjectMeta": {
"description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
"required": [
"self"
],
"properties": {
"self": {
"description": "Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time",
"type": "string",
"format": "uri",
"readOnly": true
},
"resource_name": {
"description": "Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name",
"type": "string",
"format": "uri",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The date and time at which this object was created. It is represented in RFC3339 format and is in UTC."
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC."
},
"deleted_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC."
}
},
"readOnly": true
},
"TypedGlobalObjectReference": {
"type": "object",
"description": "ObjectReference provides information for you to locate the referred object",
"required": [
"id",
"related",
"resource_name"
],
"properties": {
"id": {
"type": "string",
"description": "ID of the referred resource",
"minLength": 1,
"maxLength": 255
},
"related": {
"type": "string",
"format": "uri",
"description": "API URL for accessing or modifying the referred object",
"minLength": 1,
"readOnly": true
},
"resource_name": {
"type": "string",
"format": "uri",
"description": "CRN reference to the referred resource",
"minLength": 1,
"readOnly": true
},
"api_version": {
"type": "string",
"description": "API group and version of the referred resource",
"minLength": 1,
"readOnly": true
},
"kind": {
"type": "string",
"description": "Kind of the referred resource",
"minLength": 1,
"readOnly": true
}
}
},
"ksqldbcm.v2.ClusterSpec": {
"type": "object",
"description": "The desired state of the Cluster",
"properties": {
"display_name": {
"type": "string",
"description": "The name of the ksqlDB cluster.",
"pattern": "^(?:[0-9A-Za-z\\-])[\\w-]{0,63}$",
"x-immutable": true
},
"use_detailed_processing_log": {
"type": "boolean",
"default": true,
"description": "This flag controls whether you want to include the row data in the processing log topic. Turn it off if you\ndon't want to emit sensitive information to the processing log\n",
"x-immutable": true
},
"csu": {
"type": "integer",
"format": "int32",
"x-extensible-enum": [
1,
2,
4,
8,
12
],
"description": "The number of CSUs (Confluent Streaming Units) in a ksqlDB cluster.",
"x-immutable": false
},
"kafka_cluster": {
"allOf": [
{
"$ref": "#/$defs/EnvScopedObjectReference"
}
],
"description": "The kafka_cluster to which this belongs.",
"x-immutable": true
},
"credential_identity": {
"allOf": [
{
"$ref": "#/$defs/TypedGlobalObjectReference"
}
],
"description": "The credential_identity to which this belongs. The credential_identity can be one of iam.v2.User, iam.v2.ServiceAccount.",
"x-immutable": true
},
"environment": {
"allOf": [
{
"$ref": "#/$defs/GlobalObjectReference"
}
],
"description": "The environment to which this belongs.",
"x-immutable": true
}
},
"x-enable-id": true,
"x-enable-listmeta": true,
"x-enable-objectmeta": true
},
"ksqldbcm.v2.ClusterStatus": {
"type": "object",
"required": [
"phase",
"is_paused",
"storage"
],
"description": "The status of the Cluster",
"properties": {
"http_endpoint": {
"type": "string",
"description": "The dataplane endpoint of the ksqlDB cluster.",
"readOnly": true
},
"phase": {
"type": "string",
"x-extensible-enum": [
"PROVISIONING",
"PROVISIONED",
"FAILED"
],
"description": "Status of the ksqlDB cluster.",
"readOnly": true
},
"is_paused": {
"type": "boolean",
"description": "Tells you if the cluster has been paused",
"readOnly": true
},
"storage": {
"type": "integer",
"format": "int32",
"description": "Amount of storage (in GB) provisioned to this cluster",
"readOnly": true
},
"topic_prefix": {
"type": "string",
"description": "Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use.",
"readOnly": true
}
},
"readOnly": true
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/confluent-ksqldbcm-v2-cluster"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.