| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 | [role="xpack"][testenv="platinum"][[ml-get-bucket]]= Get buckets API++++<titleabbrev>Get buckets</titleabbrev>++++Retrieves {anomaly-job} results for one or more buckets.[[ml-get-bucket-request]]== {api-request-title}`GET _ml/anomaly_detectors/<job_id>/results/buckets` +`GET _ml/anomaly_detectors/<job_id>/results/buckets/<timestamp>`[[ml-get-bucket-prereqs]]== {api-prereq-title}* If the {es} {security-features} are enabled, you must have `monitor_ml`,`monitor`, `manage_ml`, or `manage` cluster privileges to use this API. You alsoneed `read` index privilege on the index that stores the results. The`machine_learning_admin` and `machine_learning_user` roles provide theseprivileges. For more information, see <<security-privileges>>,<<built-in-roles>>, and {ml-docs-setup-privileges}.[[ml-get-bucket-desc]]== {api-description-title}The get buckets API presents a chronological view of the records, grouped bybucket.[[ml-get-bucket-path-parms]]== {api-path-parms-title}`<job_id>`::(Required, string)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]`<timestamp>`::(Optional, string) The timestamp of a single bucket result. If you do notspecify this parameter, the API returns information about all buckets.[[ml-get-bucket-request-body]]== {api-request-body-title}`anomaly_score`::(Optional, double) Returns buckets with anomaly scores greater or equal thanthis value.`desc`::(Optional, boolean) If true, the buckets are sorted in descending order.`end`::(Optional, string) Returns buckets with timestamps earlier than this time.`exclude_interim`::(Optional, boolean)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=exclude-interim-results]`expand`::(Optional, boolean) If true, the output includes anomaly records.`page`.`from`::(Optional, integer) Skips the specified number of buckets.`page`.`size`::(Optional, integer) Specifies the maximum number of buckets to obtain.`sort`::(Optional, string) Specifies the sort field for the requested buckets. Bydefault, the buckets are sorted by the `timestamp` field.`start`::(Optional, string) Returns buckets with timestamps after this time.[role="child_attributes"][[ml-get-bucket-results]]== {api-response-body-title}The API returns an array of bucket objects, which have the following properties:`anomaly_score`::(number) The maximum anomaly score, between 0-100, for any of the bucketinfluencers. This is an overall, rate-limited score for the job. All the anomaly records in the bucket contribute to this score. This value might be updated asnew data is analyzed.`bucket_influencers`::(array) An array of bucket influencer objects.+.Properties of `bucket_influencers`[%collapsible%open]====`anomaly_score`:::(number) A normalized score between 0-100, which is calculated for each bucketinfluencer. This score might be updated as newer data is analyzed.`bucket_span`:::(number) The length of the bucket in seconds. This value matches the `bucket_span` that is specified in the job.`initial_anomaly_score`:::(number) The score between 0-100 for each bucket influencer. This score is theinitial value that was calculated at the time the bucket was processed.`influencer_field_name`:::(string) The field name of the influencer.`influencer_field_value`:::(string) The field value of the influencer. `is_interim`:::(boolean)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=is-interim]`job_id`:::(string)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]`probability`:::(number) The probability that the bucket has this behavior, in the range 0 to 1.This value can be held to a high precision of over 300 decimal places, so the`anomaly_score` is provided as a human-readable and friendly interpretation ofthis.`raw_anomaly_score`:::(number) Internal.`result_type`:::(string) Internal. This value is always set to `bucket_influencer`.`timestamp`:::(date) The start time of the bucket for which these results were calculated.====`bucket_span`::(number)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=bucket-span-results]`event_count`::(number) The number of input data records processed in this bucket.`initial_anomaly_score`::(number) The maximum `anomaly_score` for any of the bucket influencers. This isthe initial value that was calculated at the time the bucket was processed.`is_interim`::(boolean)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=is-interim]`job_id`::(string)include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]`processing_time_ms`::(number) The amount of time, in milliseconds, that it took to analyze thebucket contents and calculate results.`result_type`::(string) Internal. This value is always set to `bucket`.`timestamp`::(date) The start time of the bucket. This timestamp uniquely identifies thebucket. +--NOTE: Events that occur exactly at the timestamp of the bucket are included inthe results for the bucket.--[[ml-get-bucket-example]]== {api-examples-title}[source,console]--------------------------------------------------GET _ml/anomaly_detectors/low_request_rate/results/buckets{  "anomaly_score": 80,  "start": "1454530200001"}--------------------------------------------------// TEST[skip:Kibana sample data]In this example, the API returns a single result that matches the specifiedscore and time constraints:[source,js]----{  "count" : 1,  "buckets" : [    {      "job_id" : "low_request_rate",      "timestamp" : 1578398400000,      "anomaly_score" : 91.58505459594764,      "bucket_span" : 3600,      "initial_anomaly_score" : 91.58505459594764,      "event_count" : 0,      "is_interim" : false,      "bucket_influencers" : [        {          "job_id" : "low_request_rate",          "result_type" : "bucket_influencer",          "influencer_field_name" : "bucket_time",          "initial_anomaly_score" : 91.58505459594764,          "anomaly_score" : 91.58505459594764,          "raw_anomaly_score" : 0.5758246639716365,          "probability" : 1.7340849573442696E-4,          "timestamp" : 1578398400000,          "bucket_span" : 3600,          "is_interim" : false        }      ],      "processing_time_ms" : 0,      "result_type" : "bucket"    }  ]}----
 |