[[get-snapshot-api]] === Get snapshot API ++++ Get snapshot ++++ Retrieves information about one or more snapshots. //// [source,console] ---- PUT /_snapshot/my_repository { "type": "fs", "settings": { "location": "my_backup_location" } } PUT /_snapshot/my_repository/my_snapshot?wait_for_completion=true PUT /_snapshot/my_repository/snapshot_2?wait_for_completion=true ---- // TESTSETUP //// [source,console] ---- GET /_snapshot/my_repository/my_snapshot ---- [[get-snapshot-api-request]] ==== {api-request-title} `GET /_snapshot//` [[get-snapshot-api-desc]] ==== {api-description-title} Use the get snapshot API to return information about one or more snapshots, including: * Start and end time values * Version of {es} that created the snapshot * List of included indices * Current state of the snapshot * List of failures that occurred during the snapshot [[get-snapshot-api-path-params]] ==== {api-path-parms-title} ``:: (Required, string) Snapshot repository name used to limit the request. + To get information about all snapshot repositories registered in the cluster, omit this parameter or use `*` or `_all`. ``:: (Required, string) Comma-separated list of snapshot names to retrieve. Also accepts wildcards (`*`). + * To get information about all snapshots in a registered repository, use a wildcard (`*`) or `_all`. * To get information about any snapshots that are currently running, use `_current`. + NOTE: Using `_all` in a request fails if any snapshots are unavailable. Set <> to `true` to return only available snapshots. [role="child_attributes"] [[get-snapshot-api-request-body]] ==== {api-request-body-title} [[get-snapshot-api-ignore-unavailable]] `ignore_unavailable`:: (Optional, boolean) If `false`, the request returns an error for any snapshots that are unavailable. Defaults to `false`. + If `true`, the request ignores snapshots that are unavailable, such as those that are corrupted or temporarily cannot be returned. `verbose`:: (Optional, boolean) If `true`, returns all available information about a snapshot. Defaults to `true`. + If `false`, omits additional information about the snapshot, such as version information, start and end times, and the number of snapshotted shards. [role="child_attributes"] [[get-snapshot-api-response-body]] ==== {api-response-body-title} `snapshot`:: (string) Name of the snapshot. `uuid`:: (string) Universally unique identifier (UUID) of the snapshot. `version_id`:: (int) Build ID of the {es} version used to create the snapshot. `version`:: (float) {es} version used to create the snapshot. `indices`:: (array) List of indices included in the snapshot. `data_streams`:: (array) List of <> included in the snapshot. `include_global_state`:: (boolean) Indicates whether the current cluster state is included in the snapshot. `start_time`:: (string) Date timestamp of when the snapshot creation process started. `start_time_in_millis`:: (long) The time, in milliseconds, when the snapshot creation process started. `end_time`:: (string) Date timestamp of when the snapshot creation process ended. `end_time_in_millis`:: (long) The time, in milliseconds, when the snapshot creation process ended. `duration_in_millis`:: (long) How long, in milliseconds, it took to create the snapshot. [[get-snapshot-api-response-failures]] `failures`:: (array) Lists any failures that occurred when creating the snapshot. `shards`:: (object) Contains a count of shards in the snapshot. + .Properties of `shards` [%collapsible%open] ==== `total`:: (integer) Total number of shards included in the snapshot. `successful`:: (integer) Number of shards that were successfully included in the snapshot. `failed`:: (integer) Number of shards that failed to be included in the snapshot. ==== `state`:: + -- (string) The snapshot `state` can be one of the following values: .Values for `state` [%collapsible%open] ==== `IN_PROGRESS`:: The snapshot is currently running. `SUCCESS`:: The snapshot finished and all shards were stored successfully. `FAILED`:: The snapshot finished with an error and failed to store any data. `PARTIAL`:: The global cluster state was stored, but data of at least one shard was not stored successfully. The <> section of the response contains more detailed information about shards that were not processed correctly. ==== -- [[get-snapshot-api-example]] ==== {api-examples-title} The following request returns information for `snapshot_2` in the `my_repository` repository. [source,console] ---- GET /_snapshot/my_repository/snapshot_2 ---- The API returns the following response: [source,console-result] ---- { "snapshots": [ { "snapshot": "snapshot_2", "uuid": "vdRctLCxSketdKb54xw67g", "version_id": , "version": , "indices": [], "data_streams": [], "include_global_state": true, "state": "SUCCESS", "start_time": "2020-07-06T21:55:18.129Z", "start_time_in_millis": 1593093628850, "end_time": "2020-07-06T21:55:18.876Z", "end_time_in_millis": 1593094752018, "duration_in_millis": 0, "failures": [], "shards": { "total": 0, "failed": 0, "successful": 0 } } ] } ---- // TESTRESPONSE[s/"uuid": "vdRctLCxSketdKb54xw67g"/"uuid": $body.snapshots.0.uuid/] // TESTRESPONSE[s/"version_id": /"version_id": $body.snapshots.0.version_id/] // TESTRESPONSE[s/"version": /"version": $body.snapshots.0.version/] // TESTRESPONSE[s/"start_time": "2020-07-06T21:55:18.129Z"/"start_time": $body.snapshots.0.start_time/] // TESTRESPONSE[s/"start_time_in_millis": 1593093628850/"start_time_in_millis": $body.snapshots.0.start_time_in_millis/] // TESTRESPONSE[s/"end_time": "2020-07-06T21:55:18.876Z"/"end_time": $body.snapshots.0.end_time/] // TESTRESPONSE[s/"end_time_in_millis": 1593094752018/"end_time_in_millis": $body.snapshots.0.end_time_in_millis/] // TESTRESPONSE[s/"duration_in_millis": 0/"duration_in_millis": $body.snapshots.0.duration_in_millis/]