Navigation

Get All Legacy Backup Restore Jobs

Important With Circle IconCreated with Sketch.Important
Legacy Backup Deprecated

MongoDB deprecated the Legacy Backup feature. Clusters that use Legacy Backup can continue to use it. MongoDB recommends using Cloud Backups. Effective 23 March 2020, all new clusters can only use Cloud Backups.

Get all restore jobs for a cluster. CLUSTER-NAME must be the name of either a replica set or a sharded cluster.

Info With Circle IconCreated with Sketch.Note

If you use the BATCH-ID query parameter, you can retrieve all restore jobs in the specified batch. When creating a restore job for a sharded cluster, Atlas creates a separate job for each shard, plus another for the config server. Each of those jobs are part of a batch. A restore job for a replica set, however, cannot be part of a batch.

Info With Circle IconCreated with Sketch.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.

The Atlas API authenticates using HTTP Digest Authentication. Provide a programmatic API public key and corresponding private key as the username and password when constructing the HTTP request.

To learn how to configure API access for an Atlas project, see Configure Atlas API Access.

https://cloud.mongodb.com/api/atlas/v1.0

GET /groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/restoreJobs
GET /groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/restoreJobs?batchId={BATCH-ID}
Path ElementNecessityDescription
GROUP-IDRequiredUnique identifier of the project that owns the snapshots.
CLUSTER-NAMERequiredName of the cluster that contains the snapshots that you want to retrieve.

This endpoint may use any of the HTTP request query parameters available to all Atlas API resources. These are all optional.

NameTypeNecessityDescriptionDefault
pageNumintegerOptionalPage number, starting with one, that Atlas returns of the total number of objects.1
itemsPerPageintegerOptionalNumber of items that Atlas returns per page, up to a maximum of 500.100
includeCountbooleanOptionalFlag that indicates whether Atlas returns the totalCount parameter in the response body.true
prettybooleanOptionalFlag that indicates whether Atlas returns the JSON response in the prettyprint format.false
envelopebooleanOptional

Flag that indicates whether Atlas wraps the response in an envelope.

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. Atlas adds the status parameter to the response body.

false
batchIdObjectIdUnique identifier of the batch.Not Applicable

This endpoint does not use HTTP request body parameters.

The HTTP response returns a JSON document that includes the following elements:

NameTypeDescription
batchIdstring

Unique identifier of the batch to which this restore job belongs.

Only present for a restore of a sharded cluster.

clusterIdstring

Unique identifier of the cluster the restore job represents.

Only present for a restore of a cluster.

createdstringTimestamp in ISO 8601 date and time format in UTC when the restore job was requested.
deliveryobjectMethod and details of how the restored snapshot data shall be delivered.
delivery.expiresstring

Timestamp in ISO 8601 date and time format in UTC after which the URL is no longer available.

Only present if "delivery.methodName" : "HTTP".

delivery.expirationHoursnumber

Number of hours the download URL is valid once the restore job is complete.

Only present if "delivery.methodName" : "HTTP".

delivery.maxDownloadsnumber

Number of times the download URL can be used. This must be 1 or greater.

Only present if "delivery.methodName" : "HTTP".

delivery.methodNamestring

Means by which the data is delivered. Accepted values include:

  • HTTP
  • QUERY
delivery.statusNamestring

Current status of the downloadable file. Accepted values include:

  • NOT_STARTED
  • IN_PROGRESS
  • READY
  • FAILED
  • INTERRUPTED
  • EXPIRED
  • MAX_DOWNLOADS_EXCEEDED
delivery.urlstring

URL from which the restored snapshot data can be downloaded.

Only present if "delivery.methodName" : "HTTP".

encryptionEnabledbooleanIndicates whether the restored snapshot data is encrypted.
groupIdstringUnique identifier of the project that owns the restore job.
hashesobject array

If the corresponding delivery.url has been downloaded, each document in this array is a mapping of a restore file to a hashed checksum. This array is present only after the file is downloaded.

Info With Circle IconCreated with Sketch.Note

For an HTTP restore, this array only contains a single object that represents the hash of the .tar.gz file.

hashes.typeNamestringHashing algorithm used to compute the hash value. If present, this value is SHA1.
hashes.fileNamestringName of the file that has been hashed.
hashes.hashstringHash of the file.
idstringUnique identifier of the restore job.
linksdocument arrayOne or more links to sub-resources and/or related resources. The relations between URLs are explained in the Web Linking Specification
masterKeyUUIDstring

KMIP master key ID used to encrypt the snapshot data.

Only if encryptionEnabled is true for the snapshot.

snapshotIdstringUnique identifier of the snapshot to restore.
statusNamestring

Current status of the job. Accepted values include:

  • FINISHED
  • IN_PROGRESS
  • BROKEN
  • KILLED
timestampobjectTimestamp of the Oplog entry when the snapshot was created.
timestamp.datestringTimestamp in ISO 8601 date and time format in UTC of the latest oplog entry in the restored snapshot.
timestamp.incrementstringOrder of all operations completed at the latest oplog entry in the restored snapshot.

The links array includes one or more links to sub-resources and/or related resources. The relations between URLs are explained in the Web Linking Specification.

