MongoDB · Capability

MongoDB Atlas Administration API — Cloud Backups

MongoDB Atlas Administration API — Cloud Backups. 35 operations. Lead operation: Return All Snapshot Export Buckets. Self-contained Naftiko capability covering one Mongodb business surface.

Run with Naftiko MongodbCloud Backups

What You Can Do

GET
Listgroupbackupexportbuckets — Return All Snapshot Export Buckets
/v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets
POST
Creategroupbackupexportbucket — Create One Snapshot Export Bucket
/v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets
DELETE
Deletegroupbackupexportbucket — Delete One Snapshot Export Bucket
/v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets/{exportbucketid}
GET
Getgroupbackupexportbucket — Return One Snapshot Export Bucket
/v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets/{exportbucketid}
PATCH
Updategroupbackupexportbucket — Update One Export Bucket Private Networking Settings
/v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets/{exportbucketid}
GET
Listgroupbackupprivateendpoints — Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project
/v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints
POST
Creategroupbackupprivateendpoint — Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
/v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints
DELETE
Deletegroupbackupprivateendpoint — Delete One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider from One Project
/v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints/{endpointid}
GET
Getgroupbackupprivateendpoint — Return One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
/v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints/{endpointid}
DELETE
Disablegroupbackupcompliancepolicy — Disable Backup Compliance Policy Settings
/v1/api/atlas/v2/groups/{groupid}/backupcompliancepolicy
GET
Getgroupbackupcompliancepolicy — Return Backup Compliance Policy Settings
/v1/api/atlas/v2/groups/{groupid}/backupcompliancepolicy
PUT
Updategroupbackupcompliancepolicy — Update Backup Compliance Policy Settings
/v1/api/atlas/v2/groups/{groupid}/backupcompliancepolicy
GET
Listgroupclusterbackupexports — Return All Snapshot Export Jobs
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/exports
POST
Creategroupclusterbackupexport — Create One Snapshot Export Job
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/exports
GET
Getgroupclusterbackupexport — Return One Snapshot Export Job
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/exports/{exportid}
GET
Listgroupclusterbackuprestorejobs — Return All Restore Jobs for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs
POST
Creategroupclusterbackuprestorejob — Create One Restore Job of One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs
DELETE
Cancelgroupclusterbackuprestorejob — Cancel One Restore Job for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs/{restorejobid}
GET
Getgroupclusterbackuprestorejob — Return One Restore Job for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs/{restorejobid}
DELETE
Deletegroupclusterbackupschedule — Remove All Cloud Backup Schedules
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/schedule
GET
Getgroupclusterbackupschedule — Return One Cloud Backup Schedule
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/schedule
PATCH
Updategroupclusterbackupschedule — Update Cloud Backup Schedule for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/schedule
GET
Listgroupclusterbackupsnapshots — Return All Replica Set Cloud Backups
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots
POST
Takegroupclusterbackupsnapshots — Take One On-Demand Snapshot
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots
DELETE
Deletegroupclusterbackupsnapshotshardedcluster — Remove One Sharded Cluster Cloud Backup
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/shardedcluster/{snapshotid}
GET
Getgroupclusterbackupsnapshotshardedcluster — Return One Sharded Cluster Cloud Backup
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/shardedcluster/{snapshotid}
GET
Listgroupclusterbackupsnapshotshardedclusters — Return All Sharded Cluster Cloud Backups
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/shardedclusters
DELETE
Deletegroupclusterbackupsnapshot — Remove One Replica Set Cloud Backup
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/{snapshotid}
GET
Getgroupclusterbackupsnapshot — Return One Replica Set Cloud Backup
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/{snapshotid}
PATCH
Updategroupclusterbackupsnapshot — Update Expiration Date for One Cloud Backup
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/snapshots/{snapshotid}
GET
Listgroupserverlessbackuprestorejobs — Return All Restore Jobs for One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/serverless/{clustername}/backup/restorejobs
POST
Creategroupserverlessbackuprestorejob — Create One Restore Job for One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/serverless/{clustername}/backup/restorejobs
GET
Getgroupserverlessbackuprestorejob — Return One Restore Job for One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/serverless/{clustername}/backup/restorejobs/{restorejobid}
GET
Listgroupserverlessbackupsnapshots — Return All Snapshots of One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/serverless/{clustername}/backup/snapshots
GET
Getgroupserverlessbackupsnapshot — Return One Snapshot of One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/serverless/{clustername}/backup/snapshots/{snapshotid}

