Docs Menu
Docs Home
/ /
Atlas CLI
/ / /

atlas api clusters createCluster

On this page

  • Syntax
  • Options
  • Inherited Options
  • Examples

Public Preview: please provide feedback at: Creates one cluster in the specified project.

Clusters contain a group of hosts that maintain the same data set. This resource can create clusters with asymmetrically-sized shards. Each project supports up to 25 database deployments. To use this resource, the requesting Service Account or API Key must have the Project Owner role. This feature is not available for serverless clusters.

Please note that using an instanceSize of M2 or M5 will create a Flex cluster instead. Support for the instanceSize of M2 or M5 will be discontinued in January 2026. We recommend using the createFlexCluster API for such configurations moving forward.

This command is autogenerated and corresponds 1:1 with the Atlas API endpoint https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/createCluster.

For more information and examples, see the referenced API documentation linked above.

Command Syntax
atlas api clusters createCluster [options]
Name
Type
Required
Description

--envelope

envelope

false

Flag that indicates whether Application wraps the response in an envelope JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.

--file

string

false

path to your API request file. Leave empty to use standard input instead - you must provide one or the other, but not both.

--groupId

string

true

Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.

NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.

-h, --help

false

help for createCluster

--output

string

false

preferred api format, can be ["json", go-template] This value defaults to "json".

--output-file

string

false

file to write the api output to. This flag is required when the output of an endpoint is binary (ex: gzip) and the command is not piped (ex: atlas command > out.zip)

--pretty

false

Flag that indicates whether the response body should be in the prettyprint format.

--version

string

false

api version to use when calling the api call [options: "2023-01-01", "2023-02-01", "2024-08-05", "2024-10-23"], defaults to the latest version or the profiles api_version config value if set This value defaults to "2024-10-23".

-w, --watch

false

Flag that indicates whether to watch the command until it completes its execution or the watch times out.

--watchTimeout

int

false

Time in seconds until a watch times out. After a watch times out, the CLI no longer watches the command.

Name
Type
Required
Description

-P, --profile

string

false

Create the file below and save it as payload.json

# Cluster
{
"clusterType": "SHARDED",
"name": "myCluster",
"replicationSpecs": [
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": false
},
"diskGB": {
"enabled": true
}
},
"analyticsSpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 0
},
"autoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": false
},
"diskGB": {
"enabled": true
}
},
"electableSpecs": {
"diskSizeGB": 10,
"instanceSize": "M50",
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"readOnlySpecs": {
"diskSizeGB": 10,
"instanceSize": "M50",
"nodeCount": 0
},
"regionName": "US_EAST_1"
}
],
"zoneName": "Zone 1"
},
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": false
},
"diskGB": {
"enabled": true
}
},
"analyticsSpecs": {
"diskSizeGB": 10,
"instanceSize": "M30",
"nodeCount": 0
},
"autoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": false
},
"diskGB": {
"enabled": true
}
},
"electableSpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"readOnlySpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 0
},
"regionName": "US_EAST_1"
}
],
"zoneName": "Zone 1"
}
]
}

After creating payload.json, run the command below in the same directory.

# Cluster
atlas api clusters createCluster --version 2024-08-05 --file payload.json --groupId 32b6e34b3d91647abb20e7b8

Create the file below and save it as payload.json

# Cluster
{
"clusterType": "SHARDED",
"name": "myCluster",
"replicationSpecs": [
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": true,
"maxInstanceSize": "M40",
"minInstanceSize": "M30",
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"analyticsSpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 0
},
"autoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": true,
"maxInstanceSize": "M60",
"minInstanceSize": "M30",
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"electableSpecs": {
"diskSizeGB": 10,
"instanceSize": "M60",
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"readOnlySpecs": {
"diskSizeGB": 10,
"instanceSize": "M60",
"nodeCount": 0
},
"regionName": "US_EAST_1"
}
],
"zoneName": "Zone 1"
},
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": true,
"maxInstanceSize": "M40",
"minInstanceSize": "M30",
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"analyticsSpecs": {
"diskSizeGB": 10,
"instanceSize": "M30",
"nodeCount": 0
},
"autoScaling": {
"autoIndexing": {
"enabled": false
},
"compute": {
"enabled": true,
"maxInstanceSize": "M60",
"minInstanceSize": "M30",
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"electableSpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"readOnlySpecs": {
"diskSizeGB": 10,
"instanceSize": "M40",
"nodeCount": 0
},
"regionName": "US_EAST_1"
}
],
"zoneName": "Zone 1"
}
]
}

After creating payload.json, run the command below in the same directory.

# Cluster
atlas api clusters createCluster --version 2024-10-23 --file payload.json --groupId 32b6e34b3d91647abb20e7b8

Create the file below and save it as payload.json

# Creates a new M10 replica set cluster in AWS US East region running MongoDB 6.0
{
"clusterType": "REPLICASET",
"name": "MyCluster",
"replicationSpecs": [
{
"regionConfigs": [
{
"electableSpecs": {
"diskSizeGB": 10,
"instanceSize": "M10",
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"regionName": "US_EAST_1"
}
]
}
]
}

After creating payload.json, run the command below in the same directory.

# Creates a new M10 replica set cluster in AWS US East region running MongoDB 6.0
atlas api clusters createCluster --version 2024-10-23 --file payload.json --groupId [your-project-id]

Back

autoScalingConfiguration