Create One Atlas Resource Policy
Create one Atlas Resource Policy for an org.
Path parameters
- 
    
  Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. 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 resourcePolicies createOrgResourcePolicy --helpimport (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20241113001/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.CreateOrgResourcePolicyApiParams{}
	sdkResp, httpResp, err := client.ResourcePoliciesApi.
		CreateOrgResourcePolicyWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-11-13+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/resourcePolicies" \
  -d '{ <Payload> }'curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-11-13+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/resourcePolicies" \
  -d '{ <Payload> }'{
  "description": "string",
  "name": "string",
  "policies": [
    {
      "body": "  forbid (\n    principal,\n    action == cloud::Action::\"cluster.createEdit\",\n    resource\n  ) when {\n   context.cluster.regions.contains(cloud::region::\"aws:us-east-1\")\n  };\n"
    }
  ]
}{
  "createdByUser": {
    "id": "32b6e34b3d91647abb20e7b8",
    "name": "string"
  },
  "createdDate": "2025-05-04T09:42:00Z",
  "description": "string",
  "id": "32b6e34b3d91647abb20e7b8",
  "lastUpdatedByUser": {
    "id": "32b6e34b3d91647abb20e7b8",
    "name": "string"
  },
  "lastUpdatedDate": "2025-05-04T09:42:00Z",
  "name": "string",
  "orgId": "32b6e34b3d91647abb20e7b8",
  "policies": [
    {
      "body": "  forbid (\n    principal,\n    action == cloud::Action::\"cluster.createEdit\",\n    resource\n  ) when {\n   context.cluster.regions.contains(cloud::region::\"aws:us-east-1\")\n  };\n",
      "id": "32b6e34b3d91647abb20e7b8"
    }
  ],
  "version": "v1"
}{
  "errorType": "POLICY_PARSING_ERROR",
  "invalidPolicies": [
    {
      "body": "  forbid (\n    principal,\n    action == cloud::Action::\"cluster.createEdit\",\n    resource\n  ) when {\n   context.cluster.regions.contains(cloud::region::\"aws:us-east-1\")\n  };\n",
      "errors": [
        {
          "detail": "string"
        }
      ]
    }
  ]
}{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}