MongoDB Cloud Backups API

Manages Cloud Backup snapshots, snapshot export buckets, restore jobs, and schedules. This resource applies only to clusters that use Cloud Backups.

OpenAPI Specification

mongodb-cloud-backups-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: "The MongoDB Atlas Administration API allows developers to manage all components in MongoDB Atlas.\n\nThe Atlas Administration API supports OAuth2 Service Accounts and HTTP Digest-based API keys. Service accounts are the recommended authentication method and API keys are considered a legacy option.\n\nTo authenticate with a Service Account, first exchange its client ID and secret for an access token using the OAuth 2.0 Client Credentials flow. Atlas provides a token endpoint at `POST https://cloud.mongodb.com/api/oauth/token`, which returns a Bearer token that is reusable and valid for 1 hour (3600 seconds).\n\nFor example, to [return a list of your organizations](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/operation/operation-listorgs) with [cURL](https://en.wikipedia.org/wiki/CURL), first generate an access token and then use that token to call the same Atlas Administration API endpoint shown in the current example:\n\n```\nACCESS_TOKEN=$(curl -fsS --request POST https://cloud.mongodb.com/api/oauth/token \\\n  --header \"Authorization: Basic $(printf '%s' \"${CLIENT_ID}:${CLIENT_SECRET}\" | base64 | tr -d '\\n')\" \\\n  --header \"Content-Type: application/x-www-form-urlencoded\" \\\n  --header \"Accept: application/json\" \\\n  --data \"grant_type=client_credentials\" | jq -r '.access_token')\n\ncurl --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/orgs?pretty=true\"\n```\n\nIf your organization requires an IP access list for the Atlas Administration API, the token can be created from any IP address, but the API call that uses the token must originate from an allowed IP.\n\nTo learn more, see [Get Started with the Atlas Administration API](https://www.mongodb.com/docs/atlas/configure-api-access/). For support, see [MongoDB Support](https://www.mongodb.com/support/get-started).\n\nYou can also explore the various endpoints available through the Atlas Administration API in MongoDB's [Postman workspace](https://www.postman.com/mongodb-devrel/workspace/mongodb-atlas-administration-apis/) (requires a Postman account)."
  license:
    name: CC BY-NC-SA 3.0 US
    url: https://creativecommons.org/licenses/by-nc-sa/3.0/us/
  termsOfService: https://www.mongodb.com/mongodb-management-service-terms-and-conditions
  title: MongoDB Atlas Administration Access Tracking Cloud Backups API
  version: '2.0'
  x-xgen-sha: 3d70e065843c008b9871ea7836c98c9de6f202f9
servers:
- url: https://cloud.mongodb.com
security:
- ServiceAccounts: []
- DigestAuth: []
tags:
- description: Manages Cloud Backup snapshots, snapshot export buckets, restore jobs, and schedules. This resource applies only to clusters that use Cloud Backups.
  name: Cloud Backups
