---
title: "Deploy a cluster"
method: POST
path: "/clusters/{clusterId}/_deploy"
tags: ["Clusters"]
---

# Deploy a cluster

`POST /clusters/{clusterId}/_deploy`

Deploy the cluster to the gateway. Sets lifecycle state to DEPLOYED and increments version.

## Response `200`

Cluster deployed

- 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

- `400` — A Kafka virtual cluster cannot be deployed without at least one backend.
- `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/a2bffc8c2e17/schema)
