@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api MongoDB Atlas Administration API
@base https://cloud.mongodb.com
@version 2.0
@auth Bearer digest | OAuth2
@common_fields {envelope: bool=false}
@endpoints 505
@hint download_for_search
@toc api(505)

@endpoint GET /api/atlas/v2
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 429, 500}

@endpoint GET /api/atlas/v2/alertConfigs/matchers/fieldNames
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 429, 500}

@endpoint GET /api/atlas/v2/clusters
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 429, 500}

@endpoint GET /api/atlas/v2/defaultGroupLimits
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint GET /api/atlas/v2/defaultGroupLimits/{limitName}
@required {limitName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/eventTypes
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 429, 500}

@endpoint DELETE /api/atlas/v2/federationSettings/{federationSettingsId}
@required {federationSettingsId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs
@required {federationSettingsId: str}
@optional {itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}
@required {federationSettingsId: str, orgId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}
@required {federationSettingsId: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}
@required {federationSettingsId: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings
@required {federationSettingsId: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings
@required {federationSettingsId: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}
@required {federationSettingsId: str, id: str, orgId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}
@required {federationSettingsId: str, id: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}
@required {federationSettingsId: str, id: str, orgId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders
@required {federationSettingsId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, protocol: [str], idpType: [str]}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders
@required {federationSettingsId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}
@required {federationSettingsId: str, identityProviderId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}
@required {federationSettingsId: str, identityProviderId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}
@required {federationSettingsId: str, identityProviderId: str}
@returns(200)
@errors {400, 401, 403, 404, 405, 429, 500}

@endpoint DELETE /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}/jwks
@required {federationSettingsId: str, identityProviderId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders/{identityProviderId}/metadata.xml
@required {federationSettingsId: str, identityProviderId: str}
@returns(200)
@errors {400, 401, 403, 404, 405, 429, 500}

@endpoint GET /api/atlas/v2/groups
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups
@optional {pretty: bool=false, projectOwnerId: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}
@required {groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/access
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/accessList
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/accessList
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/accessList/{entryValue}
@required {groupId: str, entryValue: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/accessList/{entryValue}
@required {groupId: str, entryValue: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/accessList/{entryValue}/status
@required {groupId: str, entryValue: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/activityFeed
@required {groupId: str}
@optional {pretty: bool=false, eventType: [map], maxDate: str(date-time), minDate: str(date-time), clusterName: [str]}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/aiModelApiKeys
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/aiModelApiKeys
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}
@required {groupId: str, apiKeyId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}
@required {groupId: str, apiKeyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/aiModelApiKeys/{apiKeyId}
@required {groupId: str, apiKeyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/aiModelRateLimits
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/aiModelRateLimits/{modelGroupName}
@required {groupId: str, modelGroupName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/aiModelRateLimits/{modelGroupName}
@required {groupId: str, modelGroupName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/aiModelRateLimits/{modelGroupName}:reset
@required {groupId: str, modelGroupName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/aiModelRateLimits:reset
@required {groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alertConfigs
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/alertConfigs
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}
@required {groupId: str, alertConfigId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}
@required {groupId: str, alertConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}
@required {groupId: str, alertConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}
@required {groupId: str, alertConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alertConfigs/{alertConfigId}/alerts
@required {groupId: str, alertConfigId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alerts
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, status: str(OPEN/TRACKING/CLOSED)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alerts/{alertId}
@required {groupId: str, alertId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/alerts/{alertId}
@required {groupId: str, alertId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/alerts/{alertId}/alertConfigs
@required {groupId: str, alertId: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/apiKeys
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/apiKeys
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}
@required {groupId: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}
@required {groupId: str, apiUserId: str}
@optional {pageNum: int=1, itemsPerPage: int=100, includeCount: bool=true, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}
@required {groupId: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/auditLog
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/auditLog
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/awsCustomDNS
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/awsCustomDNS
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints
@required {groupId: str, cloudProvider: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints
@required {groupId: str, cloudProvider: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}
@required {groupId: str, cloudProvider: str, endpointId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}
@required {groupId: str, cloudProvider: str, endpointId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/backup/exportBuckets
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/backup/exportBuckets
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}
@required {groupId: str, exportBucketId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}
@required {groupId: str, exportBucketId: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}
@required {groupId: str, exportBucketId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/backupCompliancePolicy
@required {groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/backupCompliancePolicy
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/backupCompliancePolicy
@required {groupId: str}
@optional {overwriteBackupPolicies: bool=true, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/cloudProviderAccess
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/cloudProviderAccess
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/cloudProviderAccess/{cloudProvider}/{roleId}
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP), roleId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}
@required {groupId: str, roleId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}
@required {groupId: str, roleId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, includeDeletedWithRetainedBackups: bool=false, Use-Effective-Instance-Fields: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters
@required {groupId: str}
@optional {pretty: bool=false, Use-Effective-Instance-Fields: bool=false, Use-Effective-Fields-Replication-Specs: bool=false}
@returns(201)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, retainBackups: bool}
@returns(202)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, Use-Effective-Instance-Fields: bool=false, Use-Effective-Fields-Replication-Specs: bool=false}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, Use-Effective-Instance-Fields: bool=false, Use-Effective-Fields-Replication-Specs: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/{clusterView}/{databaseName}/{collectionName}/collStats/measurements
@required {groupId: str, clusterName: str, clusterView: str(PRIMARY/SECONDARY/INDIVIDUAL_PROCESS), databaseName: str, collectionName: str}
@optional {metrics: [str], start: str(date-time), end: str(date-time), period: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/{clusterView}/collStats/namespaces
@required {groupId: str, clusterName: str, clusterView: str(PRIMARY/SECONDARY/INDIVIDUAL_PROCESS)}
@optional {start: str(date-time), end: str(date-time), period: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/autoScalingConfiguration
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports/{exportId}
@required {groupId: str, clusterName: str, exportId: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs/{restoreJobId}
@required {groupId: str, clusterName: str, restoreJobId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 405, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs/{restoreJobId}
@required {groupId: str, clusterName: str, restoreJobId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedCluster/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedCluster/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedClusters
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backupCheckpoints
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backupCheckpoints/{checkpointId}
@required {groupId: str, checkpointId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned
@required {groupId: str, clusterName: str}
@returns(200)
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/pinned
@required {groupId: str, clusterName: str}
@returns(200)
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/collStats/unpin
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{databaseName}/{collectionName}
@required {groupId: str, clusterName: str, collectionName: str, databaseName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/customZoneMapping
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/customZoneMapping
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces
@required {clusterName: str, groupId: str}
@optional {pretty: bool=false, db: str, collection: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 405, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/index
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(202)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/lifecycleManagementPolicies
@required {groupId: str, clusterName: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/lifecycleManagementPolicies
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/lifecycleManagementPolicies/{policyId}
@required {groupId: str, clusterName: str, policyId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/lifecycleManagementPolicies/{policyId}
@required {groupId: str, clusterName: str, policyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/lifecycleManagementPolicies/{policyId}
@required {groupId: str, clusterName: str, policyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}
@required {groupId: str, archiveId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}
@required {groupId: str, archiveId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/{archiveId}
@required {groupId: str, archiveId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives/queryLogs.gz
@required {groupId: str, clusterName: str}
@optional {startDate: int(int64), endDate: int(int64), archiveOnly: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/dropIndexSuggestions
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/schemaAdvice
@required {groupId: str, clusterName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes
@required {groupId: str, clusterName: str}
@optional {processIds: [str], namespaces: [str], since: int(int64), until: int(int64)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/processArgs
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/processArgs
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/{queryShapeHash}/details
@required {groupId: str, clusterName: str, queryShapeHash: str}
@optional {pretty: bool=false, since: int(int64), until: int(int64), processIds: [str]}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/summaries
@required {groupId: str, clusterName: str}
@optional {since: int(int64), until: int(int64), processIds: [str], namespaces: [str], commands: [str], nSummaries: int(int64)=100, series: [str], queryShapeHashes: [str], pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes
@required {groupId: str, clusterName: str}
@optional {status: str=REJECTED, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes/{queryShapeHash}
@required {groupId: str, clusterName: str, queryShapeHash: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapes/{queryShapeHash}
@required {groupId: str, clusterName: str, queryShapeHash: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restartPrimaries
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, batchId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs/{jobId}
@required {groupId: str, clusterName: str, jobId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500, 503}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}
@required {groupId: str, clusterName: str, collectionName: str, databaseName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500, 503}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}
@required {groupId: str, clusterName: str, collectionName: str, databaseName: str, indexName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}
@required {groupId: str, clusterName: str, collectionName: str, databaseName: str, indexName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName}
@required {groupId: str, clusterName: str, collectionName: str, databaseName: str, indexName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500, 503}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}
@required {groupId: str, clusterName: str, indexId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshotSchedule
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshotSchedule
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshots
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, completed: str(all/true/false)=true}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/status
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:grantMongoDBEmployeeAccess
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:pinFeatureCompatibilityVersion
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:revokeMongoDBEmployeeAccess
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:unpinFeatureCompatibilityVersion
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/{hostName}/logs/{logName}.gz
@required {groupId: str, hostName: str, logName: str(mongodb/mongos/mongodb-audit-log/mongos-audit-log)}
@optional {endDate: int(int64), startDate: int(int64)}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/clusters/provider/regions
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, providers: [str], tier: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/tenantUpgrade
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/clusters/tenantUpgradeToServerless
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/collStats/metrics
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/containers
@required {groupId: str, providerName: str(AWS/AZURE/GCP)=AWS}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/containers
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/containers/{containerId}
@required {groupId: str, containerId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/containers/{containerId}
@required {groupId: str, containerId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/containers/{containerId}
@required {groupId: str, containerId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/containers/all
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/customDBRoles/roles
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/customDBRoles/roles
@required {groupId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}
@required {groupId: str, roleName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}
@required {groupId: str, roleName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}
@required {groupId: str, roleName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dataFederation
@required {groupId: str}
@optional {pretty: bool=false, type: str(USER/ONLINE_ARCHIVE)=USER}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/dataFederation
@required {groupId: str}
@optional {pretty: bool=false, skipRoleValidation: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}
@required {groupId: str, tenantName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}
@required {groupId: str, tenantName: str, skipRoleValidation: bool}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}
@required {groupId: str, tenantName: str, limitName: str(bytesProcessed.query/bytesProcessed.daily/bytesProcessed.weekly/bytesProcessed.monthly)}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}
@required {groupId: str, tenantName: str, limitName: str(bytesProcessed.query/bytesProcessed.daily/bytesProcessed.weekly/bytesProcessed.monthly)}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/limits/{limitName}
@required {groupId: str, tenantName: str, limitName: str(bytesProcessed.query/bytesProcessed.daily/bytesProcessed.weekly/bytesProcessed.monthly)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}/queryLogs.gz
@required {groupId: str, tenantName: str}
@optional {endDate: int(int64), startDate: int(int64)}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/databaseUsers
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/databaseUsers
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}
@required {groupId: str, databaseName: str, username: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}
@required {groupId: str, databaseName: str, username: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}
@required {groupId: str, databaseName: str, username: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs
@required {groupId: str, username: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs
@required {groupId: str, username: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dbAccessHistory/clusters/{clusterName}
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, authResult: bool, end: int(int64), ipAddress: str, nLogs: int(int32)=20000, start: int(int64)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/dbAccessHistory/processes/{hostname}
@required {groupId: str, hostname: str}
@optional {pretty: bool=false, authResult: bool, end: int(int64), ipAddress: str, nLogs: int(int32)=20000, start: int(int64)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/encryptionAtRest
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/encryptionAtRest
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints
@required {groupId: str, cloudProvider: str(AZURE/AWS)}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints
@required {groupId: str, cloudProvider: str(AZURE/AWS)}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints/{endpointId}
@required {groupId: str, cloudProvider: str(AZURE/AWS), endpointId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/encryptionAtRest/{cloudProvider}/privateEndpoints/{endpointId}
@required {groupId: str, cloudProvider: str(AZURE/AWS), endpointId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/events
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, clusterNames: [str], eventType: [map], excludedEventType: [map], includeRaw: bool=false, maxDate: str(date-time), minDate: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/events/{eventId}
@required {groupId: str, eventId: str}
@optional {pretty: bool=false, includeRaw: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/flexClusters
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/flexClusters/{name}
@required {groupId: str, name: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters/{name}
@required {groupId: str, name: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/flexClusters/{name}
@required {groupId: str, name: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 402, 403, 404, 409, 429}

@endpoint POST /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/download
@required {name: str, groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs
@required {groupId: str, name: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs
@required {groupId: str, name: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/restoreJobs/{restoreJobId}
@required {groupId: str, name: str, restoreJobId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/snapshots
@required {groupId: str, name: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/flexClusters/{name}/backup/snapshots/{snapshotId}
@required {groupId: str, name: str, snapshotId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/flexClusters:tenantUpgrade
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics
@required {processId: str, groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/indexes/{databaseName}/{collectionName}/{indexName}/measurements
@required {processId: str, indexName: str, databaseName: str, collectionName: str, groupId: str, granularity: str, metrics: [str]}
@optional {period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/indexes/{databaseName}/{collectionName}/measurements
@required {processId: str, databaseName: str, collectionName: str, groupId: str, granularity: str, metrics: [str]}
@optional {period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/hosts/{processId}/fts/metrics/measurements
@required {processId: str, groupId: str, granularity: str, metrics: [str]}
@optional {period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/integrations
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/integrations/{integrationType}
@required {integrationType: str(PAGER_DUTY/SLACK/DATADOG/NEW_RELIC/OPS_GENIE/VICTOR_OPS/WEBHOOK/HIP_CHAT/PROMETHEUS/MICROSOFT_TEAMS), groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/integrations/{integrationType}
@required {groupId: str, integrationType: str(PAGER_DUTY/SLACK/DATADOG/NEW_RELIC/OPS_GENIE/VICTOR_OPS/WEBHOOK/HIP_CHAT/PROMETHEUS/MICROSOFT_TEAMS)}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/integrations/{integrationType}
@required {integrationType: str(PAGER_DUTY/SLACK/DATADOG/NEW_RELIC/OPS_GENIE/VICTOR_OPS/WEBHOOK/HIP_CHAT/PROMETHEUS/MICROSOFT_TEAMS), groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/integrations/{integrationType}
@required {integrationType: str(PAGER_DUTY/SLACK/DATADOG/NEW_RELIC/OPS_GENIE/VICTOR_OPS/WEBHOOK/HIP_CHAT/PROMETHEUS/MICROSOFT_TEAMS), groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/invites
@required {groupId: str}
@optional {pretty: bool=false, username: str(email)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/invites
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/invites
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/invites/{invitationId}
@required {groupId: str, invitationId: str}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/invites/{invitationId}
@required {groupId: str, invitationId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/invites/{invitationId}
@required {groupId: str, invitationId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/ipAddresses
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/limits
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/limits/{limitName}
@required {limitName: str(atlas.project.security.databaseAccess.users/atlas.project.deployment.clusters/atlas.project.deployment.serverlessMTMs/atlas.project.security.databaseAccess.customRoles/atlas.project.security.networkAccess.entries/atlas.project.security.networkAccess.crossRegionEntries/atlas.project.deployment.nodesPerPrivateLinkRegion/dataFederation.bytesProcessed.query/dataFederation.bytesProcessed.daily/dataFederation.bytesProcessed.weekly/dataFederation.bytesProcessed.monthly/atlas.project.deployment.privateServiceConnectionsPerRegionGroup/atlas.project.deployment.privateServiceConnectionsSubnetMask), groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/limits/{limitName}
@required {limitName: str(atlas.project.security.databaseAccess.users/atlas.project.deployment.clusters/atlas.project.deployment.serverlessMTMs/atlas.project.security.databaseAccess.customRoles/atlas.project.security.networkAccess.entries/atlas.project.security.networkAccess.crossRegionEntries/atlas.project.deployment.nodesPerPrivateLinkRegion/dataFederation.bytesProcessed.query/dataFederation.bytesProcessed.daily/dataFederation.bytesProcessed.weekly/dataFederation.bytesProcessed.monthly/atlas.project.deployment.privateServiceConnectionsPerRegionGroup/atlas.project.deployment.privateServiceConnectionsSubnetMask), groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/limits/{limitName}
@required {limitName: str(atlas.project.security.databaseAccess.users/atlas.project.deployment.clusters/atlas.project.deployment.serverlessMTMs/atlas.project.security.databaseAccess.customRoles/atlas.project.security.networkAccess.entries/atlas.project.security.networkAccess.crossRegionEntries/atlas.project.deployment.nodesPerPrivateLinkRegion/dataFederation.bytesProcessed.query/dataFederation.bytesProcessed.daily/dataFederation.bytesProcessed.weekly/dataFederation.bytesProcessed.monthly/atlas.project.deployment.privateServiceConnectionsPerRegionGroup/atlas.project.deployment.privateServiceConnectionsSubnetMask), groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/liveMigrations
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/liveMigrations/{liveMigrationId}
@required {groupId: str, liveMigrationId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/liveMigrations/{liveMigrationId}/cutover
@required {groupId: str, liveMigrationId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/liveMigrations/validate
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/liveMigrations/validate/{validationId}
@required {groupId: str, validationId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/logIntegrations
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, integrationType: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/logIntegrations
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/logIntegrations/{id}
@required {groupId: str, id: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/logIntegrations/{id}
@required {groupId: str, id: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/logIntegrations/{id}
@required {groupId: str, id: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/maintenanceWindow
@required {groupId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/maintenanceWindow
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/maintenanceWindow
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/maintenanceWindow/autoDefer
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/maintenanceWindow/defer
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/managedSlowMs
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/managedSlowMs/disable
@required {groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/managedSlowMs/enable
@required {groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/mongoDBVersions
@required {groupId: str}
@optional {pretty: bool=false, cloudProvider: str(AWS/AZURE/GCP/TENANT), instanceSize: str, defaultStatus: str, itemsPerPage: int(int64)=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/peers
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, providerName: str(AWS/AZURE/GCP)=AWS}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/peers
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/peers/{peerId}
@required {groupId: str, peerId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/peers/{peerId}
@required {groupId: str, peerId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/peers/{peerId}
@required {groupId: str, peerId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/pipelines
@required {groupId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}
@required {groupId: str, pipelineName: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}
@required {groupId: str, pipelineName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}
@required {groupId: str, pipelineName: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/availableSchedules
@required {groupId: str, pipelineName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/availableSnapshots
@required {groupId: str, pipelineName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, completedAfter: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/pause
@required {groupId: str, pipelineName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/resume
@required {groupId: str, pipelineName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/runs
@required {groupId: str, pipelineName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, createdBefore: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/runs/{pipelineRunId}
@required {groupId: str, pipelineName: str, pipelineRunId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/runs/{pipelineRunId}
@required {groupId: str, pipelineName: str, pipelineRunId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/pipelines/{pipelineName}/trigger
@required {groupId: str, pipelineName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint/{endpointId}
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS, endpointId: str, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/{cloudProvider}/endpointService/{endpointServiceId}/endpoint/{endpointId}
@required {groupId: str, cloudProvider: str(AWS/AZURE/GCP)=AWS, endpointId: str, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/privateEndpoint/endpointService
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/privateEndpoint/endpointService/{endpointServiceId}
@required {groupId: str, endpointServiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/regionalMode
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/privateEndpoint/regionalMode
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/serverless/instance/{instanceName}/endpoint
@required {groupId: str, instanceName: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/privateEndpoint/serverless/instance/{instanceName}/endpoint
@required {groupId: str, instanceName: str}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/privateEndpoint/serverless/instance/{instanceName}/endpoint/{endpointId}
@required {groupId: str, instanceName: str, endpointId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateEndpoint/serverless/instance/{instanceName}/endpoint/{endpointId}
@required {groupId: str, instanceName: str, endpointId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/privateEndpoint/serverless/instance/{instanceName}/endpoint/{endpointId}
@required {groupId: str, instanceName: str, endpointId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateIpMode
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/privateIpMode
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds/{endpointId}
@required {groupId: str, endpointId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/privateNetworkSettings/endpointIds/{endpointId}
@required {groupId: str, endpointId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}
@required {groupId: str, processId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/{databaseName}/{collectionName}/collStats/measurements
@required {groupId: str, processId: str, databaseName: str, collectionName: str}
@optional {metrics: [str], start: str(date-time), end: str(date-time), period: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/collStats/namespaces
@required {groupId: str, processId: str}
@optional {start: str(date-time), end: str(date-time), period: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/databases
@required {groupId: str, processId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/databases/{databaseName}
@required {groupId: str, databaseName: str, processId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/databases/{databaseName}/measurements
@required {groupId: str, databaseName: str, processId: str, granularity: str}
@optional {pretty: bool=false, m: [str], period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/disks
@required {groupId: str, processId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/disks/{partitionName}
@required {partitionName: str, groupId: str, processId: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/disks/{partitionName}/measurements
@required {groupId: str, partitionName: str, processId: str, granularity: str}
@optional {pretty: bool=false, m: [str], period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/measurements
@required {groupId: str, processId: str, granularity: str}
@optional {pretty: bool=false, m: [str], period: str, start: str(date-time), end: str(date-time)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/namespaces
@required {groupId: str, processId: str}
@optional {pretty: bool=false, duration: int(int64), since: int(int64)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs
@required {groupId: str, processId: str}
@optional {pretty: bool=false, duration: int(int64), namespaces: [str], nLogs: int(int64)=20000, since: int(int64), includeMetrics: bool=false, includeReplicaState: bool=false, includeOpType: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/suggestedIndexes
@required {groupId: str, processId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, duration: int(int64), namespaces: [str], nExamples: int(int64)=5, nIndexes: int(int64), since: int(int64)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/pushBasedLogExport
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/pushBasedLogExport
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/pushBasedLogExport
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/pushBasedLogExport
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{name}
@required {groupId: str, name: str}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{sampleDatasetId}
@required {groupId: str, sampleDatasetId: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/sandbox/{sandboxConfigId}:generateClusterDescription
@required {groupId: str, sandboxConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/restoreJobs
@required {groupId: str, clusterName: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/restoreJobs
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/restoreJobs/{restoreJobId}
@required {groupId: str, clusterName: str, restoreJobId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/snapshots
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/snapshots/{snapshotId}
@required {groupId: str, clusterName: str, snapshotId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/performanceAdvisor/autoIndexing
@required {groupId: str, clusterName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/performanceAdvisor/autoIndexing
@required {groupId: str, clusterName: str, enable: bool}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serverless/{name}
@required {groupId: str, name: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serviceAccounts
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serviceAccounts
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}
@required {clientId: str, groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}
@required {groupId: str, clientId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}
@required {clientId: str, groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList
@required {groupId: str, clientId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList
@required {groupId: str, clientId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList/{ipAddress}
@required {groupId: str, clientId: str, ipAddress: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/secrets
@required {groupId: str, clientId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/secrets/{secretId}
@required {clientId: str, secretId: str, groupId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}:invite
@required {clientId: str, groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/settings
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/settings
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/standbyLinks
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/standbyLinks
@required {groupId: str}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/standbyLinks/{standbyLinkId}
@required {groupId: str, standbyLinkId: str}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/standbyLinks/{standbyLinkId}
@required {groupId: str, standbyLinkId: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/standbyLinks/{standbyLinkId}/failovers
@required {groupId: str, standbyLinkId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/standbyLinks/{standbyLinkId}/failovers
@required {groupId: str, standbyLinkId: str}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/standbyLinks/{standbyLinkId}/failovers/{failoverId}
@required {groupId: str, standbyLinkId: str, failoverId: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/streams/{tenantName}
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}
@required {groupId: str, tenantName: str}
@optional {includeConnections: bool}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/streams/{tenantName}
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}/auditLogs
@required {groupId: str, tenantName: str}
@optional {endDate: int(int64), startDate: int(int64), spName: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections
@required {groupId: str, tenantName: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}
@required {groupId: str, tenantName: str, connectionName: str}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}
@required {groupId: str, tenantName: str, connectionName: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}
@required {groupId: str, tenantName: str, connectionName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/connections/{connectionName}/failoverConnections
@required {groupId: str, tenantName: str, connectionName: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:start
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:startWith
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processor/{processorName}:stop
@required {groupId: str, tenantName: str, processorName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}/processors
@required {groupId: str, tenantName: str}
@optional {pretty: bool=false, itemsPerPage: int=100, pageNum: int=1, includeCount: bool=true}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/{tenantName}:downloadOperationalLogs
@required {groupId: str, tenantName: str}
@optional {endDate: int(int64), startDate: int(int64), spName: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/accountDetails
@required {groupId: str, cloudProvider: str, regionName: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/activeVpcPeeringConnections
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/privateLinkConnections
@required {groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/privateLinkConnections
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/streams/privateLinkConnections/{connectionId}
@required {groupId: str, connectionId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/privateLinkConnections/{connectionId}
@required {groupId: str, connectionId: str}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections
@required {requesterAccountId: str, groupId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}
@required {groupId: str, id: str}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}:accept
@required {groupId: str, id: str}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams/vpcPeeringConnections/{id}:reject
@required {groupId: str, id: str}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/streams:withSampleConnections
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/teams
@required {groupId: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/teams
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/teams/{teamId}
@required {groupId: str, teamId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/teams/{teamId}
@required {groupId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/teams/{teamId}
@required {groupId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/userSecurity
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/groups/{groupId}/userSecurity
@required {groupId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/userSecurity/customerX509
@required {groupId: str}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/userSecurity/ldap/userToDNMapping
@required {groupId: str}
@optional {pretty: bool=false}
@returns(202)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/userSecurity/ldap/verify
@required {groupId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/userSecurity/ldap/verify/{requestId}
@required {groupId: str, requestId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/users
@required {groupId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, flattenTeams: bool=false, includeOrgUsers: bool=false, orgMembershipStatus: str, username: str(email)}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/users
@required {groupId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/groups/{groupId}/users/{userId}
@required {groupId: str, userId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/{groupId}/users/{userId}
@required {groupId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/groups/{groupId}/users/{userId}/roles
@required {groupId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/users/{userId}:addRole
@required {groupId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}/users/{userId}:removeRole
@required {groupId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/groups/{groupId}:migrate
@required {groupId: str}
@returns(200)
@errors {401, 402, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/groups/byName/{groupName}
@required {groupName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/orgs
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, name: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/orgs
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}
@required {orgId: str}
@returns(204)
@errors {400, 401, 402, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/activityFeed
@required {orgId: str}
@optional {pretty: bool=false, eventType: [map], maxDate: str(date-time), minDate: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/aiModelApiKeys
@required {orgId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/aiModelApiKeys/{apiKeyId}
@required {orgId: str, apiKeyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/aiModelRateLimits
@required {orgId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/aiModelRateLimits/{modelGroupName}
@required {orgId: str, modelGroupName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/apiKeys
@required {orgId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/apiKeys
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}
@required {orgId: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}
@required {orgId: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}
@required {orgId: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList
@required {orgId: str, apiUserId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList
@required {orgId: str, apiUserId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList/{ipAddress}
@required {orgId: str, apiUserId: str, ipAddress: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/apiKeys/{apiUserId}/accessList/{ipAddress}
@required {orgId: str, ipAddress: str, apiUserId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/associatedInvoices
@required {orgId: str}
@optional {month: int(int64), year: int(int64), includeLinkedOrgs: bool}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage
@required {orgId: str}
@returns(202)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage/{token}
@required {orgId: str, token: str}
@returns(200)
@errors {102, 400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/events
@required {orgId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, eventType: [map], includeRaw: bool=false, maxDate: str(date-time), minDate: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/events/{eventId}
@required {orgId: str, eventId: str}
@optional {pretty: bool=false, includeRaw: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/federationSettings
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/groups
@required {orgId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, name: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invites
@required {orgId: str}
@optional {pretty: bool=false, username: str(email)}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/invites
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/invites
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/invites/{invitationId}
@required {orgId: str, invitationId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invites/{invitationId}
@required {orgId: str, invitationId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/invites/{invitationId}
@required {orgId: str, invitationId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invoices
@required {orgId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, viewLinkedInvoices: bool=true, statusNames: [str], fromDate: str(date), toDate: str(date), sortBy: str(START_DATE/END_DATE)=END_DATE, orderBy: str(desc/asc)=desc}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}
@required {orgId: str, invoiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/csv
@required {orgId: str, invoiceId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/lineItems:search
@required {orgId: str, invoiceId: str}
@optional {itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}:generateAndDownloadReport
@required {orgId: str, invoiceId: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/invoices/pending
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/liveMigrations/availableProjects
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/liveMigrations/linkTokens
@required {orgId: str}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/liveMigrations/linkTokens
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/nonCompliantResources
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/resourcePolicies
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/resourcePolicies
@required {orgId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}
@required {orgId: str, resourcePolicyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}
@required {orgId: str, resourcePolicyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/resourcePolicies/{resourcePolicyId}
@required {orgId: str, resourcePolicyId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/resourcePolicies:validate
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/sandboxConfig
@required {orgId: str}
@optional {pretty: bool=false, itemsPerPage: int=100, pageNum: int=1}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/sandboxConfig
@required {orgId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/sandboxConfig/{sandboxConfigId}
@required {orgId: str, sandboxConfigId: str}
@returns(204)
@errors {401, 403, 404, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/sandboxConfig/{sandboxConfigId}
@required {orgId: str, sandboxConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/sandboxConfig/{sandboxConfigId}
@required {orgId: str, sandboxConfigId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/serviceAccounts
@required {orgId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/serviceAccounts
@required {orgId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}
@required {clientId: str, orgId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}
@required {orgId: str, clientId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}
@required {clientId: str, orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList
@required {orgId: str, clientId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList
@required {orgId: str, clientId: str}
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/accessList/{ipAddress}
@required {orgId: str, clientId: str, ipAddress: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/groups
@required {orgId: str, clientId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/secrets
@required {orgId: str, clientId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/serviceAccounts/{clientId}/secrets/{secretId}
@required {clientId: str, secretId: str, orgId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/settings
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/settings
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/teams
@required {orgId: str}
@optional {itemsPerPage: int=100, includeCount: bool=true, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/teams
@required {orgId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/teams/{teamId}
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/teams/{teamId}
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/teams/{teamId}
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/teams/{teamId}/users
@required {orgId: str, teamId: str}
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, username: str(email), orgMembershipStatus: str, userId: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/teams/{teamId}/users
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/teams/{teamId}/users/{userId}
@required {orgId: str, teamId: str, userId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/teams/{teamId}:addUser
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/teams/{teamId}:removeUser
@required {orgId: str, teamId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/teams/byName/{teamName}
@required {orgId: str, teamName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/users
@required {orgId: str}
@optional {pretty: bool=false, includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, username: str(email), orgMembershipStatus: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/users
@required {orgId: str}
@optional {pretty: bool=false}
@returns(201)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint DELETE /api/atlas/v2/orgs/{orgId}/users/{userId}
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(204)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/orgs/{orgId}/users/{userId}
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PATCH /api/atlas/v2/orgs/{orgId}/users/{userId}
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint PUT /api/atlas/v2/orgs/{orgId}/users/{userId}/roles
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/users/{userId}:addRole
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint POST /api/atlas/v2/orgs/{orgId}/users/{userId}:removeRole
@required {orgId: str, userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/rateLimits
@optional {itemsPerPage: int=100, pageNum: int=1, pretty: bool=false, groupId: str, orgId: str, userId: str, ipAddress: str, name: str, endpointPath: str}
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint GET /api/atlas/v2/rateLimits/{endpointSetId}
@required {endpointSetId: str}
@optional {pretty: bool=false, groupId: str, orgId: str, userId: str, ipAddress: str}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/skus
@optional {includeCount: bool=true, itemsPerPage: int=100, pageNum: int=1, pretty: bool=false}
@returns(200)
@errors {401, 403, 429, 500}

@endpoint GET /api/atlas/v2/skus/{skuId}
@required {skuId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/unauth/controlPlaneIPAddresses
@returns(200)
@errors {429, 500}

@endpoint POST /api/atlas/v2/users
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/users/{userId}
@required {userId: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /api/atlas/v2/users/byName/{userName}
@required {userName: str}
@optional {pretty: bool=false}
@returns(200)
@errors {401, 403, 404, 429, 500}

@end
