Skip to content

Create cluster

POST
/tenants/{tenant}/clusters

Create a new managed Kubernetes cluster. The cluster will be provisioned asynchronously — poll the GET endpoint and check status.phase until it reaches “Running”.

Cluster types:

  • shared: Cost-effective, runs on shared infrastructure (vCluster)
  • dedicated: Isolated compute nodes for production workloads

Resource fields (cpu, memory, storage) use Kubernetes quantity format (e.g., “4”, “500m”, “16Gi”).

tenant
required
string

Tenant name

Cluster configuration

object
alerts

Alert configuration (free-form object)

object
key
additional properties
displayName

Human-readable display name

string
Example
Production Cluster
name

Cluster name (DNS-safe, 2-63 characters)

string
Example
production
resources

Resource allocations using Kubernetes quantity format

object
cpu
string
Example
4
memory
string
Example
16Gi
storage
string
Example
100Gi
type

Cluster type: shared (vCluster) or dedicated (isolated nodes)

string
Allowed values: shared dedicated
Example
dedicated
version

Kubernetes version (optional, defaults to latest stable)

string
Example
1.32

Cluster created

object
alerts
object
key
additional properties
createdAt
string
Example
2026-02-01T14:00:00Z
displayName
string
Example
Production Cluster
name
string
Example
production
resourceVersion
string
Example
294810
resources
object
cpu
string
Example
4
memory
string
Example
16Gi
storage
string
Example
100Gi
status
object
conditions
Array<object>
object
key
additional properties
endpoint
string
Example
https://production.acme.kupe.cloud
kubernetesVersion
string
Example
v1.32.3
metrics
object
key
additional properties
phase
string
Example
Running
type
string
Example
dedicated
version
string
Example
1.32
ETag
string

Resource version

Validation error

object
error
string

Missing or invalid authentication

object
error
string

Admin access required

object
error
string

Cluster name already exists

object
error
string

Rate limit exceeded

object
error
string