Returns all cloud provider access roles with access to the specified project. To use this resource, the requesting Service Account or API Key must have the Project Owner role.
- Project Owner
Path parameters
-
Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.
Format should match the following pattern:
^([a-f0-9]{24})$.
Query parameters
-
Flag that indicates whether Application wraps the response in an
envelopeJSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.Default value is
false. -
Flag that indicates whether the response body should be in the prettyprint format.
Default value is
false.Prettyprint
atlas api cloudProviderAccess listCloudProviderAccess --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230201001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.ListGroupCloudProviderAccessApiParams{}
sdkResp, httpResp, err := client.CloudProviderAccessApi.
ListGroupCloudProviderAccessWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-02-01+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-02-01+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess?pretty=true"
# Headers
# Payload
{
"awsIamRoles": [
{
"providerName": "CloudProviderAccessRole",
"_id": "32b6e34b3d91647abb20e7b8",
"atlasAzureAppId": "string",
"createdDate": "2026-05-04T09:42:00Z",
"featureUsages": [
{
"featureType": "ATLAS_DATA_LAKE",
"featureId": {
"groupId": "32b6e34b3d91647abb20e7b8",
"name": "string"
}
}
],
"lastUpdatedDate": "2026-05-04T09:42:00Z",
"servicePrincipalId": "string",
"tenantId": "string",
"gcpServiceAccountForAtlas": "string",
"roleId": "32b6e34b3d91647abb20e7b8",
"status": "IN_PROGRESS",
"atlasAWSAccountArn": "arn:aws:iam::772401394250:role/my-test-aws-role",
"atlasAssumedRoleExternalId": "string",
"authorizedDate": "2026-05-04T09:42:00Z",
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root"
}
],
"azureServicePrincipals": [
{
"providerName": "string",
"atlasAWSAccountArn": "arn:aws:iam::772401394250:role/my-test-aws-role",
"atlasAssumedRoleExternalId": "string",
"authorizedDate": "2026-05-04T09:42:00Z",
"createdDate": "2026-05-04T09:42:00Z",
"featureUsages": [
{
"featureType": "ATLAS_DATA_LAKE",
"featureId": {
"groupId": "32b6e34b3d91647abb20e7b8",
"name": "string"
}
}
],
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root",
"roleId": "32b6e34b3d91647abb20e7b8",
"gcpServiceAccountForAtlas": "string",
"status": "IN_PROGRESS",
"_id": "32b6e34b3d91647abb20e7b8",
"atlasAzureAppId": "string",
"lastUpdatedDate": "2026-05-04T09:42:00Z",
"servicePrincipalId": "string",
"tenantId": "string"
}
],
"gcpServiceAccounts": [
{
"providerName": "string",
"atlasAWSAccountArn": "arn:aws:iam::772401394250:role/my-test-aws-role",
"atlasAssumedRoleExternalId": "string",
"authorizedDate": "2026-05-04T09:42:00Z",
"createdDate": "2026-05-04T09:42:00Z",
"featureUsages": [
{
"featureType": "ATLAS_DATA_LAKE",
"featureId": {
"groupId": "32b6e34b3d91647abb20e7b8",
"name": "string"
}
}
],
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root",
"roleId": "32b6e34b3d91647abb20e7b8",
"_id": "32b6e34b3d91647abb20e7b8",
"atlasAzureAppId": "string",
"lastUpdatedDate": "2026-05-04T09:42:00Z",
"servicePrincipalId": "string",
"tenantId": "string",
"gcpServiceAccountForAtlas": "string",
"status": "IN_PROGRESS"
}
]
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 401,
"errorCode": "NOT_ORG_GROUP_CREATOR",
"reason": "Unauthorized"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 403,
"errorCode": "CANNOT_CHANGE_GROUP_NAME",
"reason": "Forbidden"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"error": 404,
"errorCode": "RESOURCE_NOT_FOUND",
"reason": "Not Found"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 429,
"errorCode": "RATE_LIMITED",
"reason": "Too Many Requests"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 500,
"errorCode": "UNEXPECTED_ERROR",
"reason": "Internal Server Error"
}