//lcawley Verified example output 2017-04-11
[[ml-get-snapshot]]
==== Get Model Snapshots

The get model snapshots API enables you to retrieve information about model snapshots.

===== Request

`GET _xpack/ml/anomaly_detectors/<job_id>/model_snapshots` +

`GET _xpack/ml/anomaly_detectors/<job_id>/model_snapshots/<snapshot_id>`
////
===== Description

////
===== Path Parameters

`job_id`::
  (+string+) Identifier for the job.

`snapshot_id`::
  (+string+) Identifier for the model snapshot. If you do not specify this optional parameter,
  the API returns information about all model snapshots that you have authority to view.

===== Request Body

`desc`::
  (+boolean+) If true, the results are sorted in descending order.

`description`::
  (+string+) Returns snapshots that match this description.
//TBD: I couldn't get this to work. What description value is it using?
NOTE: It might be necessary to URL encode the description.

`end`::
  (+date+) Returns snapshots with timestamps earlier than this time.

`from`::
  (+integer+) Skips the specified number of snapshots.

`size`::
  (+integer+) Specifies the maximum number of snapshots to obtain.

`sort`::
  (+string+) Specifies the sort field for the requested snapshots.
//By default, the snapshots are sorted by the xxx value.

`start`::
  (+string+) Returns snapshots with timestamps after this time.

===== Results

The API returns the following information:

`model_snapshots`::
  (+array+) An array of model snapshot objects. For more information, see
  <<ml-snapshot-resource,Model Snapshots>>.

////
===== Responses

200
(EmptyResponse) The cluster has been successfully deleted
404
(BasicFailedReply) The cluster specified by {cluster_id} cannot be found (code: clusters.cluster_not_found)
412
(BasicFailedReply) The Elasticsearch cluster has not been shutdown yet (code: clusters.cluster_plan_state_error)
////

===== Examples

The following example gets model snapshot information for the
`it_ops_new_logs` job:

[source,js]
--------------------------------------------------
GET _xpack/ml/anomaly_detectors/farequote/model_snapshots
{
  "start": "1491852977000"
}
--------------------------------------------------
// CONSOLE
// TEST[skip:todo]

In this example, the API provides a single result:
----
{
  "count": 1,
  "model_snapshots": [
    {
      "job_id": "farequote",
      "timestamp": 1491948163000,
      "description": "State persisted due to job close at 2017-04-11T15:02:43-0700",
      "snapshot_id": "1491948163",
      "snapshot_doc_count": 1,
      "model_size_stats": {
        "job_id": "farequote",
        "result_type": "model_size_stats",
        "model_bytes": 387594,
        "total_by_field_count": 21,
        "total_over_field_count": 0,
        "total_partition_field_count": 20,
        "bucket_allocation_failures_count": 0,
        "memory_status": "ok",
        "log_time": 1491948163000,
        "timestamp": 1455234600000
      },
      "latest_record_time_stamp": 1455235196000,
      "latest_result_time_stamp": 1455234900000,
      "retain": false
    }
  ]
}
----
