[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"
]
}
]
}
----