---
type: api
title: Get data frame analytics jobs
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch-serverless/operation/operation-cat-ml-data-frame-analytics
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch-serverless/operation/operation-cat-ml-data-frame-analytics
products:
  - Elasticsearch Serverless
---

# Get data frame analytics jobs


## Paths

- `GET` `/_cat/ml/data_frame/analytics/{id}`
- `GET` `/_cat/ml/data_frame/analytics`

#### Path parameters

- `id` (string) — optional, leave it out to use `/_cat/ml/data_frame/analytics`
  The ID of the data frame analytics to fetch

## Description

Get configuration and usage information about data frame analytics jobs.

IMPORTANT: CAT APIs are only intended for human consumption using the Kibana
console or command line. They are not intended for use by applications. For
application consumption, use the get data frame analytics jobs statistics API.

## Required authorization

- Cluster privileges: `monitor_ml`

## Authentication

- Api key: `Authorization: <value>`
  Elasticsearch APIs use key-based authentication.
  You must create an API key and use the encoded value in the request header.
  For example:
  
  
  ```
  curl -X GET "${ES_URL}/_cat/indices?v=true" \
    -H "Authorization: ApiKey ${API_KEY}"
  ```
  
  For more information about where to find API keys for the Elasticsearch endpoint (${ES_URL}) for a project, go to [Get started with Elasticsearch Serverless](https://www.elastic.co/docs/solutions/search/serverless-elasticsearch-get-started).

## Query string parameters

- `allow_no_match` (boolean · default: false) — optional
  Whether to ignore if a wildcard expression matches no configs.
(This includes `_all` string or when no configs have been specified.)
- `h` (union · default: create_time,id,state,type) — optional
  Comma-separated list of column names to display.

Supported values include:
  - `assignment_explanation` (or `ae`): Contains messages relating to the selection of a node.
  - `create_time` (or `ct`, `createTime`): The time when the data frame analytics job was created.
  - `description` (or `d`): A description of a job.
  - `dest_index` (or `di`, `destIndex`): Name of the destination index.
  - `failure_reason` (or `fr`, `failureReason`): Contains messages about the reason why a data frame analytics job failed.
  - `id`: Identifier for the data frame analytics job.
  - `model_memory_limit` (or `mml`, `modelMemoryLimit`): The approximate maximum amount of memory resources that are permitted for
the data frame analytics job.
  - `node.address` (or `na`, `nodeAddress`): The network address of the node that the data frame analytics job is
assigned to.
  - `node.ephemeral_id` (or `ne`, `nodeEphemeralId`): The ephemeral ID of the node that the data frame analytics job is assigned
to.
  - `node.id` (or `ni`, `nodeId`): The unique identifier of the node that the data frame analytics job is
assigned to.
  - `node.name` (or `nn`, `nodeName`): The name of the node that the data frame analytics job is assigned to.
  - `progress` (or `p`): The progress report of the data frame analytics job by phase.
  - `source_index` (or `si`, `sourceIndex`): Name of the source index.
  - `state` (or `s`): Current state of the data frame analytics job.
  - `type` (or `t`): The type of analysis that the data frame analytics job performs.
  - `version` (or `v`): The Elasticsearch version number in which the data frame analytics job was
created.
- `s` (union oneOf) — optional
  Comma-separated list of column names or column aliases used to sort the
response.

Supported values include:
  - `assignment_explanation` (or `ae`): Contains messages relating to the selection of a node.
  - `create_time` (or `ct`, `createTime`): The time when the data frame analytics job was created.
  - `description` (or `d`): A description of a job.
  - `dest_index` (or `di`, `destIndex`): Name of the destination index.
  - `failure_reason` (or `fr`, `failureReason`): Contains messages about the reason why a data frame analytics job failed.
  - `id`: Identifier for the data frame analytics job.
  - `model_memory_limit` (or `mml`, `modelMemoryLimit`): The approximate maximum amount of memory resources that are permitted for
the data frame analytics job.
  - `node.address` (or `na`, `nodeAddress`): The network address of the node that the data frame analytics job is
assigned to.
  - `node.ephemeral_id` (or `ne`, `nodeEphemeralId`): The ephemeral ID of the node that the data frame analytics job is assigned
to.
  - `node.id` (or `ni`, `nodeId`): The unique identifier of the node that the data frame analytics job is
assigned to.
  - `node.name` (or `nn`, `nodeName`): The name of the node that the data frame analytics job is assigned to.
  - `progress` (or `p`): The progress report of the data frame analytics job by phase.
  - `source_index` (or `si`, `sourceIndex`): Name of the source index.
  - `state` (or `s`): Current state of the data frame analytics job.
  - `type` (or `t`): The type of analysis that the data frame analytics job performs.
  - `version` (or `v`): The Elasticsearch version number in which the data frame analytics job was
created.
  One of: `string[]` or `string`
- `format` (string · default: text) — optional
  Specifies the format to return the columnar data in, can be set to
`text`, `json`, `cbor`, `yaml`, or `smile`.
- `help` (boolean · default: false) — optional
  When set to `true` will output available columns. This option
can't be combined with any other query string option.
- `v` (boolean · default: false) — optional
  When set to `true` will enable verbose output.
- `bytes` (enum) — optional
  Sets the units for columns that contain a byte-size value.
Note that byte-size value units work in terms of powers of 1024. For instance `1kb` means 1024 bytes, not 1000 bytes.
If omitted, byte-size values are rendered with a suffix such as `kb`, `mb`, or `gb`, chosen such that the numeric value of the column is as small as possible whilst still being at least `1.0`.
If given, byte-size values are rendered as an integer with no suffix, representing the value of the column in the chosen unit.
Values that are not an exact multiple of the chosen unit are rounded down.
  Values: `b`, `kb`, `mb`, `gb`, `tb`, `pb`
- `time` (enum) — optional
  Sets the units for columns that contain a time duration.
If omitted, time duration values are rendered with a suffix such as `ms`, `s`, `m` or `h`, chosen such that the numeric value of the column is as small as possible whilst still being at least `1.0`.
If given, time duration values are rendered as an integer with no suffix.
Values that are not an exact multiple of the chosen unit are rounded down.
  Values: `nanos`, `micros`, `ms`, `s`, `m`, `h`, `d`

## Response

`application/json`

Type: `object[]`

An array; each item has these fields:

- `id` (string)
  The identifier for the job.
- `type` (string)
  The type of analysis that the job performs.
- `create_time` (string)
  The time when the job was created.
- `version` (string)
  The version of Elasticsearch when the job was created.
- `source_index` (string)
  The name of the source index.
- `dest_index` (string)
  The name of the destination index.
- `description` (string)
  A description of the job.
- `model_memory_limit` (string)
  The approximate maximum amount of memory resources that are permitted for the job.
- `state` (string)
  The current status of the job.
- `failure_reason` (string)
  Messages about the reason why the job failed.
- `progress` (string)
  The progress report for the job by phase.
- `assignment_explanation` (string)
  Messages related to the selection of a node.
- `node.id` (string)
  The unique identifier of the assigned node.
- `node.name` (string)
  The name of the assigned node.
- `node.ephemeral_id` (string)
  The ephemeral identifier of the assigned node.
- `node.address` (string)
  The network address of the assigned node.
## Code examples

#### Console

```console
GET _cat/ml/data_frame/analytics?v=true&format=json
```

#### JavaScript

```javascript
const response = await client.cat.mlDataFrameAnalytics({
  v: "true",
  format: "json",
});
```

#### Python

```python
resp = client.cat.ml_data_frame_analytics(
    v=True,
    format="json",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_cat/ml/data_frame/analytics?v=true&format=json" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.cat().mlDataFrameAnalytics(m -> m);
```

#### PHP

```php
$resp = $client->cat()->mlDataFrameAnalytics([
    "v" => "true",
    "format" => "json",
]);
```

#### Ruby

```ruby
response = client.cat.ml_data_frame_analytics(
  v: "true",
  format: "json"
)
```

## Response examples

#### Cat dataframeanalytics response example1

A successful response from `GET _cat/ml/data_frame/analytics?v=true&format=json`.

```json
[
  {
    "id": "classifier_job_1",
    "type": "classification",
    "create_time": "2020-02-12T11:49:09.594Z",
    "state": "stopped"
  },
    {
    "id": "classifier_job_2",
    "type": "classification",
    "create_time": "2020-02-12T11:49:14.479Z",
    "state": "stopped"
  },
  {
    "id": "classifier_job_3",
    "type": "classification",
    "create_time": "2020-02-12T11:49:16.928Z",
    "state": "stopped"
  },
  {
    "id": "classifier_job_4",
    "type": "classification",
    "create_time": "2020-02-12T11:49:19.127Z",
    "state": "stopped"
  },
  {
    "id": "classifier_job_5",
    "type": "classification",
    "create_time": "2020-02-12T11:49:21.349Z",
    "state": "stopped"
  }
]
```

