---
title: "Create a cluster"
method: POST
path: "/clusters"
tags: ["Clusters"]
---

# Create a cluster

`POST /clusters`

User must have the ENVIRONMENT_CLUSTER[CREATE] permission.

## Request body

- CreateCluster
  - `type` 'KAFKA_CLUSTER_STANDALONE' | 'KAFKA_CLUSTER' | 'KAFKA_VIRTUAL_CLUSTER', required
  - `crossId` string — Portable identifier for cross-environment references. Auto-generated from name if not provided.
  - `name` string, required
  - `description` string
  - `configuration` object, required

## Response `201`

Cluster created

- Cluster
  - `id` string
  - `crossId` string — Portable identifier for cross-environment references. Immutable after creation.
  - `type` 'KAFKA_CLUSTER_STANDALONE' | 'KAFKA_CLUSTER' | 'KAFKA_VIRTUAL_CLUSTER'
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `name` string
  - `description` string
  - `configuration` object
  - `groups` string[]
  - `lifecycleState` 'UNDEPLOYED' | 'DEPLOYED' | 'PENDING' — Current lifecycle state of the cluster.
  - `deployedAt` string, date-time — Last deployment or undeployment timestamp.
  - `version` integer — Deployment version, incremented on each deploy.

## Other responses

- `default` — Generic error response

---

[API](https://skmtc.net/gravitee-io/apis/gravitee-io-apim-management-api-environments.md) · [All operations](https://skmtc.net/gravitee-io/apis/gravitee-io-apim-management-api-environments/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gravitee-io/gravitee-io-apim-management-api-environments/versions/37e8cbe5f769/schema)