RelationDescription
selfThe URL endpoint for this resource.

This value is the count of the total number of items in the result set. totalCount may be greater than the number of objects in the results array if the entire result set is paginated.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
-X GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/clusters/{CLUSTER-ID}/restoreJobs"
{
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas/v1.0/groups/6b77777887d9d61443b41645/clusters/Cluster0/restoreJobs?pageNum=1&itemsPerPage=100",
"rel": "self"
}
],
"results": [
{
"batchId": "5a66783b80eef5354c77ee13",
"clusterId": "7c88887880eef52e5f4d0e2d",
"clusterName": "Cluster0",
"created": "2018-01-22T23:48:11Z",
"delivery": {
"expirationHours": 48,
"expires": "2018-01-22T23:49:38Z",
"maxDownloads": 2147483647,
"methodName": "HTTP",
"statusName": "EXPIRED",
"url": "https://api-backup.mongodb.com/backup/restore/v2/pull/5a66783b80eef5354c77ee16/MGViYTUwZGQ4YWVkNDY4MGE2YWE4NGQzODY0MzAzYTU=/config-Cluster0-config-0-5a66689487d9d61443b46149-1516661094-5a66783b80eef5354c77ee16.tar.gz"
},
"encryptionEnabled": false,
"groupId": "6b77777887d9d61443b41645",
"hashes": [
{
"fileName": "config-Cluster0-config-0-5a66689487d9d61443b46149-1516661094-5a66783b80eef5354c77ee16.tar.gz",
"hash": "a98af3c1f85a9eb3061423cda0fad8b4d0a48209",
"typeName": "SHA1"
}
],
"id": "5a66783b80eef5354c77ee16",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas/v1.0/groups/6b77777887d9d61443b41645/clusters/Cluster0/restoreJobs/5a66783b80eef5354c77ee16",
"rel": "self"
}
],
"pointInTime": false,
"snapshotId": "5a6669d5e2bfb3461861360c",
"statusName": "FINISHED",
"timestamp": {
"date": "2018-01-22T22:44:54Z",
"increment": 1
}
},
{
"batchId": "5a66783b80eef5354c77ee13",
"clusterId": "6b88887880eef52e5f4d0e2f",
"clusterName": "Cluster0",
"created": "2018-01-22T23:48:11Z",
"delivery": {
"expirationHours": 48,
"expires": "2018-01-22T23:49:38Z",
"maxDownloads": 2147483647,
"methodName": "HTTP",
"statusName": "EXPIRED",
"url": "https://api-backup.mongodb.com/backup/restore/v2/pull/5a66783b80eef5354c77ee15/N2Y1NDhkMjg0Mzk4NGU1Mzk3NTkwMjA0M2ZhODVkNDk=/Cluster0-shard-1-1516661094-5a66783b80eef5354c77ee15.tar.gz"
},
"encryptionEnabled": false,
"groupId": "6b77777887d9d61443b41645",
"hashes": [
{
"fileName": "Cluster0-shard-1-1516661094-5a66783b80eef5354c77ee15.tar.gz",
"hash": "86bc2f505c0874cdc0eaaa82ead2ef48aaf56d67",
"typeName": "SHA1"
}
],
"id": "5a66783b80eef5354c77ee15",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas/v1.0/groups/6b77777887d9d61443b41645/clusters/Cluster0/restoreJobs/5a66783b80eef5354c77ee15",
"rel": "self"
}
],
"pointInTime": false,
"snapshotId": "5a6669d9fcc178211a0d75a8",
"statusName": "FINISHED",
"timestamp": {
"date": "2018-01-22T22:44:54Z",
"increment": 1
}
},
{
"batchId": "5a66783b80eef5354c77ee13",
"clusterId": "6b99987880eef52e5f4d0e31",
"clusterName": "Cluster0",
"created": "2018-01-22T23:48:11Z",
"delivery": {
"expirationHours": 48,
"expires": "2018-01-22T23:49:38Z",
"maxDownloads": 2147483647,
"methodName": "HTTP",
"statusName": "EXPIRED",
"url": "https://api-backup.mongodb.com/backup/restore/v2/pull/5a66783b80eef5354c77ee14/NjMxOWFhNTA3MGY1NDU0Mzk5ZDU1YjE0YWY2ZjQ5NDM=/Cluster0-shard-0-1516661094-5a66783b80eef5354c77ee14.tar.gz"
},
"encryptionEnabled": false,
"groupId": "6b77777887d9d61443b41645",
"hashes": [
{
"fileName": "Cluster0-shard-0-1516661094-5a66783b80eef5354c77ee14.tar.gz",
"hash": "18a8617d0b6bfff97b7232d1ebeeea16edc216b0",
"typeName": "SHA1"
}
],
"id": "5a66783b80eef5354c77ee14",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas/v1.0/groups/6b77777887d9d61443b41645/clusters/Cluster0/restoreJobs/5a66783b80eef5354c77ee14",
"rel": "self"
}
],
"pointInTime": false,
"snapshotId": "5a6669d9e2bfb34668cfe459",
"statusName": "FINISHED",
"timestamp": {
"date": "2018-01-22T22:44:54Z",
"increment": 1
}
}
],
"totalCount": 3
}
Give Feedback