Get Snapshots APIedit

Use the Get Snapshot API to get snapshots.

Get Snapshots Requestedit

A GetSnapshotsRequest:

GetSnapshotsRequest request = new GetSnapshotsRequest();

Required Argumentsedit

The following arguments are mandatory:


The name of the repository.

Optional Argumentsedit

The following arguments are optional:

String[] snapshots = { snapshotName };

An array of snapshots to get. Otherwise it will return all snapshots for a repository.


Timeout to connect to the master node as a TimeValue.

Timeout to connect to the master node as a String.


Boolean indicating if the response should be verbose.


Boolean indicating if unavailable snapshots should be ignored. Otherwise the request will fail if any of the snapshots are unavailable.

Synchronous Executionedit

GetSnapshotsResponse response = client.snapshot().get(request, RequestOptions.DEFAULT);

Asynchronous Executionedit

The asynchronous execution of a get snapshots request requires both the GetSnapshotsRequest instance and an ActionListener instance to be passed as arguments to the asynchronous method:

client.snapshot().getAsync(request, RequestOptions.DEFAULT, listener); 

The GetSnapshotsRequest to execute and the ActionListener to use when the execution completes.

The asynchronous method does not block and returns immediately. Once it is completed the ActionListener is called back with the onResponse method if the execution is successful or the onFailure method if the execution failed.

A typical listener for GetSnapshotsResponse looks like:

ActionListener<GetSnapshotsResponse> listener =
    new ActionListener<GetSnapshotsResponse>() {
        public void onResponse(GetSnapshotsResponse getSnapshotsResponse) {

        public void onFailure(Exception e) {

Called when the execution is successfully completed. The response is provided as an argument.

Called in case of a failure. The raised exception is provided as an argument.

Get Snapshots Responseedit

The returned GetSnapshotsResponse allows the retrieval of information about the requested snapshots:

List<SnapshotInfo> snapshotsInfos = response.getSnapshots();
SnapshotInfo snapshotInfo = snapshotsInfos.get(0);
RestStatus restStatus = snapshotInfo.status(); 
SnapshotId snapshotId = snapshotInfo.snapshotId(); 
SnapshotState snapshotState = snapshotInfo.state(); 
List<SnapshotShardFailure> snapshotShardFailures = snapshotInfo.shardFailures(); 
long startTime = snapshotInfo.startTime(); 
long endTime = snapshotInfo.endTime(); 

The REST status of a snapshot

The snapshot id

The current state of the snapshot

Information about failures that occurred during the shard snapshot process.

The snapshot start time

The snapshot end time