paths:
  /api/atlas/v2/groups/{groupId}/backup/exportBuckets:
    get:
      description: 'Returns all Export Buckets associated with the specified Project. To use this resource, the requesting Service Account or API Key must have the Project Read Only role. Deprecated versions: v2-{2023-01-01}'
      operationId: listGroupBackupExportBuckets
      parameters:
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/includeCount'
      - $ref: '#/components/parameters/itemsPerPage'
      - $ref: '#/components/parameters/pageNum'
      - $ref: '#/components/parameters/pretty'
      responses:
        '200':
          content:
            application/vnd.atlas.2024-05-30+json:
              schema:
                $ref: '#/components/schemas/PaginatedBackupSnapshotExportBucketsView'
              x-xgen-version: '2024-05-30'
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Return All Snapshot Export Buckets
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups listExportBuckets --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.ListGroupBackupExportBucketsApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tListGroupBackupExportBucketsWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets?pretty=true\""
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets?pretty=true\""
      x-rolesRequirements:
      - Project Read Only
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/listGroupBackupExportBuckets
      x-xgen-operation-id-override: listExportBuckets
    post:
      description: 'Creates a Snapshot Export Bucket for an AWS S3 Bucket, Azure Blob Storage Container, or Google Cloud Storage Bucket. Once created, an snapshots can be exported to the Export Bucket and its referenced AWS S3 Bucket, Azure Blob Storage Container, or Google Cloud Storage Bucket. To use this resource, the requesting Service Account or API Key must have the Project Owner role. Deprecated versions: v2-{2023-01-01}'
      operationId: createGroupBackupExportBucket
      parameters:
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/pretty'
      requestBody:
        content:
          application/vnd.atlas.2024-05-30+json:
            examples:
              AWS:
                description: AWS
                value:
                  bucketName: export-bucket
                  cloudProvider: AWS
                  iamRoleId: 668c5f0ed436263134491592
                  requirePrivateNetworking: false
              Azure:
                description: Azure
                value:
                  bucketName: examplecontainer
                  cloudProvider: AZURE
                  roleId: 668c5f0ed436263134491592
                  serviceUrl: https://examplestorageaccount.blob.core.windows.net/examplecontainer
              GCP:
                description: GCP
                value:
                  bucketName: export-bucket
                  cloudProvider: GCP
                  roleId: 668c5f0ed436263134491592
            schema:
              $ref: '#/components/schemas/DiskBackupSnapshotExportBucketRequest'
            x-xgen-version: '2024-05-30'
        description: Specifies the role and AWS S3 Bucket, Azure Blob Storage Container, or Google Cloud Storage Bucket that the Export Bucket should reference.
        required: true
      responses:
        '200':
          content:
            application/vnd.atlas.2024-05-30+json:
              examples:
                AWS:
                  description: AWS
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: export-bucket
                    cloudProvider: AWS
                    iamRoleId: 668c5f0ed436263134491592
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    region: us-east-1
                    requirePrivateNetworking: true
                Azure:
                  description: Azure
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: examplecontainer
                    cloudProvider: AZURE
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    roleId: 668c5f0ed436263134491592
                    serviceUrl: https://examplestorageaccount.blob.core.windows.net/examplecontainer
                    tenantId: 4297fc77-1592-4de8-a6d5-a8c32401df87
                GCP:
                  description: GCP
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: export-bucket
                    cloudProvider: GCP
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    roleId: 668c5f0ed436263134491592
              schema:
                $ref: '#/components/schemas/DiskBackupSnapshotExportBucketResponse'
              x-xgen-version: '2024-05-30'
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Create One Snapshot Export Bucket
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups createExportBucket --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.CreateGroupBackupExportBucketApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tCreateGroupBackupExportBucketWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X POST \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets\" \\\n  -d '{ <Payload> }'"
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X POST \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets\" \\\n  -d '{ <Payload> }'"
      x-rolesRequirements:
      - Project Backup Manager
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/createGroupBackupExportBucket
      x-xgen-operation-id-override: createExportBucket
  /api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}:
    delete:
      description: Deletes an Export Bucket. Auto export must be disabled on all clusters in this Project exporting to this Export Bucket before revoking access. To use this resource, the requesting Service Account or API Key must have the Project Backup Manager role.
      operationId: deleteGroupBackupExportBucket
      parameters:
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/groupId'
      - description: Unique 24-hexadecimal character string that identifies the Export Bucket.
        in: path
        name: exportBucketId
        required: true
        schema:
          example: 32b6e34b3d91647abb20e7b8
          pattern: ^([a-f0-9]{24})$
          type: string
      responses:
        '204':
          content:
            application/vnd.atlas.2023-01-01+json:
              x-xgen-version: '2023-01-01'
          description: This endpoint does not return a response body.
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Delete One Snapshot Export Bucket
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups deleteExportBucket --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.DeleteGroupBackupExportBucketApiParams{}\n\thttpResp, err := client.CloudBackupsApi.\n\t\tDeleteGroupBackupExportBucketWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X DELETE \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}\""
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X DELETE \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}\""
      x-rolesRequirements:
      - Project Backup Manager
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/deleteGroupBackupExportBucket
      x-xgen-operation-id-override: deleteExportBucket
    get:
      description: 'Returns one Export Bucket associated with the specified Project. To use this resource, the requesting Service Account or API Key must have the Project Read Only role. Deprecated versions: v2-{2023-01-01}'
      operationId: getGroupBackupExportBucket
      parameters:
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/groupId'
      - description: Unique 24-hexadecimal character string that identifies the Export Bucket.
        in: path
        name: exportBucketId
        required: true
        schema:
          example: 32b6e34b3d91647abb20e7b8
          pattern: ^([a-f0-9]{24})$
          type: string
      responses:
        '200':
          content:
            application/vnd.atlas.2024-05-30+json:
              examples:
                AWS:
                  description: AWS
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: export-bucket
                    cloudProvider: AWS
                    iamRoleId: 668c5f0ed436263134491592
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    region: us-east-1
                    requirePrivateNetworking: true
                Azure:
                  description: Azure
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: examplecontainer
                    cloudProvider: AZURE
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    roleId: 668c5f0ed436263134491592
                    serviceUrl: https://examplestorageaccount.blob.core.windows.net/examplecontainer
                    tenantId: 4297fc77-1592-4de8-a6d5-a8c32401df87
                GCP:
                  description: GCP
                  value:
                    _id: 32b6e34b3d91647abb20e7b8
                    bucketName: export-bucket
                    cloudProvider: GCP
                    links:
                    - href: https://cloud.mongodb.com/api/atlas
                      rel: self
                    roleId: 668c5f0ed436263134491592
              schema:
                $ref: '#/components/schemas/DiskBackupSnapshotExportBucketResponse'
              x-xgen-version: '2024-05-30'
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Return One Snapshot Export Bucket
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups getExportBucket --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.GetGroupBackupExportBucketApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tGetGroupBackupExportBucketWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}?pretty=true\""
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}?pretty=true\""
      x-rolesRequirements:
      - Project Read Only
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/getGroupBackupExportBucket
      x-xgen-operation-id-override: getExportBucket
    patch:
      description: Updates the private networking settings for one snapshot export bucket in the specified project. To use this resource, the requesting Service Account or API Key must have the Project Owner role.
      operationId: updateGroupBackupExportBucket
      parameters:
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/pretty'
      - description: Unique 24-hexadecimal character string that identifies the snapshot export bucket.
        in: path
        name: exportBucketId
        required: true
        schema:
          example: 32b6e34b3d91647abb20e7b8
          pattern: ^([a-f0-9]{24})$
          type: string
      requestBody:
        content:
          application/vnd.atlas.2024-05-30+json:
            schema:
              $ref: '#/components/schemas/UpdateRequirePrivateNetworkingRequestView'
            x-xgen-version: '2024-05-30'
        description: Updates the private networking requirement for the snapshot export bucket.
        required: true
      responses:
        '200':
          content:
            application/vnd.atlas.2024-05-30+json:
              schema:
                $ref: '#/components/schemas/DiskBackupSnapshotAWSExportBucketResponse'
              x-xgen-version: '2024-05-30'
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Update One Export Bucket Private Networking Settings
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups updateBackupExportBucket --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.UpdateGroupBackupExportBucketApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tUpdateGroupBackupExportBucketWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X PATCH \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}\" \\\n  -d '{ <Payload> }'"
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X PATCH \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}\" \\\n  -d '{ <Payload> }'"
      x-rolesRequirements:
      - Project Backup Manager
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/updateGroupBackupExportBucket
      x-xgen-operation-id-override: updateBackupExportBucket
  /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints:
    get:
      description: Returns the private endpoints of the specified cloud provider for object storage backup operations.
      operationId: listGroupBackupPrivateEndpoints
      parameters:
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/pretty'
      - $ref: '#/components/parameters/envelope'
      - $ref: '#/components/parameters/includeCount'
      - $ref: '#/components/parameters/itemsPerPage'
      - $ref: '#/components/parameters/pageNum'
      - description: Human-readable label that identifies the cloud provider for the private endpoints to return.
        in: path
        name: cloudProvider
        required: true
        schema:
          enum:
          - AWS
          type: string
      responses:
        '200':
          content:
            application/vnd.atlas.2024-11-13+json:
              schema:
                $ref: '#/components/schemas/PaginatedApiAtlasObjectStoragePrivateEndpointResponseView'
              x-xgen-version: '2024-11-13'
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups listBackupPrivateEndpoints --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.ListGroupBackupPrivateEndpointsApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tListGroupBackupPrivateEndpointsWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints?pretty=true\""
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  -X GET \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints?pretty=true\""
      x-rolesRequirements:
      - Project Owner
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/listGroupBackupPrivateEndpoints
      x-xgen-operation-id-override: listBackupPrivateEndpoints
    post:
      description: Creates a private endpoint in the specified region for secure, private connectivity between Atlas and cloud provider object storage services for backup operations.
      operationId: createGroupBackupPrivateEndpoint
      parameters:
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/pretty'
      - $ref: '#/components/parameters/envelope'
      - description: Human-readable label that identifies the cloud provider for the private endpoint to create.
        in: path
        name: cloudProvider
        required: true
        schema:
          enum:
          - AWS
          type: string
      requestBody:
        content:
          application/vnd.atlas.2024-11-13+json:
            schema:
              $ref: '#/components/schemas/ObjectStoragePrivateEndpointRequest'
        description: Creates a private endpoint in the specified region for object storage backup operations.
        required: true
      responses:
        '201':
          content:
            application/vnd.atlas.2024-11-13+json:
              schema:
                $ref: '#/components/schemas/ObjectStoragePrivateEndpointResponse'
              x-xgen-version: '2024-11-13'
          description: Created
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/HeaderRateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/HeaderRateLimitRemaining'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '409':
          $ref: '#/components/responses/conflict'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
      tags:
      - Cloud Backups
      x-codeSamples:
      - lang: cURL
        label: Atlas CLI
        source: atlas api cloudBackups createBackupPrivateEndpoint --help
      - lang: go
        label: Go
        source: "import (\n\t\"os\"\n\t\"context\"\n\t\"log\"\n\tsdk \"go.mongodb.org/atlas-sdk/v20250312001/admin\"\n)\n\nfunc main() {\n\tctx := context.Background()\n\tclientID := os.Getenv(\"MONGODB_ATLAS_CLIENT_ID\")\n\tclientSecret := os.Getenv(\"MONGODB_ATLAS_CLIENT_SECRET\")\n\n\t// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth\n\tclient, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))\n\n\tif err != nil {\n\t\tlog.Fatalf(\"Error: %v\", err)\n\t}\n\n\tparams = &sdk.CreateGroupBackupPrivateEndpointApiParams{}\n\tsdkResp, httpResp, err := client.CloudBackupsApi.\n\t\tCreateGroupBackupPrivateEndpointWithParams(ctx, params).\n\t\tExecute()\n}\n"
      - lang: cURL
        label: curl (Service Accounts)
        source: "curl --include --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X POST \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints\" \\\n  -d '{ <Payload> }'"
      - lang: cURL
        label: curl (Digest)
        source: "curl --user \"${PUBLIC_KEY}:${PRIVATE_KEY}\" \\\n  --digest --include \\\n  --header \"Accept: application/vnd.atlas.2025-03-12+json\" \\\n  --header \"Content-Type: application/json\" \\\n  -X POST \"https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints\" \\\n  -d '{ <Payload> }'"
      x-rolesRequirements:
      - Project Owner
      x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Backups/operation/createGroupBackupPrivateEndpoint
      x-xgen-operation-id-override: createBackupPrivateEndpoint
  /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}:
    delete:
      description: Deletes one private endpoint, identified by its ID, for object storage backup operations.
      operationId: deleteGroupBackupPrivateEndpoint
      parameters:
      - $ref: '#/components/parameters/groupId'
      - $ref: '#/components/parameters/pretty'
      - $ref: '#/components/parameters/envelope'
      - description: Human-readable label that identifies the cloud provider of the private endpoint to delete.
        in: path
        name: cloudProvider
        required: true
        schema:
          e

# --- truncated at 32 KB (227 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mongodb/refs/heads/main/openapi/mongodb-cloud-backups-api-openapi.yml