Create Kubernetes cluster
Create a managed Kubernetes cluster. Provisioning is asynchronous — the response returns immediately with pending status; the cluster is usable when ready is true (typically 8–12 minutes).
API-created clusters are billed pay-as-you-go per node-hour. Accounts on subscription billing cannot create clusters through the API yet and receive 402 — use the dashboard instead.
Retries are safe with an Idempotency-Key header: a repeated request with the same key returns the cluster created by the first request instead of provisioning a second one.
Headers
Project ID. Required for all mutating operations (create, delete, power actions, resize).
Any unique string (max 128 chars). Reuse the same value when retrying a failed or timed-out request.
Request body
Example request
{
"name": "prod",
"k8s_version_id": 1,
"node_pools": [
{
"name": "default-pool",
"node_count": 3,
"plan_id": 11
}
],
"storage_node_disk_gb": 100
}Response
Cluster accepted for provisioning (status pending)
Example response
{
"cluster": {
"cluster_id": "q7z7zg",
"name": "prod",
"dns_domain": "q7z7zg.k8s.raffusercloud.com",
"api_endpoint": "https://q7z7zg.k8s.raffusercloud.com:6443",
"k8s_version": "v1.33.4+rke2r1",
"private_vip": "10.1.0.254"
}
}