MCP Tools

return-all-snapshot-export-buckets

Return All Snapshot Export Buckets

read-only idempotent
create-one-snapshot-export-bucket

Create One Snapshot Export Bucket

delete-one-snapshot-export-bucket

Delete One Snapshot Export Bucket

idempotent
return-one-snapshot-export-bucket

Return One Snapshot Export Bucket

read-only idempotent
update-one-export-bucket-private

Update One Export Bucket Private Networking Settings

idempotent
return-object-storage-private-endpoints

Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project

read-only idempotent
create-one-object-storage-private

Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project

delete-one-object-storage-private

Delete One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider from One Project

idempotent
return-one-object-storage-private

Return One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project

read-only idempotent
disable-backup-compliance-policy-settings

Disable Backup Compliance Policy Settings

idempotent
return-backup-compliance-policy-settings

Return Backup Compliance Policy Settings

read-only idempotent
update-backup-compliance-policy-settings

Update Backup Compliance Policy Settings

idempotent
return-all-snapshot-export-jobs

Return All Snapshot Export Jobs

read-only idempotent
create-one-snapshot-export-job

Create One Snapshot Export Job

return-one-snapshot-export-job

Return One Snapshot Export Job

read-only idempotent
return-all-restore-jobs-one

Return All Restore Jobs for One Cluster

read-only idempotent
create-one-restore-job-one

Create One Restore Job of One Cluster

cancel-one-restore-job-one

Cancel One Restore Job for One Cluster

idempotent
return-one-restore-job-one

Return One Restore Job for One Cluster

read-only idempotent
remove-all-cloud-backup-schedules

Remove All Cloud Backup Schedules

idempotent
return-one-cloud-backup-schedule

Return One Cloud Backup Schedule

read-only idempotent
update-cloud-backup-schedule-one

Update Cloud Backup Schedule for One Cluster

idempotent
return-all-replica-set-cloud

Return All Replica Set Cloud Backups

read-only idempotent
take-one-demand-snapshot

Take One On-Demand Snapshot

remove-one-sharded-cluster-cloud

Remove One Sharded Cluster Cloud Backup

idempotent
return-one-sharded-cluster-cloud

Return One Sharded Cluster Cloud Backup

read-only idempotent
return-all-sharded-cluster-cloud

Return All Sharded Cluster Cloud Backups

read-only idempotent
remove-one-replica-set-cloud

Remove One Replica Set Cloud Backup

idempotent
return-one-replica-set-cloud

Return One Replica Set Cloud Backup

read-only idempotent
update-expiration-date-one-cloud

Update Expiration Date for One Cloud Backup

idempotent
return-all-restore-jobs-one-2

Return All Restore Jobs for One Serverless Instance

read-only idempotent
create-one-restore-job-one-2

Create One Restore Job for One Serverless Instance

return-one-restore-job-one-2

Return One Restore Job for One Serverless Instance

read-only idempotent
return-all-snapshots-one-serverless

Return All Snapshots of One Serverless Instance

read-only idempotent
return-one-snapshot-one-serverless

Return One Snapshot of One Serverless Instance

read-only idempotent

Capability Spec

