Create One Advanced Cluster¶
On this page
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
.
The Atlas Administration API authenticates using HTTP Digest Authentication. Provide a programmatic API public key and corresponding private key as the username and password when constructing the HTTP request. To learn how to configure API access for an Atlas project, see Get Started with the Atlas Administration API.
Considerations¶
- Clusters can span regions and cloud service providers. The total number
of nodes in clusters spanning across regions has a specific constraint
on a per-project basis.Atlas limits the total number of nodes in other regions in one
project to a total of 40. This total excludes:
- Google Cloud regions communicating with each other
- Free clusters or shared clusters
You can't create a multi-region cluster in a project if it has one or more clusters spanning 40 or more nodes in other regions.Contact Atlas support for questions or assistance with raising this limit.ExampleIf an Atlas project has nodes in clusters spread across three regions:- 30 nodes in Region A
- 10 nodes in Region B
- 5 nodes in Region C
- If you exclude Region C, Region A + Region B = 40.
- If you exclude Region B, Region A + Region C = 35, <= 40.
- If you exclude Region A, Region B + Region C = 15, <= 40.
Each combination of regions with the added 5 nodes still meets the per-project constraint:
- Region A + B = 40
- Region A + C = 40
- Region B + C = 20
- Each Atlas project supports up to 25 database deployments. Please contact Atlas support for questions or assistance regarding the database deployment limit. To contact support, select Support from the left-hand navigation bar of the Atlas UI.
- If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you must delete that role before creating clusters with an earlier MongoDB version.
- Atlas clusters created after July 2020 use TLS version 1.2 by default.
- When you create a cluster, Atlas creates a network container in the project for the cloud provider to which you deploy the cluster if one does not already exist.
Required Roles¶
To use this resource, your API Key must have either the
Organization Owner
or Project Owner
roles.
Resource¶
Base URL: https://cloud.mongodb.com/api/atlas/v1.5
POST /groups/{GROUP-ID}/clusters
Request Path Parameters¶
Path Element | Type | Necessity | Description |
---|---|---|---|
GROUP-ID | string | Required | Unique identifier for the project in which to
create the cluster. |
Request Query Parameters¶
This endpoint might use any of the HTTP request query parameters available to all Atlas Administration API resources. All of these are optional.
Name | Type | Necessity | Description | Default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | boolean | Optional | Flag indicating whether the response body should be in a
prettyprint format. | false | ||||||
envelope | boolean | Optional | Flag indicating if Atlas should wrap the response in a JSON envelope. This option may be needed for some API clients. These clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. For endpoints that return one result, the response body includes:
| false |
Request Body Parameters¶
Body Parameter | Type | Necessity | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
backupEnabled | Boolean | Optional | Flag that indicates whether the cluster can perform backups.
This parameter defaults to false. | ||||||||||
biConnector | object | Optional | Configuration settings applied to BI Connector for Atlas on this cluster. The MongoDB Connector for Business Intelligence for Atlas (BI Connector) is only available for The BI Connector is a powerful tool which provides users
SQL-based access to their MongoDB databases. As a result, the
BI Connector performs operations which may be CPU and memory
intensive. Given the limited hardware resources on | ||||||||||
biConnector .enabled | Boolean | Optional | Flag that indicates whether this cluster has BI Connector for Atlas enabled. | ||||||||||
biConnector .readPreference | string | Optional | Source from which the BI Connector for Atlas reads data. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options. This API resource accepts primary, secondary, or analytics. This parameter defaults to analytics if the cluster includes analytics nodes. If the cluster lacks analyics nodes, the default value is secondary. To set the readPreference value to "analytics" requires the cluster to have at least one analytics node. Once you have set the readPreference value to "analytics", you must have at least one analytics node in the cluster. See also: BI Connector Read Preferences Table. | ||||||||||
clusterType | string | Required | Type of the cluster that you want to create. This API resource accepts REPLICASET, SHARDED, and GEOSHARDED. | ||||||||||
diskSizeGB | number | Optional | Capacity, in gigabytes, of the host's root volume. Increase this
number to add capacity, up to a maximum possible value of
You can't set this value with clusters with local NVMe SSDs. The minimum disk size for dedicated clusters is 10 GB for AWS and Google Cloud. If you specify diskSizeGB with a lower disk size, Atlas defaults to the minimum disk size value. If your cluster includes Azure nodes, this value must correspond to an existing Azure disk type (8, 16, 32, 64, 128, 256, 512, 1024, 2048, or 4095) Atlas calculates storage charges differently depending on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require additional storage space beyond this limitation, consider upgrading your cluster to a higher tier. If your cluster spans cloud service providers, this value defaults to the minimum default of the providers involved. See also: Storage Capacity. | ||||||||||
encryptionAtRestProvider | string | Optional | Cloud service provider that offers Encryption at Rest. | ||||||||||
labels | array | Optional | Collection of key-value pairs that tag and categorize the cluster. Each key and value has a maximum length of 255 characters.
The Atlas console doesn't display your labels. The API returns the labels in the response body when you use the API to: | ||||||||||
mongoDBMajorVersion | string | Optional | Version of the cluster to deploy. Atlas supports the following MongoDB versions for M10 or greater clusters:
If omitted, Atlas deploys a cluster that runs MongoDB 4.4. If "replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize": "M2" or "M5", deploy MongoDB 4.4. Atlas always deploys the cluster with the latest stable release of the specified version. You can upgrade to a newer version of MongoDB when you modify a cluster. If you set a value to this parameter and set "versionReleaseSystem" : "CONTINUOUS", the resource returns an error. Either clear this parameter or set "versionReleaseSystem" : "LTS". | ||||||||||
name | string | Required | Label that identifies this cluster. After Atlas creates the
cluster, you can't change its name. | ||||||||||
pitEnabled | Boolean | Optional | Flag that indicates whether the cluster uses
continuous cloud backups. | ||||||||||
replicationSpecs | array | Required | Configuration for cluster regions and the hardware provisioned
in them. | ||||||||||
replicationSpecs[n] .numShards | number | Conditional | Positive integer that specifies the number of shards to deploy in each specified zone. Provide this value if you set a clusterType of SHARDED or GEOSHARDED. Omit this value if you selected a clusterType of REPLICASET. This API resource accepts 1 through 50, inclusive. This parameter defaults to 1. If you specify a numShards value of 1 and a clusterType of SHARDED, Atlas deploys a single-shard sharded cluster. Don't create a sharded cluster with a single shard for production environments. Single-shard sharded clusters don't provide the same benefits as multi-shard configurations. See Also: | ||||||||||
replicationSpecs[n] .regionConfigs | array | Required | Hardware specifications for nodes set for a given region. Each regionConfigs object describes the region's priority in elections and the number and type of MongoDB nodes that Atlas deploys to the region. Each regionConfigs object must have either an analyticsSpecs object, electableSpecs object, or readOnlySpecs object.
Example If you set replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize to M30, you must set replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize to M30 if you have electable nodes and replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize to M30 if you have read-only nodes. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs | object | Optional | Hardware specifications for analytics nodes needed in the region. Analytics nodes handle analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only and can never become the primary. If you don't specify this parameter, no analytics nodes deploy to this region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .diskIOPS | number | AWS Optional | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set replicationSpecs[n].regionConfigs[m].analyticsSpecs.ebsVolumeType to PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .ebsVolumeType | string | AWS Optional | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .instanceSize | string | Conditional | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .nodeCount | number | Conditional | Number of analytics nodes for Atlas to deploy to the region. Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only, and can never become the primary. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling | object | Optional | Collection of settings that configures auto-scaling information for the cluster. The values for the .autoScaling parameter must be the same for every item in the replicationSpecs array. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .diskGB .enabled | Boolean | Optional | Flag that indicates whether this cluster enables disk auto-scaling. This parameter defaults to true.
The maximum amount of RAM for the selected cluster tier and the oplog size can limit storage auto-scaling. To learn more, see Customize Your Storage. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute | object | Optional | Collection of settings that configure how a cluster might scale its instance size and whether the cluster can scale down. Cluster tiers with Low CPU or NVME storage classes can't use auto-scaling. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .enabled | Boolean | Optional | Flag that indicates whether instance size auto-scaling is enabled. This parameter defaults to false.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .scaleDownEnabled | Boolean | Conditional | Flag that indicates whether the instance size may scale down. Atlas requires this parameter if "replicationSpecs[n].regionConfigs[m].autoScaling.compute.enabled" : true. If you enable this option, specify a value for replicationSpecs[n].regionConfigs[m].autoScaling.compute.minInstanceSize. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .minInstanceSize | string | Conditional | Minimum instance size to which your cluster can automatically
scale (such as M10). Atlas requires this parameter if
"replicationSpecs[n].regionConfigs[m].autoScaling.compute.
scaleDownEnabled" : true. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .maxInstanceSize | string | Conditional | Maximum instance size to which your cluster can automatically
scale (such as M40). Atlas requires this parameter if
"replicationSpecs[n].regionConfigs[m].autoScaling.compute
.enabled" : true. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .backingProviderName | string | Conditional | Cloud service provider on which you provision the host for a multi-tenant cluster. Use this setting only when "replicationSpecs[n].regionConfigs[m].providerName" : "TENANT" and "replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize": M2 or M5. The API resource accepts the following values:
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs | object | Optional | Hardware specifications for electable nodes in the region. Electable nodes can become the primary and can enable local reads. If you do not specify this option, no electable nodes are deployed to the region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .diskIOPS | number | AWS Optional | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set .ebsVolumeType to PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .ebsVolumeType | string | AWS Optional | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .instanceSize | string | Conditional | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .nodeCount | number | Conditional | Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can enable local reads. The combined electableSpecs.nodeCount across all replicationSpecs[n].regionConfigs[m] objects must total 3, 5, or 7. You cannot create electable nodes if the replicationSpecs[n].regionConfigs[m].priority is 0. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .priority | Integer | Required | Precedence is given to this region when a primary election occurs. If your regionConfigs has only .readOnlySpecs, .analyticsSpecs, or both, set this value to 0. If you have multiple regionConfigs objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is 7. Example Set your highest priority region to 7, your second-highest priority to 6, and your third-priority region to 5. If you have no electable nodes, set this value to 0. If your region has set .electableSpecs.nodeCount to 1 or higher, it must have a priority of exactly one (1) less than another region in the replicationSpecs[n].regionConfigs[m] array. The highest-priority region must have a priority of 7. The lowest possible priority is 1. The priority 7 region identifies the Preferred Region of the cluster. Atlas places the primary node in the Preferred Region. Priorities 1 through 7 are exclusive: you can't assign a given priority to more than one region per cluster. Example If you have three regions, their priorities would be 7, 6, and 5 respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be 4 and 3 respectively. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .providerName | string | Required | Cloud service provider on which Atlas provisions the hosts.
M2 and M5 clusters are multi-tenant deployments. You must set this parameter to TENANT and specify the cloud service provider in replicationSpecs[n].regionConfigs[m].backingProviderName. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs | object | Optional | Hardware specifications for read-only nodes in the region. Read-only nodes can never become the primary member, but can enable local reads. If you don't specify this parameter, no read-only nodes are deployed to the region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .diskIOPS | number | AWS Optional | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set .ebsVolumeType must be PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .ebsVolumeType | string | AWS Optional | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .instanceSize | string | Conditional | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .nodeCount | number | Conditional | Number of read-only nodes for Atlas to deploy to the region.
Read-only nodes can never become the primary, but can
enable local reads. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .regionName | string | Required | Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When Atlas deploys a dedicated cluster, Atlas checks if a VPC or VPC connection exists for that provider and region. If not, Atlas creates them as part of the deployment. Atlas assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts.
To learn more, see Set up a Network Peering Connection. Select your cloud service provider's tab for example cluster region names: | ||||||||||
replicationSpecs[n] .zoneName | string | Conditional | Name for the zone in a Global Cluster. Provide
this value if you set clusterType to GEOSHARDED. | ||||||||||
rootCertType | string | Optional | Certificate Authority that MongoDB Atlas clusters use. You can specify
Note Beginning on 1 May 2021, new TLS certificates that MongoDB Atlas creates use ISRG instead of IdenTrust for their root Certificate Authority in line with Let's Encrypt's announcement of this transition. | ||||||||||
versionReleaseSystem | string | Optional | Method by which this cluster maintains the MongoDB versions. The resource accepts CONTINUOUS or LTS (Long Term Support). This parameter defaults to LTS. If you set this parameter to CONTINUOUS and set any value for mongoDBMajorVersion, this resource returns an error. |
Response Elements¶
Body Parameter | Type | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
backupEnabled | Boolean | Flag that indicates whether the cluster can perform backups.
This parameter defaults to false. | ||||||||||
biConnector | object | Configuration settings applied to BI Connector for Atlas on this cluster. The MongoDB Connector for Business Intelligence for Atlas (BI Connector) is only available for The BI Connector is a powerful tool which provides users
SQL-based access to their MongoDB databases. As a result, the
BI Connector performs operations which may be CPU and memory
intensive. Given the limited hardware resources on | ||||||||||
biConnector .enabled | Boolean | Flag that indicates whether this cluster has BI Connector for Atlas enabled. | ||||||||||
biConnector .readPreference | string | Source from which the BI Connector for Atlas reads data. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options. This API resource accepts primary, secondary, or analytics. This parameter defaults to analytics if the cluster includes analytics nodes. If the cluster lacks analyics nodes, the default value is secondary. To set the readPreference value to "analytics" requires the cluster to have at least one analytics node. Once you have set the readPreference value to "analytics", you must have at least one analytics node in the cluster. See also: BI Connector Read Preferences Table. | ||||||||||
clusterType | string | Type of the cluster that you want to create. This API resource accepts REPLICASET, SHARDED, and GEOSHARDED. | ||||||||||
connectionStrings | object | Set of connection strings that your applications use to connect to this cluster. Use the parameters in this object to connect your applications to this cluster. See also: Connection String Options Atlas returns the contents of this object after the cluster has started, not while it builds the cluster. | ||||||||||
connectionStrings .privateEndpoint | array | Private endpoint connection strings.
Each object describes the connection strings you can use to
connect to this cluster through a private endpoint. Atlas
returns this parameter only if you deployed a private endpoint
to all regions to which you deployed this cluster's nodes. | ||||||||||
connectionStrings .privateEndpoint[n] .connectionString | string | Private-endpoint-aware
mongodb://connection string for this private endpoint. | ||||||||||
connectionStrings .privateEndpoint[n] .endpoints | array | Private endpoint through which you connect to Atlas when you
use connectionStrings.privateEndpoint[n].connectionString or
connectionStrings.privateEndpoint[n].srvConnectionString. | ||||||||||
connectionStrings .privateEndpoint[n] .endpoints[n] .endpointId | string | Unique identifier of the private endpoint. | ||||||||||
connectionStrings .privateEndpoint[n] .endpoints[n] .providerName | string | Cloud provider to which you deployed the private endpoint.
Atlas returns AWS or AZURE. | ||||||||||
connectionStrings .privateEndpoint[n] .endpoints[n] .region | string | Region to which you deployed the private endpoint. | ||||||||||
connectionStrings .privateEndpoint[n] .srvConnectionString | string | Private-endpoint-aware mongodb+srv:// connection string for this private endpoint. The mongodb+srv protocol tells the driver to look up the seed list of hosts in DNS. Atlas synchronizes this list with the nodes in a cluster. If the connection string uses this URI format, you don't need to:
Use this URI format if your driver supports it. If it doesn't, use connectionStrings.privateEndpoint[n].connectionString. See also: Seedlist format | ||||||||||
connectionStrings .privateEndpoint[n] .type | string | Type of MongoDB process that you connect to with the connection strings. Atlas returns:
| ||||||||||
connectionStrings .standard | string | Public
mongodb:// connection string
for this cluster. | ||||||||||
connectionStrings .standardSrv | string | Public mongodb+srv:// connection string for this cluster. See also: Seedlist format | ||||||||||
connectionStrings .private | string | Network-peering-endpoint-aware mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Atlas returns this parameter only if you created a network peering connection to this cluster. For AWS clusters, Atlas doesn't return this parameter unless you enable custom DNS. | ||||||||||
connectionStrings .privateSrv | string | Network-peering-endpoint-aware mongodb+srv:// connection strings for each interface VPC endpoint you configured to connect to this cluster. Atlas returns this parameter only if you created a network peering connection to this cluster. The mongodb+srv protocol tells the driver to look up the seed list of hosts in DNS. Atlas synchronizes this list with the nodes in a cluster. If the connection string uses this URI format, you don't need to:
Use this URI format if your driver supports it. If it doesn't, use connectionStrings.private. See also: Seedlist format For AWS clusters, Atlas doesn't return this parameter unless you enable custom DNS. | ||||||||||
createDate | string | Timestamp in ISO 8601 date and time format in UTC when Atlas created the cluster. | ||||||||||
diskSizeGB | number | Capacity, in gigabytes, of the host's root volume. Increase this
number to add capacity, up to a maximum possible value of
Set a value for diskSizeGB when you set values for replicationSpecs. You can't set this value with clusters with local NVMe SSDs. The minimum disk size for dedicated clusters is 10 GB for AWS and Google Cloud. If you specify diskSizeGB with a lower disk size, Atlas defaults to the minimum disk size value. If your cluster includes Azure nodes, this value must correspond to an existing Azure disk type (8, 16, 32, 64, 128, 256, 512, 1024, 2048, or 4095) Atlas calculates storage charges differently depending on whether you choose the default value or a custom value. The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require additional storage space beyond this limitation, consider upgrading your cluster to a higher tier. If your cluster spans cloud service providers, this value defaults to the minimum default of the providers involved. See also: Storage Capacity. | ||||||||||
encryptionAtRestProvider | string | Cloud service provider that offers Encryption at Rest. | ||||||||||
groupId | string | Unique 24-hexadecimal digit string that identifies the project
in which the cluster resides. | ||||||||||
id | string | Unique 24-hexadecimal digit string that identifies the cluster. | ||||||||||
labels | array | Collection of key-value pairs that tag and categorize the cluster. Each key and value has a maximum length of 255 characters.
The Atlas console doesn't display your labels. The API returns the labels in the response body when you use the API to: | ||||||||||
mongoDBMajorVersion | string | Version of the cluster to deploy. Atlas supports the following MongoDB versions for M10 or greater clusters:
If omitted, Atlas deploys a cluster that runs MongoDB 4.4. If "replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize": "M2" or "M5", deploy MongoDB 4.4. Atlas always deploys the cluster with the latest stable release of the specified version. You can upgrade to a newer version of MongoDB when you modify a cluster. | ||||||||||
mongoDBVersion | string | Version of MongoDB that the cluster runs, in X.Y.Z format. | ||||||||||
name | string | Label that identifies this cluster. After Atlas creates the
cluster, you can't change its name. | ||||||||||
paused | Boolean | Flag that indicates whether the cluster has been paused. | ||||||||||
pitEnabled | Boolean | Flag that indicates whether the cluster uses
continuous cloud backups. | ||||||||||
replicationSpecs | array | Configuration for cluster regions and the hardware provisioned
in them. | ||||||||||
replicationSpecs[n] .numShards | number | Positive integer that specifies the number of shards to deploy in each specified zone. This API resource accepts 1 through 50, inclusive. This parameter defaults to 1. If you specify a numShards value of 1 and a clusterType of SHARDED, Atlas deploys a single-shard sharded cluster. Don't create a sharded cluster with a single shard for production environments. Single-shard sharded clusters don't provide the same benefits as multi-shard configurations. See Also: | ||||||||||
replicationSpecs[n] .regionConfigs | array | Hardware specifications for nodes set for a given region. Each regionConfigs object describes the region's priority in elections and the number and type of MongoDB nodes that Atlas deploys to the region. Each regionConfigs object must have either an analyticsSpecs object, electableSpecs object, or readOnlySpecs object.
Example If you set replicationSpecs[n].regionConfigs[m].analyticsSpecs.instanceSize to M30, you must set replicationSpecs[n].regionConfigs[m].electableSpecs.instanceSize to M30 if you have electable nodes and replicationSpecs[n].regionConfigs[m].readOnlySpecs.instanceSize to M30 if you have read-only nodes. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs | object | Hardware specifications for analytics nodes needed in the region. Analytics nodes handle analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only and can never become the primary. If you don't specify this parameter, no analytics nodes deploy to this region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .diskIOPS | number | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set replicationSpecs[n].regionConfigs[m].analyticsSpecs.ebsVolumeType to PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .ebsVolumeType | string | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .instanceSize | string | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .analyticsSpecs .nodeCount | number | Number of analytics nodes for Atlas to deploy to the region. Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only, and can never become the primary. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling | object | Collection of settings that configures auto-scaling information for the cluster. The values for the .autoScaling parameter must be the same for every item in the replicationSpecs array. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .diskGB .enabled | Boolean | Flag that indicates whether this cluster enables disk auto-scaling. This parameter defaults to true.
The maximum amount of RAM for the selected cluster tier and the oplog size can limit storage auto-scaling. To learn more, see Customize Your Storage. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute | object | Collection of settings that configure how a cluster might scale its instance size and whether the cluster can scale down. Cluster tiers with Low CPU or NVME storage classes can't use auto-scaling. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .enabled | Boolean | Flag that indicates whether instance size auto-scaling is enabled. This parameter defaults to false.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .scaleDownEnabled | Boolean | Flag that indicates whether the instance size may scale down. Atlas requires this parameter if "replicationSpecs[n].regionConfigs[m].autoScaling.compute.enabled" : true. If you enable this option, specify a value for replicationSpecs[n].regionConfigs[m].autoScaling.compute.minInstanceSize. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .minInstanceSize | string | Minimum instance size to which your cluster can automatically
scale (such as M10). Atlas requires this parameter if
"replicationSpecs[n].regionConfigs[m].autoScaling.compute.
scaleDownEnabled" : true. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .autoScaling .compute .maxInstanceSize | string | Maximum instance size to which your cluster can automatically
scale (such as M40). Atlas requires this parameter if
"replicationSpecs[n].regionConfigs[m].autoScaling.compute
.enabled" : true. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .backingProviderName | string | Cloud service provider on which you provision the host for a multi-tenant cluster. Use this setting only when "replicationSpecs[n].regionConfigs[m].providerName" : "TENANT" and "replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize": M2 or M5. The API resource accepts the following values:
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs | number | Hardware specifications for electable nodes in the region. Electable nodes can become the primary and can enable local reads. If you do not specify this option, no electable nodes are deployed to the region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .diskIOPS | number | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set .ebsVolumeType to PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .ebsVolumeType | string | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .instanceSize | string | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .electableSpecs .nodeCount | number | Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can enable local reads. The combined electableSpecs.nodeCount across all replicationSpecs[n].regionConfigs[m] objects must total 3, 5, or 7. You cannot create electable nodes if the replicationSpecs[n].regionConfigs[m].priority is 0. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .priority | Integer | Precedence is given to this region when a primary election occurs. If your regionConfigs has only .readOnlySpecs, .analyticsSpecs, or both, set this value to 0. If you have multiple regionConfigs objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order. The highest priority is 7. Example Set your highest priority region to 7, your second-highest priority to 6, and your third-priority region to 5. If you have no electable nodes, set this value to 0. If your region has set .electableSpecs.nodeCount to 1 or higher, it must have a priority of exactly one (1) less than another region in the replicationSpecs[n].regionConfigs[m] array. The highest-priority region must have a priority of 7. The lowest possible priority is 1. The priority 7 region identifies the Preferred Region of the cluster. Atlas places the primary node in the Preferred Region. Priorities 1 through 7 are exclusive: you can't assign a given priority to more than one region per cluster. Example If you have three regions, their priorities would be 7, 6, and 5 respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be 4 and 3 respectively. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .providerName | string | Cloud service provider on which Atlas provisions the hosts.
M2 and M5 clusters are multi-tenant deployments. You must set this parameter to TENANT and specify the cloud service provider in replicationSpecs[n].regionConfigs[m].backingProviderName. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs | object | Hardware specifications for read-only nodes in the region. Read-only nodes can never become the primary member, but can enable local reads. If you don't specify this parameter, no read-only nodes are deployed to the region. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .diskIOPS | number | Target throughput (IOPS) desired for AWS storage attached to your cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. To change this value from the default, set .ebsVolumeType must be PROVISIONED. Maximum input/output operations per second (IOPS) the cluster can perform. The possible values depend on the selected replicationSpecs[n].regionConfigs[m].<type>Specs.instanceSize and diskSizeGB. This setting requires you to:
To view the possible range of IOPS values for the selected instance size and storage capacity:
Click Provision IOPS to see the available IOPS range. If you set the diskIOPS value to a value higher than the default value for the selected volume size, Atlas automatically sets replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to PROVISIONED. If you manually set diskIOPS to the default value, you must specify replicationSpecs[n].regionConfigs[m].<type>Specs.ebsVolumeType to be either PROVISIONED or STANDARD. This parameter defaults to the cluster tier's Standard IOPS value, as viewable in the Atlas console. If you change this value, the cluster cost also changes. To learn more, see billing. Atlas enforces the following minimum ratios for given cluster tiers. This keeps cluster performance consistent with large datasets. Instance sizes M10 to M40 have a ratio of disk capacity to system memory of 60:1. Instance sizes greater than M40 have a ratio of 120:1. Example To support 3 TB (or 3,072 GB) of disk capacity, select a cluster tier with a minimum of 32 GB of RAM. This would be M50 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .ebsVolumeType | string | Type of storage you want to attach to your AWS-provisioned cluster. Set only if you selected AWS as your cloud service provider. You can't set this parameter for a multi-cloud cluster. The API resource accepts STANDARD, the default, and PROVISIONED.
| ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .instanceSize | string | Hardware specification for the instance sizes in this region. Each instance size has a default storage and memory capacity. The instance size you select applies to all the data-bearing hosts in your instance size. See Also: Number of Nodes. If you deploy a Global Cluster, you must choose a instance size of M30 or greater. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .readOnlySpecs .nodeCount | number | Number of read-only nodes for Atlas to deploy to the region.
Read-only nodes can never become the primary, but can
enable local reads. | ||||||||||
replicationSpecs[n] .regionConfigs[m] .regionName | string | Physical location of your MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When Atlas deploys a dedicated cluster, Atlas checks if a VPC or VPC connection exists for that provider and region. If not, Atlas creates them as part of the deployment. Atlas assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts.
To learn more, see Set up a Network Peering Connection. Select your cloud service provider's tab for example cluster region names: | ||||||||||
replicationSpecs[n] .zoneName | string | Name for the zone in a Global Cluster. Provide
this value if you set clusterType to GEOSHARDED. | ||||||||||
rootCertType | string | Certificate Authority that MongoDB Atlas clusters use. You can specify
Note Beginning on 1 May 2021, new TLS certificates that MongoDB Atlas creates use ISRG instead of IdenTrust for their root Certificate Authority in line with Let's Encrypt's announcement of this transition. | ||||||||||
stateName | string | Condition in which the API resource finds the cluster when you called the resource. The resource returns one of the following states:
| ||||||||||
versionReleaseSystem | string | Method by which this cluster maintains the MongoDB versions. The
resource returns CONTINUOUS or LTS (Long Term Support). |
Example Request¶
Example Response¶
Response Header¶
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
201 Created Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes}