Navigation

Get all Online Archives for Cluster

You can retrieve all the online archives for a cluster using the API or the Atlas UI. You must have GROUP_READ_ONLY (Project Read Only) role to retrieve the online archives for a cluster.

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.

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.

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

GET /groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/onlineArchives
Path ElementNecessityDescription
GROUP-IDRequiredUnique identifier of the project that contains the specified cluster.
CLUSTER-NAMERequiredName of the cluster.

The following query parameters are optional:

Query ParameterTypeDescriptionDefault
prettybooleanDisplays response in a prettyprint format.false
envelopebooleanSpecifies whether or not to wrap the response in an envelope.false

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

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.

The results array is an array of documents each containing the following fields:

NameTypeDescription
idstringID of the online archive.
clusterNamestringName of the cluster that contains the collection.
collNamestringName of the collection.
criteriadocumentCriteria to use for archiving data.
criteria.typestring

Type of criteria. Value can be one of the following:

  • DATE - to select documents for archiving based on a date.
  • CUSTOM - to select documents for archiving based on a custom JSON query.
criteria.dateFieldstringIf criteria.type is DATE, name of the date field that the online archive is based on. Data is archived when the current date is after the date specified here plus the number of days specified via the expireAfterDays parameter.
criteria.dateFormatenum

If criteria.type is DATE, the date format. Value can be one of the following:

  • ISODATE - ISO-8601 format date (default)
  • EPOCH_SECONDS - Unix timestamp in seconds
  • EPOCH_MILLIS - Unix timestamp in milliseconds
  • EPOCH_NANOSECONDS - Unix timestamp in nanoseconds
criteria.expireAfterDaysintIf criteria.type is DATE, number of days that specifies the age limit for the data in the live Atlas cluster. Data is archived when the current date is greater than the value of the date field specified via the dateField parameter plus the number of days specified here.
criteria.queryintIf criteria.type is CUSTOM, JSON query used to select documents for archiving. The specified query is used with the db.collection.find(query) command.
dbNamestringName of the database that contains the collection.
groupIdstringUnique identifier of the project that contains the cluster.
partitionFieldsdocument arrayFields to use to partition data.
partitionFields.fieldNamestringName of the field.
partitionFields.fieldTypestringData type of the field.
partitionFields.orderint

Position of the field in the partition. Value can be:

  • 0 - for the first position
  • 1 - for the second position
  • 2 - for the third position
pausedboolean

State of the online archive. Value is:

  • true if the online archive is in paused state.
  • false if the online archive is in pending or active state.
statestring

Status of the online archive. Valid values are:

PendingIndicates documents are queued for archive, but archiving has not yet started.
ArchivingIndicates archiving has started. In this state, the documents that meet the criteria for archiving are being archived.
IdleIndicates online archive is waiting for the next archival job to start.
PausedIndicates archiving has been temporarily stopped. In this state, previously archived documents continue to be available on the cloud object storage, but the specified archiving operation on the active cluster is put on hold. You can resume archiving for paused archives at any time.
OrphanedIndicates collection associated with an active or paused online archive was deleted. Atlas will not automatically delete the archived data. You must manually delete the online archives associated with the deleted collection.
DeletedIndicates online archive was deleted. When you delete an online archive, associated archived documents are removed from the cloud object storage.

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.

The following example request retrieves all the online archives for the cluster. The example response contains two online archives for the people.employees and accounting.invoices collections in the cluster named myTestClstr.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/5e2211c17a3e5a48f5497de3/clusters/myTestClstr/onlineArchives?pretty=true"
{
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas/v1.0/groups/5e2211c17a3e5a48f5497de3/clusters/myTestCluster/onlineArchives?pageNum=1&itemsPerPage=100",
"rel": "self"
}
],
"results": [
{
"_id": "5ebc2789fe9c0ab8d33b96cd",
"clusterName": "myTestCluster",
"collName": "invoices",
"criteria": {
"dateField": "created",
"dateFormat": "ISODATE",
"expireAfterDays": 7
},
"dbName": "accounting",
"groupId": "5e2211c17a3e5a48f5497de3",
"partitionFields": [
{
"fieldName": "customerID",
"fieldType": "string",
"order": 0
},
{
"fieldName": "invoiceNumber",
"fieldType": "int",
"order": 1
},
{
"fieldName": "created",
"fieldType": "date",
"order": 2
}
],
"paused": false,
"state": "ACTIVE"
},
{
"_id": "5ebad3c1fe9c0ab8d37d61e1",
"clusterName": "myTestCluster",
"collName": "employees",
"criteria": {
"dateField": "created",
"dateFormat": "ISODATE",
"expireAfterDays": 5
},
"dbName": "people",
"groupId": "5e2211c17a3e5a48f5497de3",
"partitionFields": [
{
"fieldName": "firstName",
"fieldType": "string",
"order": 0
},
{
"fieldName": "lastName",
"fieldType": "string",
"order": 1
},
{
"fieldName": "created",
"fieldType": "date",
"order": 2
}
],
"paused": false,
"state": "ACTIVE"
}
],
"totalCount": 2
}

If the request fails, it returns one of the following errors:

Error CodeDescription
INVALID_GROUP_IDThe specified project ID is not valid.
CLUSTER_NAME_NOT_FOUNDThere is no cluster with the specified name in the specified group.
CLUSTER_DELETE_REQUESTEDThe cluster for the online archives is being deleted.
Give Feedback