[role="xpack"] [[ml-get-category]] === Get Categories API ++++ Get Categories ++++ This API enables you to retrieve job results for one or more categories. ==== Request `GET _xpack/ml/anomaly_detectors//results/categories` + `GET _xpack/ml/anomaly_detectors//results/categories/` ==== Description For more information about categories, see {xpack-ref}/ml-configuring-categories.html[Categorizing Log Messages]. //<>. ==== Path Parameters `job_id`:: (string) Identifier for the job. `category_id`:: (long) Identifier for the category. If you do not specify this optional parameter, the API returns information about all categories in the job. ==== Request Body `page`:: `from`::: (integer) Skips the specified number of categories. `size`::: (integer) Specifies the maximum number of categories to obtain. ==== Results The API returns the following information: `categories`:: (array) An array of category objects. For more information, see <>. ==== Authorization You must have `monitor_ml`, `monitor`, `manage_ml`, or `manage` cluster privileges to use this API. You also need `read` index privilege on the index that stores the results. The `machine_learning_admin` and `machine_learning_user` roles provide these privileges. For more information, see {xpack-ref}/security-privileges.html[Security Privileges] and {xpack-ref}/built-in-roles.html[Built-in Roles]. //<> and <>. ==== Examples The following example gets information about one category for the `it_ops_new_logs` job: [source,js] -------------------------------------------------- GET _xpack/ml/anomaly_detectors/it_ops_new_logs/results/categories { "page":{ "size": 1 } } -------------------------------------------------- // CONSOLE // TEST[skip:todo] In this example, the API returns the following information: [source,js] ---- { "count": 11, "categories": [ { "job_id": "it_ops_new_logs", "category_id": 1, "terms": "Actual Transaction Already Voided Reversed hostname dbserver.acme.com physicalhost esxserver1.acme.com vmhost app1.acme.com", "regex": ".*?Actual.+?Transaction.+?Already.+?Voided.+?Reversed.+?hostname.+?dbserver.acme.com.+?physicalhost.+?esxserver1.acme.com.+?vmhost.+?app1.acme.com.*", "max_matching_length": 137, "examples": [ "Actual Transaction Already Voided / Reversed;hostname=dbserver.acme.com;physicalhost=esxserver1.acme.com;vmhost=app1.acme.com" ] } ] } ----