mongodb-atlas-api-client
Version:
A mongodb atlas api client for nodejs.
840 lines (561 loc) • 63.2 kB
Markdown
# Mongodb atlas api client for NODEJS
A mongdb atlas api client for nodejs.
[](https://gist.github.com/montumodi/4863975b3d11c22536fcf9fcc8d237dd/raw/badge.svg)

[](https://www.npmjs.com/package/mongodb-atlas-api-client/)
## How to install
```
npm install mongodb-atlas-api-client
```
## MCP Server Integration
This package is also available as a Model Context Protocol (MCP) server that provides AI assistants with direct access to MongoDB Atlas APIs. The MCP server enables AI agents to manage Atlas resources like clusters, users, and databases through natural language interactions.
### MCP Server Package
The MCP server is available as a separate package:
- **Package**: [mongodb-atlas-mcp-server](https://www.npmjs.com/package/mongodb-atlas-mcp-server)
- **Documentation**: Full setup and configuration instructions available on npm
The MCP server wraps this MongoDB Atlas API client and exposes Atlas operations through the Model Context Protocol, making it easy for AI assistants to interact with your MongoDB Atlas infrastructure.
## Getting Started
The basic syntax is
Atlas API uses HTTP Digest Authentication. It essentially requires a username and a password which are hashed using a unique server-generated value called a nonce. The username is the API public key and the password is the corresponding private key. It internally uses [urllib](https://www.npmjs.com/package/urllib)
```js
const getClient = require("mongodb-atlas-api-client");
const {user, cluster} = getClient({
"publicKey": "some public key",
"privateKey": "some private key",
"baseUrl": "https://cloud.mongodb.com/api/atlas/v1.0",
"projectId": "some project/group id"
});
const options = {
"envelope": true,
"itemsPerPage": 10,
"pretty": true,
"httpOptions": { // This parameter will not be sent as querystring. This will be send to http request package `urllib`
"timeout": 5000
}
}
const response = await user.getAll(options); // get All users
const response = await cluster.get("someClusterName"); // get single cluster
const response = await user.delete("someUserName", options); // delete single user
const response = await user.create(body, options); // create user
const response = await user.update("someUserName", body, options); // update user
```
## Running the tests
`npm test`
### API
Following entities are currently supported
- [User](#user)
- [CloudBackup](#cloudbackup)
- [Cluster](#cluster)
- [CustomDbRole](#customdbrole)
- [ProjectWhitelist](#projectwhitelist)
- [ProjectAccesslist](#projectaccesslist)
- [Project](#project)
- [Organization](#organization)
- [AtlasUser](#atlasuser)
- [Event](#event)
- [Alert](#alert)
- [DataLake](#datalake)
- [AtlasSearch](#atlassearch)
### User
### user.get(username, [options]) ⇒ <code>Promise</code>
Function - Returns the details of user name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| username | <code>String</code> | | name of the user for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib. |
More details - https://docs.atlas.mongodb.com/reference/api/database-users-get-single-user/
### user.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the users. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/database-users-get-all-users/
### user.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the user as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for user which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/database-users-create-a-user/
### user.update(username, body, [options]) ⇒ <code>Promise</code>
Function - Updates the user for the username passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| username | <code>String</code> | | name of the user for which details needs to be updated |
| body | <code>Object</code> | | Body which has details for user which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/database-users-update-a-user/
### user.delete(username, [options]) ⇒ <code>Promise</code>
Function - Deletes the user name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| username | <code>String</code> | | name of the user which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/database-users-delete-a-user/
### CloudBackup
### cloudBackup.getReplicaSetCloudBackup(clustername, snapshotId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of the specified snapshotId.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be retrieved |
| snapshotId | <code>String</code> | | Id of the snapshot for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v1/#tag/Cloud-Backups/operation/getReplicaSetBackup
### cloudBackup.getAllReplicaSetCloudBackups(clustername, [options]) ⇒ <code>Promise</code>
Function - Returns the details of all snapshots of an specified clustername.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v1/#tag/Cloud-Backups/operation/listReplicaSetBackups
### cloudBackup.getSnapshotRestoreJob(clustername, restoreJobId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of all snapshots of an specified clustername.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be retrieved |
| restoreJobId | <code>String</code> | | snapshot restore job id for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v1/#tag/Cloud-Backups/operation/getBackupRestoreJob
### cloudBackup.createSnapshotRestoreJob(clustername, body, [options]) ⇒ <code>Promise</code>
Function - Returns the details of all snapshots of an specified clustername.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be retrieved |
| body | <code>Object</code> | | Body which has details for snapshot restore job which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v1/#tag/Cloud-Backups/operation/createBackupRestoreJob
### Cluster
### cluster.get(clustername, [options]) ⇒ <code>Promise</code>
Function - Returns the details of cluster name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-get-one/
### cluster.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the clusters. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-get-all/
### cluster.getAdvanceConfiguration(clustername, [options]) ⇒ <code>Promise</code>
Function - Returns the advance configuration of cluster name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which advance configuration needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-get-advanced-configuration-options/
### cluster.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the cluster as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for cluster which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-create-one/
### cluster.update(clustername, body, [options]) ⇒ <code>Promise</code>
Function - Updates the cluster for the clustername passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which details needs to be updated |
| body | <code>Object</code> | | Body which has details for cluster which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-modify-one/
### cluster.updateAdvanceConfiguration(clustername, body, [options]) ⇒ <code>Promise</code>
Function - Updates the advance configuration of cluster for the clustername passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which advance configuration needs to be updated |
| body | <code>Object</code> | | Body which has details for cluster which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-modify-advanced-configuration-options/
### cluster.testPrimaryFailOver(clustername, [options]) ⇒ <code>Promise</code>
Function - Tests failure of primary replica set member.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster for which failure needs to be tested |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-test-failover/
### cluster.delete(clustername, [options]) ⇒ <code>Promise</code>
Function - Deletes the cluster name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| clustername | <code>String</code> | | name of the cluster which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/clusters-delete-one/
### CustomDbRole
### customDbRole.get(rolename, [options]) ⇒ <code>Promise</code>
Function - Returns the details of role name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| rolename | <code>String</code> | | name of the role for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/custom-roles-get-single-role/
### customDbRole.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the roles. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/custom-roles-get-all-roles/
### customDbRole.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the role as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for role which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/custom-roles-create-a-role/
### customDbRole.update(rolename, body, [options]) ⇒ <code>Promise</code>
Function - Updates the role for the rolename passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| rolename | <code>String</code> | | name of the role for which details needs to be updated |
| body | <code>Object</code> | | Body which has details for role which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/custom-roles-update-a-role/
### customDbRole.delete(rolename, [options]) ⇒ <code>Promise</code>
Function - Deletes the role name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| rolename | <code>String</code> | | name of the role which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/custom-roles-delete-a-role/
### ProjectWhitelist
### projectWhitelist.get(whitelistentry, [options]) ⇒ <code>Promise</code>
Function - Returns the details of whitelistentry name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| whitelistentry | <code>String</code> | | name of the whitelistentry for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/whitelist-get-one-entry/
### projectWhitelist.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the whitelistentries. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/whitelist-get-all/
### projectWhitelist.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the whitelistentry as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for whitelistentry which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/whitelist-add-one/
### projectWhitelist.update(body, [options]) ⇒ <code>Promise</code>
Function - Updates the whitelistentry passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for whitelistentry which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/whitelist-update-one/
### projectWhitelist.delete(whitelistentry, [options]) ⇒ <code>Promise</code>
Function - Deletes the whitelistentry name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| whitelistentry | <code>String</code> | | name of the whitelistentry which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/whitelist-delete-one/
### ProjectAccesslist
### projectAccesslist.get(accesslistentry, [options]) ⇒ <code>Promise</code>
Function - Returns the details of accesslistentry name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| accesslistentry | <code>String</code> | | name of the accesslistentry for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/ip-access-list/get-one-access-list-entry/
### projectAccesslist.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the accesslistentries. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/ip-access-list/get-all-access-list-entries/
### projectAccesslist.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the accesslistentry as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for accesslistentry which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/
### projectAccesslist.update(body, [options]) ⇒ <code>Promise</code>
Function - Updates the accesslistentry passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for accesslistentry which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/
### projectAccesslist.delete(accesslistentry, [options]) ⇒ <code>Promise</code>
Function - Deletes the accesslistentry name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| accesslistentry | <code>String</code> | | name of the accesslistentry which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/ip-access-list/delete-one-access-list-entry/
### Project
### project.getById(projectId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of project id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| projectId | <code>String</code> | | project id for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-get-one/
### project.getByName(projectName, [options]) ⇒ <code>Promise</code>
Function - Returns the details of project name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| projectId | <code>String</code> | | project name for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-get-one-by-name/
### project.getTeamsByProjectId(projectId, [options]) ⇒ <code>Promise</code>
Function - Returns the teams of project id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| projectId | <code>String</code> | | project id for which teams needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-get-teams/
### project.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the projects. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-get-all/
### project.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the project as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for project which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-create-one/
### project.assignTeams(projectId, body, [options]) ⇒ <code>Promise</code>
Function - Assigns the teams for the projectId passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| projectId | <code>String</code> | | Id of the project for which teams needs to be associated |
| body | <code>Object</code> | | Body which has details for teams which needs to be associated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-add-team/
### project.delete(projectId, [options]) ⇒ <code>Promise</code>
Function - Deletes the project id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| projectId | <code>String</code> | | Id of the project which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-delete-one/
### project.removeUserFromProject(projectId, userId, [options]) ⇒ <code>Promise</code>
Function - Removes the user id passed from the project.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| userId | <code>String</code> | | Id of the user which needs to be removed from project |
| projectId | <code>String</code> | | Id of the project |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/project-remove-user/
### Organization
### organization.getById(organizationId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of organization id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | org§ id for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-get-one/
### organization.getAllUsersForOrganization(organizationId, [options]) ⇒ <code>Promise</code>
Function - Returns all the users for organization id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | organization id for which users needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-users-get-all-users/
### organization.getAllProjectsForOrganization(organizationId, [options]) ⇒ <code>Promise</code>
Function - Returns all the projects for organization id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | organization id for which projects needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-get-all-projects/
### organization.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the organizations. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-get-all/
### organization.rename(organizationId, body, [options]) ⇒ <code>Promise</code>
Function - Renames the organization
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | Id of the organization for which needs to be renamed |
| body | <code>Object</code> | | Body which has details for organization which needs to be renamed |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-rename/
### organization.invite(organizationId, body, [options]) ⇒ <code>Promise</code>
Function - Sends an invitation to the given email (username) to join the Organization
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | Id of the organization for which needs to be renamed |
| body | <code>Object</code> | | Organization invitation details
| body.roles | <code>string[]</code> | | Atlas roles to assign to the invited user. If the user accepts the invitation, Atlas assigns these roles to them. |
| body.teamIds | <code>string[]</code> | | *(Optional)* Unique 24-hexadecimal digit strings that identify the teams that you invite the user to join.
| body.username | <code>string</code> | | Email address of the invited user. This is the address to which Atlas sends the invite.
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-create-one-invitation/
### organization.delete(organizationId, [options]) ⇒ <code>Promise</code>
Function - Deletes the project id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | Id of the organization which needs to be deleted |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/organization-delete-one/
### AtlasUser
### atlasUser.getById(userId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of user id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| userId | <code>String</code> | | Id of the user for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/user-get-by-id/
### atlasUser.getByName(username, [options]) ⇒ <code>Promise</code>
Function - Returns the details of user name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| username | <code>String</code> | | Name of the user for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/user-get-one-by-name/
### atlasUser.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the users. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/user-get-all/
### atlasUser.create(body, [options]) ⇒ <code>Promise</code>
Function - Creates the atlas user as per body passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| body | <code>Object</code> | | Body which has details for atlas user which needs to be created |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/user-create/
### atlasUser.update(userId, body, [options]) ⇒ <code>Promise</code>
Function - Updates the user for the userId passed. It only updates the properties passed in body.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| userId | <code>String</code> | | Id of the user for which details needs to be updated |
| body | <code>Object</code> | | Body which has details for user which needs to be updated |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/user-update/
### Event
### event.get(eventId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of event id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| eventId | <code>String</code> | | id of the event for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/events-projects-get-one/
### event.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the events. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/events-projects-get-all/
### event.getByOrganizationId(organizationId, eventId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of event id passed for organization id.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | id of the organization for which details needs to be retrieved |
| eventId | <code>String</code> | | id of the event for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/events-orgs-get-one/
### event.getAllByOrganizationId(organizationId, [options]) ⇒ <code>Promise</code>
Function - Returns all the events. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationId | <code>String</code> | | id of the organization for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/events-orgs-get-all/
### Alert
### alert.get(alertId, [options]) ⇒ <code>Promise</code>
Function - Returns the details of alert id passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| alertId | <code>String</code> | | id of the alert for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/alerts-get-alert/
### alert.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the alerts. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/alerts-get-all-alerts/
### event.acknowledge(alertId, [options]) ⇒ <code>Promise</code>
Function - Acknowledge or unacknowledge an alert
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| alertId | <code>String</code> | | id of the alert which needs to be acknowledged |
| body | <code>Object</code> | | Body which has details for alert which needs to be acknowledged |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.atlas.mongodb.com/reference/api/alerts-acknowledge-alert/
### DataLake
### dataLake.get(dataLakeName, [options]) ⇒ <code>Promise</code>
Function - Returns the details of dataLake name passed.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| dataLakeName | <code>String</code> | | name of the dataLake for which details needs to be retrieved |
| [options] | <code>Object</code> | <code>{}</code> | Optional object containing extra query strings which will be passed to atlas api. It can also include httpOptions which will be sent to `urllib`. More info can be found here - https://github.com/node-modules/urllib |
More details - https://docs.mongodb.com/datalake/reference/api/dataLakes-get-one-tenant/
### dataLake.getAll([options]) ⇒ <code>Promise</code>
Function - Returns all the dataLakes. Pagination can be controlled via options object.
**Returns**: <code>Promise</code> - - promise which resolves on success and rejects on error
| Param | Type | Default | Descr