atlas-cloud-backups.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: MongoDB Atlas Administration API — Cloud Backups
  description: 'MongoDB Atlas Administration API — Cloud Backups. 35 operations. Lead operation: Return All Snapshot Export
    Buckets. Self-contained Naftiko capability covering one Mongodb business surface.'
  tags:
  - Mongodb
  - Cloud Backups
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MONGODB_API_KEY: MONGODB_API_KEY
capability:
  consumes:
  - type: http
    namespace: atlas-cloud-backups
    baseUri: https://cloud.mongodb.com
    description: MongoDB Atlas Administration API — Cloud Backups business capability. Self-contained, no shared references.
    resources:
    - name: api-atlas-v2-groups-groupId-backup-exportBuckets
      path: /api/atlas/v2/groups/{groupId}/backup/exportBuckets
      operations:
      - name: listgroupbackupexportbuckets
        method: GET
        description: Return All Snapshot Export Buckets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creategroupbackupexportbucket
        method: POST
        description: Create One Snapshot Export Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-backup-exportBuckets-exportBucketId
      path: /api/atlas/v2/groups/{groupId}/backup/exportBuckets/{exportBucketId}
      operations:
      - name: deletegroupbackupexportbucket
        method: DELETE
        description: Delete One Snapshot Export Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exportBucketId
          in: path
          type: string
          description: Unique 24-hexadecimal character string that identifies the Export Bucket.
          required: true
      - name: getgroupbackupexportbucket
        method: GET
        description: Return One Snapshot Export Bucket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exportBucketId
          in: path
          type: string
          description: Unique 24-hexadecimal character string that identifies the Export Bucket.
          required: true
      - name: updategroupbackupexportbucket
        method: PATCH
        description: Update One Export Bucket Private Networking Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exportBucketId
          in: path
          type: string
          description: Unique 24-hexadecimal character string that identifies the snapshot export bucket.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-backup-cloudProvider-privateEndpoints
      path: /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints
      operations:
      - name: listgroupbackupprivateendpoints
        method: GET
        description: Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cloudProvider
          in: path
          type: string
          description: Human-readable label that identifies the cloud provider for the private endpoints to return.
          required: true
      - name: creategroupbackupprivateendpoint
        method: POST
        description: Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cloudProvider
          in: path
          type: string
          description: Human-readable label that identifies the cloud provider for the private endpoint to create.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-backup-cloudProvider-privateEndpoints-endpointId
      path: /api/atlas/v2/groups/{groupId}/backup/{cloudProvider}/privateEndpoints/{endpointId}
      operations:
      - name: deletegroupbackupprivateendpoint
        method: DELETE
        description: Delete One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider from One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cloudProvider
          in: path
          type: string
          description: Human-readable label that identifies the cloud provider of the private endpoint to delete.
          required: true
        - name: endpointId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the private endpoint to delete.
          required: true
      - name: getgroupbackupprivateendpoint
        method: GET
        description: Return One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cloudProvider
          in: path
          type: string
          description: Human-readable label that identifies the cloud provider of the private endpoint.
          required: true
        - name: endpointId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the private endpoint.
          required: true
    - name: api-atlas-v2-groups-groupId-backupCompliancePolicy
      path: /api/atlas/v2/groups/{groupId}/backupCompliancePolicy
      operations:
      - name: disablegroupbackupcompliancepolicy
        method: DELETE
        description: Disable Backup Compliance Policy Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getgroupbackupcompliancepolicy
        method: GET
        description: Return Backup Compliance Policy Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updategroupbackupcompliancepolicy
        method: PUT
        description: Update Backup Compliance Policy Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: overwriteBackupPolicies
          in: query
          type: boolean
          description: Flag that indicates whether to overwrite non complying backup policies with the new data protection
            settings or not.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-exports
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports
      operations:
      - name: listgroupclusterbackupexports
        method: GET
        description: Return All Snapshot Export Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
      - name: creategroupclusterbackupexport
        method: POST
        description: Create One Snapshot Export Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-exports-exportId
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports/{exportId}
      operations:
      - name: getgroupclusterbackupexport
        method: GET
        description: Return One Snapshot Export Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: exportId
          in: path
          type: string
          description: Unique 24-hexadecimal character string that identifies the Export Job.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-restoreJobs
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs
      operations:
      - name: listgroupclusterbackuprestorejobs
        method: GET
        description: Return All Restore Jobs for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster with the restore jobs you want to return.
          required: true
      - name: creategroupclusterbackuprestorejob
        method: POST
        description: Create One Restore Job of One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-restoreJobs-restoreJobId
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/restoreJobs/{restoreJobId}
      operations:
      - name: cancelgroupclusterbackuprestorejob
        method: DELETE
        description: Cancel One Restore Job for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: restoreJobId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the restore job to remove.
          required: true
      - name: getgroupclusterbackuprestorejob
        method: GET
        description: Return One Restore Job for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster with the restore jobs you want to return.
          required: true
        - name: restoreJobId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the restore job to return.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-schedule
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/schedule
      operations:
      - name: deletegroupclusterbackupschedule
        method: DELETE
        description: Remove All Cloud Backup Schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
      - name: getgroupclusterbackupschedule
        method: GET
        description: Return One Cloud Backup Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
      - name: updategroupclusterbackupschedule
        method: PATCH
        description: Update Cloud Backup Schedule for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-snapshots
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots
      operations:
      - name: listgroupclusterbackupsnapshots
        method: GET
        description: Return All Replica Set Cloud Backups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: pointInTimeUtcSeconds
          in: query
          type: integer
          description: Desired point in time, expressed as the number of seconds that have elapsed since the UNIX epoch. If
            specified, returns the closest snapshot created before that
        - name: oplogTs
          in: query
          type: integer
          description: Oplog timestamp that represents the desired point in time. This is the first part of an Oplog timestamp.
            Must be used with `oplogInc`. Mutually exclusive with `
        - name: oplogInc
          in: query
          type: integer
          description: Oplog operation number that represents the desired point in time. This is the second part of an Oplog
            timestamp. Must be used with `oplogTs`. Mutually exclusive
      - name: takegroupclusterbackupsnapshots
        method: POST
        description: Take One On-Demand Snapshot
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-snapshots-shardedCluster
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedCluster/{snapshotId}
      operations:
      - name: deletegroupclusterbackupsnapshotshardedcluster
        method: DELETE
        description: Remove One Sharded Cluster Cloud Backup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
      - name: getgroupclusterbackupsnapshotshardedcluster
        method: GET
        description: Return One Sharded Cluster Cloud Backup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-snapshots-shardedCluster
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/shardedClusters
      operations:
      - name: listgroupclusterbackupsnapshotshardedclusters
        method: GET
        description: Return All Sharded Cluster Cloud Backups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-backup-snapshots-snapshotId
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/snapshots/{snapshotId}
      operations:
      - name: deletegroupclusterbackupsnapshot
        method: DELETE
        description: Remove One Replica Set Cloud Backup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
      - name: getgroupclusterbackupsnapshot
        method: GET
        description: Return One Replica Set Cloud Backup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
      - name: updategroupclusterbackupsnapshot
        method: PATCH
        description: Update Expiration Date for One Cloud Backup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-serverless-clusterName-backup-restoreJobs
      path: /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/restoreJobs
      operations:
      - name: listgroupserverlessbackuprestorejobs
        method: GET
        description: Return All Restore Jobs for One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the serverless instance.
          required: true
      - name: creategroupserverlessbackuprestorejob
        method: POST
        description: Create One Restore Job for One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the serverless instance whose snapshot you want to restore.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-serverless-clusterName-backup-restoreJobs-restoreJob
      path: /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/restoreJobs/{restoreJobId}
      operations:
      - name: getgroupserverlessbackuprestorejob
        method: GET
        description: Return One Restore Job for One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the serverless instance.
          required: true
        - name: restoreJobId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the restore job to return.
          required: true
    - name: api-atlas-v2-groups-groupId-serverless-clusterName-backup-snapshots
      path: /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/snapshots
      operations:
      - name: listgroupserverlessbackupsnapshots
        method: GET
        description: Return All Snapshots of One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the serverless instance.
          required: true
    - name: api-atlas-v2-groups-groupId-serverless-clusterName-backup-snapshots-snapshotId
      path: /api/atlas/v2/groups/{groupId}/serverless/{clusterName}/backup/snapshots/{snapshotId}
      operations:
      - name: getgroupserverlessbackupsnapshot
        method: GET
        description: Return One Snapshot of One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the serverless instance.
          required: true
        - name: snapshotId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the desired snapshot.
          required: true
    authentication:
      type: bearer
      token: '{{env.MONGODB_API_KEY}}'
  exposes:
  - type: rest
    namespace: atlas-cloud-backups-rest
    port: 8080
    description: REST adapter for MongoDB Atlas Administration API — Cloud Backups. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets
      name: api-atlas-v2-groups-groupid-backup-exportbuckets
      description: REST surface for api-atlas-v2-groups-groupId-backup-exportBuckets.
      operations:
      - method: GET
        name: listgroupbackupexportbuckets
        description: Return All Snapshot Export Buckets
        call: atlas-cloud-backups.listgroupbackupexportbuckets
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupbackupexportbucket
        description: Create One Snapshot Export Bucket
        call: atlas-cloud-backups.creategroupbackupexportbucket
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/backup/exportbuckets/{exportbucketid}
      name: api-atlas-v2-groups-groupid-backup-exportbuckets-exportbucketid
      description: REST surface for api-atlas-v2-groups-groupId-backup-exportBuckets-exportBucketId.
      operations:
      - method: DELETE
        name: deletegroupbackupexportbucket
        description: Delete One Snapshot Export Bucket
        call: atlas-cloud-backups.deletegroupbackupexportbucket
        with:
          exportBucketId: rest.exportBucketId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getgroupbackupexportbucket
        description: Return One Snapshot Export Bucket
        call: atlas-cloud-backups.getgroupbackupexportbucket
        with:
          exportBucketId: rest.exportBucketId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updategroupbackupexportbucket
        description: Update One Export Bucket Private Networking Settings
        call: atlas-cloud-backups.updategroupbackupexportbucket
        with:
          exportBucketId: rest.exportBucketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints
      name: api-atlas-v2-groups-groupid-backup-cloudprovider-privateendpoints
      description: REST surface for api-atlas-v2-groups-groupId-backup-cloudProvider-privateEndpoints.
      operations:
      - method: GET
        name: listgroupbackupprivateendpoints
        description: Return Object Storage Private Endpoints for Cloud Backups for One Cloud Provider in One Project
        call: atlas-cloud-backups.listgroupbackupprivateendpoints
        with:
          cloudProvider: rest.cloudProvider
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupbackupprivateendpoint
        description: Create One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
        call: atlas-cloud-backups.creategroupbackupprivateendpoint
        with:
          cloudProvider: rest.cloudProvider
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/backup/{cloudprovider}/privateendpoints/{endpointid}
      name: api-atlas-v2-groups-groupid-backup-cloudprovider-privateendpoints-endpointid
      description: REST surface for api-atlas-v2-groups-groupId-backup-cloudProvider-privateEndpoints-endpointId.
      operations:
      - method: DELETE
        name: deletegroupbackupprivateendpoint
        description: Delete One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider from One Project
        call: atlas-cloud-backups.deletegroupbackupprivateendpoint
        with:
          cloudProvider: rest.cloudProvider
          endpointId: rest.endpointId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getgroupbackupprivateendpoint
        description: Return One Object Storage Private Endpoint for Cloud Backups for One Cloud Provider in One Project
        call: atlas-cloud-backups.getgroupbackupprivateendpoint
        with:
          cloudProvider: rest.cloudProvider
          endpointId: rest.endpointId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/backupcompliancepolicy
      name: api-atlas-v2-groups-groupid-backupcompliancepolicy
      description: REST surface for api-atlas-v2-groups-groupId-backupCompliancePolicy.
      operations:
      - method: DELETE
        name: disablegroupbackupcompliancepolicy
        description: Disable Backup Compliance Policy Settings
        call: atlas-cloud-backups.disablegroupbackupcompliancepolicy
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getgroupbackupcompliancepolicy
        description: Return Backup Compliance Policy Settings
        call: atlas-cloud-backups.getgroupbackupcompliancepolicy
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updategroupbackupcompliancepolicy
        description: Update Backup Compliance Policy Settings
        call: atlas-cloud-backups.updategroupbackupcompliancepolicy
        with:
          overwriteBackupPolicies: rest.overwriteBackupPolicies
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/exports
      name: api-atlas-v2-groups-groupid-clusters-clustername-backup-exports
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-backup-exports.
      operations:
      - method: GET
        name: listgroupclusterbackupexports
        description: Return All Snapshot Export Jobs
        call: atlas-cloud-backups.listgroupclusterbackupexports
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupclusterbackupexport
        description: Create One Snapshot Export Job
        call: atlas-cloud-backups.creategroupclusterbackupexport
        with:
          clusterName: rest.clusterName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/exports/{exportid}
      name: api-atlas-v2-groups-groupid-clusters-clustername-backup-exports-exportid
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-backup-exports-exportId.
      operations:
      - method: GET
        name: getgroupclusterbackupexport
        description: Return One Snapshot Export Job
        call: atlas-cloud-backups.getgroupclusterbackupexport
        with:
          clusterName: rest.clusterName
          exportId: rest.exportId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs
      name: api-atlas-v2-groups-groupid-clusters-clustername-backup-restorejobs
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-backup-restoreJobs.
      operations:
      - method: GET
        name: listgroupclusterbackuprestorejobs
        description: Return All Restore Jobs for One Cluster
        call: atlas-cloud-backups.listgroupclusterbackuprestorejobs
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupclusterbackuprestorejob
        description: Create One Restore Job of One Cluster
        call: atlas-cloud-backups.creategroupclusterbackuprestorejob
        with:
          clusterName: rest.clusterName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/backup/restorejobs/{restorejobid}
      name: api-atlas-v2-groups-groupid-clusters-clustername-backup-restorejobs-restorejobid
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-backup-restoreJobs-restoreJobId.
      operations:
      - method: DELETE
        name: cancelgroupclusterbackuprestorejob
     

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mongodb/refs/heads/main/capabilities/atlas-cloud-backups.yaml