---
title: "Create Cluster"
method: POST
path: "/v4/organizations/{organizationId}/projects/{projectId}/clusters"
tags: ["Clusters"]
---

# Create Cluster

`POST /v4/organizations/{organizationId}/projects/{projectId}/clusters`

## Request

- Base URL: `https://cloudapi.cloud.couchbase.com`
- URL: `https://cloudapi.cloud.couchbase.com/v4/organizations/{organizationId}/projects/{projectId}/clusters`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/couchbase/apis/couchbase-capella-management-api/docs/v4/organizations/:organizationId/projects/:projectId/clusters/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new Couchbase Capella provisioned cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:
- Organization Owner
- Project Owner
- Project Manager

To learn more, see [Organization, Project, and Database Access Overview](https://docs.couchbase.com/cloud/organizations/organization-projects-overview.html).

## Request body

- CreateClusterRequest
  - `name` string, required: Name of the cluster (up to 256 characters).
  - `description` string: Description of the cluster (up to 1024 characters).
  - `configurationType` 'singleNode' | 'multiNode': - Multi-node databases are best for deployments that require high availability. If your app requires high performance and high availability, choose the Multi-node option. - Single-node databases have resource limitations that make them a good choice for learning, prototyping, and non-production uses. They have limited availability. - Single-node databases should contain only 1 node and 1 Service Group. Adding number of nodes or service groups > 1 is not allowed for such databases. - By default the configurationType is multiNode.
  - `cloudProvider` CloudProvider, required: The cloud provider where the cluster will be hosted. For information about providers and supported regions, see: - [Amazon Web Services](https://docs.couchbase.com/cloud/reference/aws.html) - [Google Cloud Platform](https://docs.couchbase.com/cloud/reference/gcp.html) - [Microsoft Azure](https://docs.couchbase.com/cloud/reference/azure.html)
    - `type` 'aws' | 'gcp' | 'azure', required: Cloud provider type. Note: For singleNode cluster, only AWS type cloud provider is allowed. 1. `aws`: Amazon Web Services 2. `gcp`: Google Cloud Platform 3. `azure`: Microsoft Azure
    - `region` string, required: Cloud provider region, for example `us-west-2`.
    - `cidr` string: CIDR block for Cloud Provider.
  - `couchbaseServer` CouchbaseServer
    - `version` string: Version of the Couchbase Server to be installed in the cluster. Refer to documentation [here](https://docs.couchbase.com/cloud/clusters/upgrade-database.html#server-version-maintenance-support) for list of supported versions. The latest Couchbase Server version will be deployed by default.
  - `serviceGroups` ServiceGroup[], required: The couchbase service groups to be run. - The set of nodes that share the same disk, number of nodes and services. - At least one service group must contain the data service.
    - `node` Node
      - `compute` Compute, required: Following are the supported compute combinations for CPU and RAM for different cloud providers. To learn more, see [Amazon Web Services](https://docs.couchbase.com/cloud/reference/aws.html).
        - `cpu` integer, required: CPU units (cores).
        - `ram` integer, required: RAM units (GB).
      - `disk` union, required
        - DiskAWS
          - `type` 'gp3' | 'io2', required: Type of disk. Please choose from the given list for AWS cloud provider.
          - `storage` integer, required: Storage in GB. See documentation for supported storage.
          - `iops` integer, required: Please refer to documentation for supported IOPS.
        - DiskAzure
          - `type` 'P6' | 'P10' | 'P15' | 'P20' | 'P30' | 'P40' | 'P50' | 'P60' | 'Ultra', required: Type of disk. Please choose from the given list for Azure cloud provider.
          - `storage` 64 | 128 | 256 | 512 | 1024 | 2048 | 3072 | 4096 | 5120 | 6144 | 7168 | 8192 | 9216 | 10240 | 11264 | 12288 | 13312 | 14336 | 15360: Storage in GB. Only required for Ultra Disk types. Not used in other storage types.
          - `iops` integer: Only required for Ultra Disk types. Not used in other storage types. See [IOPS Defaults](https://docs.couchbase.com/cloud/clusters/scale-database.html#IOPS-Defaults) for a list of supported IOPS values.
          - `autoExpansion` boolean: Determine if disk storage should automatically expand. Defaults to "true" if not specified.
        - DiskGCP
          - `type` 'pd-ssd', required: Type of disk. Please choose from the given list for GCP cloud provider.
          - `storage` integer, required: Storage in GB. Please refer to documentation for supported storage.
    - `numOfNodes` integer: Number of nodes. The minimum number of nodes for the cluster can be 3 and maximum can be 27 nodes. - Additional service groups can have 2 nodes minimum and 24 nodes maximum. - SingleNode cluster can have only 1 node.
    - `services` Service[]: The couchbase service to run on the node. The allowed services for singleNode cluster are one or all of - data, index, query and search.
  - `availability` Availability, required
    - `type` 'single' | 'multi', required: Availability zone type, either 'single' or 'multi'. Availability zone type allowed for singleNode cluster is only 'single'.
  - `support` Support, required
    - `plan` 'basic' | 'developer pro' | 'enterprise', required: Plan type, either 'Basic', 'Developer Pro', or 'Enterprise'. Plan type allowed for singleNode cluster is either 'Basic', or 'Developer Pro'. In case of 'Basic' plan timezone field value is ignored.
    - `timezone` 'ET' | 'GMT' | 'IST' | 'PT': The standard timezone for the cluster. Should be the TZ identifier.
  - `zones` string[]: Zones is the cloud services provider availability zones for the cluster. Currently Supported only for single AZ clusters so only 1 zone is allowed in list.
  - `cmekId` string, uuid: The ID of the CMEK Key.
  - `enablePrivateDNSResolution` boolean: EnablePrivateDNSResolution signals that the cluster should have hostnames that are hosted in a public DNS zone that resolve to a private DNS address. This exists to support the use case of customers connecting from their own data centers where it is not possible to make use of a cloud service provider DNS zone.

## Response `202`

Successfully created a cluster.

- CreateClusterResponse
  - `id` string, uuid, required: The ID of the cluster created.

## Other responses

- `403`: The client does not have the necessary permissions to access this resource.
- `404`: The requested resource was not found.
- `422`: Request validation error.
- `429`: Returned when the client exceeds the rate limit for the given APIKey.
- `500`: An unexpected error occurred in the server while processing this request.

---

[API](https://skmtc.dev/couchbase/apis/couchbase-capella-management-api.md) - [All operations](https://skmtc.dev/couchbase/apis/couchbase-capella-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/couchbase/apis/couchbase-capella-management-api/revisions/a5e88bcf71cb?raw)
