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 follow the account's billing mode: pay-as-you-go accounts bill per node-hour; subscription accounts are billed monthly — the API validates the saved payment method, creates the subscription, and charges it automatically (same behavior as VM creation).
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
}
]
}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"
}
}