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

# Create a test cluster.

`POST /cluster`

Required RBAC Policy: kots/cluster/create

## Query parameters

- `DryRun` boolean

## Request body

- CreateClusterParametersBody
  - `additional_node_groups` CreateNodeGroupParameters[]
    - `disk_gib` integer
    - `instance_type` string
    - `max_node_count` integer
    - `min_node_count` integer
    - `name` string
    - `node_count` integer
  - `default_node_group` CreateNodeGroupParameters
    - `disk_gib` integer
    - `instance_type` string
    - `max_node_count` integer
    - `min_node_count` integer
    - `name` string
    - `node_count` integer
  - `disk_gib` integer
  - `instance_type` string — following params are deprecated but remain to support cli versions <= 0.72.0 this handler will construct everything into DefaultNodeGroup and AdditionalNodeGroups in the Bind method
  - `ip_family` string
  - `kubernetes_distribution` string
  - `kubernetes_version` string
  - `license_id` string
  - `max_node_count` integer
  - `min_node_count` integer
  - `name` string
  - `node_count` integer
  - `node_groups` CreateNodeGroupParameters[]
    - `disk_gib` integer
    - `instance_type` string
    - `max_node_count` integer
    - `min_node_count` integer
    - `name` string
    - `node_count` integer
  - `tags` Tag[]
    - `key` string
    - `value` string
  - `ttl` string

## Response `200`

CreateClusterDryRunResponse contains the response to a dry run of creating a cluster

- object
  - `error` CreateClusterError
    - `maxAKS` integer
    - `maxDiskGiB` integer
    - `maxEKS` integer
    - `maxGKE` integer
    - `maxMemoryGiB` integer
    - `maxOKE` integer
    - `maxVCPUs` integer
    - `message` string
    - `validationError` ValidationError
      - `errors` string[]
      - `supported_distributions` SupportedDistributionAndVersions[]
        - `instance_types` string[]
        - `nodes_max` integer
        - `short_name` string
        - `status` ClusterDistributionStatus
          - `enabled` boolean
          - `status` string
          - `status_message` string
        - `version_details` SupportedVersion[]
          - `nodes_max` integer
          - `version` string
        - `versions` string[]
  - `total_cost` integer
  - `ttl` string

## Other responses

- `201` — CreateClusterResponse contains the response to create a cluster
- `400` — CreateClusterErrorResponse contains error information
- `401` — Return if the caller is not authorized
- `403` — Returned if the caller does not have the needed permission
- `404` — Returned on resource not found

---

[API](https://skmtc.net/replicated/apis/vendor-api-v3-2.md) · [All operations](https://skmtc.net/replicated/apis/vendor-api-v3-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/replicated/vendor-api-v3-2/versions/6fcf9e54aba4/schema)
