atlas api clusters createCluster
On this page
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.
Syntax
atlas api clusters createCluster [options]
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. |
Inherited Options
Name | Type | Required | Description |
---|---|---|---|
-P, --profile | string | false | Name of the profile to use from your configuration file. To learn about profiles for the Atlas CLI, see https://dochub.mongodb.org/core/atlas-cli-save-connection-settings. |
Examples
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]