Elastic Stack (ELK Stack) ml data frame API

The ml data frame API from Elastic Stack (ELK Stack) — 12 operation(s) for ml data frame.

Operations 18

GET /_ml/data_frame/analytics/{id} Get data frame analytics job configuration info #
PUT /_ml/data_frame/analytics/{id} Create a data frame analytics job #
DELETE /_ml/data_frame/analytics/{id} Delete a data frame analytics job #
POST /_ml/data_frame/_evaluate Evaluate data frame analytics #
GET /_ml/data_frame/analytics/_explain Explain data frame analytics config #
POST /_ml/data_frame/analytics/_explain Explain data frame analytics config #
GET /_ml/data_frame/analytics/{id}/_explain Explain data frame analytics config #
POST /_ml/data_frame/analytics/{id}/_explain Explain data frame analytics config #
GET /_ml/data_frame/analytics Get data frame analytics job configuration info #
GET /_ml/data_frame/analytics/_stats Get data frame analytics job stats #
GET /_ml/data_frame/analytics/{id}/_stats Get data frame analytics job stats #
GET /_ml/data_frame/analytics/_preview Preview features used by data frame analytics #
POST /_ml/data_frame/analytics/_preview Preview features used by data frame analytics #
GET /_ml/data_frame/analytics/{id}/_preview Preview features used by data frame analytics #
POST /_ml/data_frame/analytics/{id}/_preview Preview features used by data frame analytics #
POST /_ml/data_frame/analytics/{id}/_start Start a data frame analytics job #
POST /_ml/data_frame/analytics/{id}/_stop Stop data frame analytics jobs #
POST /_ml/data_frame/analytics/{id}/_update Update a data frame analytics job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elk-stack-ml-data-frame-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elk-stack-ml-data-frame-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elasticsearch Request & Response Specification ml data frame API
  license:
    name: Apache 2.0
    url: https://github.com/elastic/elasticsearch-specification/blob/main/LICENSE
  version: ''
tags:
- name: ml data frame
paths:
  /_ml/data_frame/analytics/{id}:
    get:
      tags:
      - ml data frame
      summary: Get data frame analytics job configuration info
      description: 'You can get information for multiple data frame analytics jobs in a single

        API request by using a comma-separated list of data frame analytics jobs or a

        wildcard expression.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-get-data-frame-analytics
      parameters:
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-id'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-allow_no_match'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-from'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-size'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-exclude_generated'
      responses:
        '200':
          $ref: '#/components/responses/ml.get_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
    put:
      tags:
      - ml data frame
      summary: Create a data frame analytics job
      description: 'This API creates a data frame analytics job that performs an analysis on the

        source indices and stores the outcome in a destination index.

        By default, the query used in the source configuration is `{"match_all": {}}`.


        If the destination index does not exist, it is created automatically when you start the job.


        If you supply only a subset of the regression or classification parameters, hyperparameter optimization occurs. It determines a value for each of the undefined parameters.


        ## Required authorization


        * Index privileges: `create_index`,`index`,`manage`,`read`,`view_index_metadata`

        * Cluster privileges: `manage_ml`

        '
      operationId: ml-put-data-frame-analytics
      parameters:
      - in: path
        name: id
        description: 'Identifier for the data frame analytics job. This identifier can contain

          lowercase alphanumeric characters (a-z and 0-9), hyphens, and

          underscores. It must start and end with alphanumeric characters.'
        required: true
        deprecated: false
        schema:
          $ref: '#/components/schemas/_types.Id'
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                allow_lazy_start:
                  description: 'Specifies whether this job can start when there is insufficient machine

                    learning node capacity for it to be immediately assigned to a node. If

                    set to `false` and a machine learning node with capacity to run the job

                    cannot be immediately found, the API returns an error. If set to `true`,

                    the API does not return an error; the job waits in the `starting` state

                    until sufficient machine learning node capacity is available. This

                    behavior is also affected by the cluster-wide

                    `xpack.ml.max_lazy_ml_nodes` setting.'
                  default: false
                  type: boolean
                analysis:
                  description: 'The analysis configuration, which contains the information necessary to

                    perform one of the following types of analysis: classification, outlier

                    detection, or regression.'
                  allOf:
                  - $ref: '#/components/schemas/ml._types.DataframeAnalysisContainer'
                analyzed_fields:
                  description: 'Specifies `includes` and/or `excludes` patterns to select which fields

                    will be included in the analysis. The patterns specified in `excludes`

                    are applied last, therefore `excludes` takes precedence. In other words,

                    if the same field is specified in both `includes` and `excludes`, then

                    the field will not be included in the analysis. If `analyzed_fields` is

                    not set, only the relevant fields will be included. For example, all the

                    numeric fields for outlier detection.

                    The supported fields vary for each type of analysis. Outlier detection

                    requires numeric or `boolean` data to analyze. The algorithms don’t

                    support missing values therefore fields that have data types other than

                    numeric or boolean are ignored. Documents where included fields contain

                    missing values, null values, or an array are also ignored. Therefore the

                    `dest` index may contain documents that don’t have an outlier score.

                    Regression supports fields that are numeric, `boolean`, `text`,

                    `keyword`, and `ip` data types. It is also tolerant of missing values.

                    Fields that are supported are included in the analysis, other fields are

                    ignored. Documents where included fields contain an array with two or

                    more values are also ignored. Documents in the `dest` index that don’t

                    contain a results field are not included in the regression analysis.

                    Classification supports fields that are numeric, `boolean`, `text`,

                    `keyword`, and `ip` data types. It is also tolerant of missing values.

                    Fields that are supported are included in the analysis, other fields are

                    ignored. Documents where included fields contain an array with two or

                    more values are also ignored. Documents in the `dest` index that don’t

                    contain a results field are not included in the classification analysis.

                    Classification analysis can be improved by mapping ordinal variable

                    values to a single number. For example, in case of age ranges, you can

                    model the values as `0-14 = 0`, `15-24 = 1`, `25-34 = 2`, and so on.'
                  allOf:
                  - $ref: '#/components/schemas/ml._types.DataframeAnalysisAnalyzedFields'
                description:
                  description: A description of the job.
                  type: string
                dest:
                  description: The destination configuration.
                  allOf:
                  - $ref: '#/components/schemas/ml._types.DataframeAnalyticsDestination'
                max_num_threads:
                  description: 'The maximum number of threads to be used by the analysis. Using more

                    threads may decrease the time necessary to complete the analysis at the

                    cost of using more CPU. Note that the process may use additional threads

                    for operational functionality other than the analysis itself.'
                  default: 1.0
                  type: number
                _meta:
                  allOf:
                  - $ref: '#/components/schemas/_types.Metadata'
                model_memory_limit:
                  description: 'The approximate maximum amount of memory resources that are permitted for

                    analytical processing. If your `elasticsearch.yml` file contains an

                    `xpack.ml.max_model_memory_limit` setting, an error occurs when you try

                    to create data frame analytics jobs that have `model_memory_limit` values

                    greater than that setting.'
                  default: 1gb
                  type: string
                source:
                  description: The configuration of how to source the analysis data.
                  allOf:
                  - $ref: '#/components/schemas/ml._types.DataframeAnalyticsSource'
                headers:
                  x-state: Generally available; Added in 8.0.0
                  allOf:
                  - $ref: '#/components/schemas/_types.HttpHeaders'
                version:
                  x-state: Generally available; Added in 7.16.0
                  allOf:
                  - $ref: '#/components/schemas/_types.VersionString'
              required:
              - analysis
              - dest
              - source
            examples:
              MlPutDataFrameAnalyticsExample1:
                description: An example body for a `PUT _ml/data_frame/analytics/model-flight-delays-pre` request.
                value: "{\n  \"source\": {\n    \"index\": [\n      \"kibana_sample_data_flights\"\n    ],\n    \"query\": {\n      \"range\": {\n        \"DistanceKilometers\": {\n          \"gt\": 0\n        }\n      }\n    },\n    \"_source\": {\n      \"includes\": [],\n      \"excludes\": [\n        \"FlightDelay\",\n        \"FlightDelayType\"\n      ]\n    }\n  },\n  \"dest\": {\n    \"index\": \"df-flight-delays\",\n    \"results_field\": \"ml-results\"\n  },\n  \"analysis\": {\n  \"regression\": {\n    \"dependent_variable\": \"FlightDelayMin\",\n    \"training_percent\": 90\n    }\n  },\n  \"analyzed_fields\": {\n    \"includes\": [],\n    \"excludes\": [\n      \"FlightNum\"\n    ]\n  },\n  \"model_memory_limit\": \"100mb\"\n}"
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  authorization:
                    allOf:
                    - $ref: '#/components/schemas/ml._types.DataframeAnalyticsAuthorization'
                  allow_lazy_start:
                    type: boolean
                  analysis:
                    allOf:
                    - $ref: '#/components/schemas/ml._types.DataframeAnalysisContainer'
                  analyzed_fields:
                    allOf:
                    - $ref: '#/components/schemas/ml._types.DataframeAnalysisAnalyzedFields'
                  create_time:
                    allOf:
                    - $ref: '#/components/schemas/_types.EpochTimeUnitMillis'
                  description:
                    type: string
                  dest:
                    allOf:
                    - $ref: '#/components/schemas/ml._types.DataframeAnalyticsDestination'
                  id:
                    allOf:
                    - $ref: '#/components/schemas/_types.Id'
                  max_num_threads:
                    type: number
                  _meta:
                    allOf:
                    - $ref: '#/components/schemas/_types.Metadata'
                  model_memory_limit:
                    type: string
                  source:
                    allOf:
                    - $ref: '#/components/schemas/ml._types.DataframeAnalyticsSource'
                  version:
                    allOf:
                    - $ref: '#/components/schemas/_types.VersionString'
                required:
                - allow_lazy_start
                - analysis
                - create_time
                - dest
                - id
                - max_num_threads
                - model_memory_limit
                - source
                - version
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
    delete:
      tags:
      - ml data frame
      summary: Delete a data frame analytics job
      description: '


        ## Required authorization


        * Cluster privileges: `manage_ml`

        '
      operationId: ml-delete-data-frame-analytics
      parameters:
      - in: path
        name: id
        description: Identifier for the data frame analytics job.
        required: true
        deprecated: false
        schema:
          $ref: '#/components/schemas/_types.Id'
        style: simple
      - in: query
        name: force
        description: If `true`, it deletes a job that is not stopped; this method is quicker than stopping and deleting the job.
        deprecated: false
        schema:
          default: false
          type: boolean
        style: form
      - in: query
        name: timeout
        description: The time to wait for the job to be deleted.
        deprecated: false
        schema:
          default: 1m
          allOf:
          - $ref: '#/components/schemas/_types.Duration'
        style: form
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_types.AcknowledgedResponseBase'
              examples:
                MlDeleteDataFrameAnalyticsResponseExample1:
                  description: A successful response when deleting a data frame analytics job.
                  value: "{\n  \"acknowledged\": true\n}"
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/_evaluate:
    post:
      tags:
      - ml data frame
      summary: Evaluate data frame analytics
      description: 'The API packages together commonly used evaluation metrics for various types

        of machine learning features. This has been designed for use on indexes

        created by data frame analytics. Evaluation requires both a ground truth

        field and an analytics result field to be present.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-evaluate-data-frame
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                evaluation:
                  description: Defines the type of evaluation you want to perform.
                  allOf:
                  - $ref: '#/components/schemas/ml._types.DataframeEvaluationContainer'
                index:
                  description: Defines the `index` in which the evaluation will be performed.
                  allOf:
                  - $ref: '#/components/schemas/_types.IndexName'
                query:
                  description: A query clause that retrieves a subset of data from the source index.
                  allOf:
                  - $ref: '#/components/schemas/_types.query_dsl.QueryContainer'
              required:
              - evaluation
              - index
            examples:
              MlEvaluateDataFrameRequestExample1:
                summary: Classification example 1
                description: 'Run `POST _ml/data_frame/_evaluate` to evaluate a a classification job for an annotated index. The `actual_field` contains the ground truth for classification. The `predicted_field` contains the predicted value calculated by the classification analysis.

                  '
                value: "{\n  \"index\": \"animal_classification\",\n  \"evaluation\": {\n    \"classification\": {\n      \"actual_field\": \"animal_class\",\n      \"predicted_field\": \"ml.animal_class_prediction\",\n      \"metrics\": {\n        \"multiclass_confusion_matrix\": {}\n      }\n    }\n  }\n}"
              MlEvaluateDataFrameRequestExample2:
                summary: Classification example 2
                description: 'Run `POST _ml/data_frame/_evaluate` to evaluate a classification job with AUC ROC metrics for an annotated index. The `actual_field` contains the ground truth value for the actual animal classification. This is required in order to evaluate results. The `class_name` specifies the class name that is treated as positive during the evaluation, all the other classes are treated as negative.

                  '
                value: "{\n  \"index\": \"animal_classification\",\n  \"evaluation\": {\n    \"classification\": {\n      \"actual_field\": \"animal_class\",\n      \"metrics\": {\n        \"auc_roc\": {\n          \"class_name\": \"dog\"\n        }\n      }\n    }\n  }\n}"
              MlEvaluateDataFrameRequestExample3:
                summary: Outlier detection
                description: 'Run `POST _ml/data_frame/_evaluate` to evaluate an outlier detection job for an annotated index.

                  '
                value: "{\n  \"index\": \"my_analytics_dest_index\",\n  \"evaluation\": {\n    \"outlier_detection\": {\n      \"actual_field\": \"is_outlier\",\n      \"predicted_probability_field\": \"ml.outlier_score\"\n    }\n  }\n}"
              MlEvaluateDataFrameRequestExample4:
                summary: Regression example 1
                description: 'Run `POST _ml/data_frame/_evaluate` to evaluate the testing error of a regression job for an annotated index. The term query in the body limits evaluation to be performed on the test split only. The `actual_field` contains the ground truth for house prices. The `predicted_field` contains the house price calculated by the regression analysis.

                  '
                value: "{\n  \"index\": \"house_price_predictions\",\n  \"query\": {\n    \"bool\": {\n      \"filter\": [\n        {\n          \"term\": {\n            \"ml.is_training\": false\n          }\n        }\n      ]\n    }\n  },\n  \"evaluation\": {\n    \"regression\": {\n      \"actual_field\": \"price\",\n      \"predicted_field\": \"ml.price_prediction\",\n      \"metrics\": {\n        \"r_squared\": {},\n        \"mse\": {},\n        \"msle\": {\n          \"offset\": 10\n        },\n        \"huber\": {\n          \"delta\": 1.5\n        }\n      }\n    }\n  }\n}"
              MlEvaluateDataFrameRequestExample5:
                summary: Regression example 2
                description: 'Run `POST _ml/data_frame/_evaluate` to evaluate the training error of a regression job for an annotated index. The term query in the body limits evaluation to be performed on the training split only. The `actual_field` contains the ground truth for house prices. The `predicted_field` contains the house price calculated by the regression analysis.

                  '
                value: "{\n  \"index\": \"house_price_predictions\",\n  \"query\": {\n    \"term\": {\n      \"ml.is_training\": {\n        \"value\": true\n      }\n    }\n  },\n  \"evaluation\": {\n    \"regression\": {\n      \"actual_field\": \"price\",\n      \"predicted_field\": \"ml.price_prediction\",\n      \"metrics\": {\n        \"r_squared\": {},\n        \"mse\": {},\n        \"msle\": {},\n        \"huber\": {}\n      }\n    }\n  }\n}"
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  classification:
                    description: 'Evaluation results for a classification analysis.

                      It outputs a prediction that identifies to which of the classes each document belongs.'
                    allOf:
                    - $ref: '#/components/schemas/ml.evaluate_data_frame.DataframeClassificationSummary'
                  outlier_detection:
                    description: 'Evaluation results for an outlier detection analysis.

                      It outputs the probability that each document is an outlier.'
                    allOf:
                    - $ref: '#/components/schemas/ml.evaluate_data_frame.DataframeOutlierDetectionSummary'
                  regression:
                    description: Evaluation results for a regression analysis which outputs a prediction of values.
                    allOf:
                    - $ref: '#/components/schemas/ml.evaluate_data_frame.DataframeRegressionSummary'
              examples:
                MlEvaluateDataFrameResponseExample1:
                  summary: Classification example 1
                  description: 'A succesful response from `POST _ml/data_frame/_evaluate` to evaluate a classification analysis job for an annotated index. The `actual_class` contains the name of the class the analysis tried to predict. The `actual_class_doc_count` is the number of documents in the index belonging to the `actual_class`. The `predicted_classes` object contains the list of the predicted classes and the number of predictions associated with the class.

                    '
                  value: "{\n  \"classification\": {\n    \"multiclass_confusion_matrix\": {\n      \"confusion_matrix\": [\n        {\n          \"actual_class\": \"cat\",\n          \"actual_class_doc_count\": 12,\n          \"predicted_classes\": [\n            {\n              \"predicted_class\": \"cat\",\n              \"count\": 12\n            },\n            {\n              \"predicted_class\": \"dog\",\n              \"count\": 0\n            }\n          ],\n          \"other_predicted_class_doc_count\": 0\n        },\n        {\n          \"actual_class\": \"dog\",\n          \"actual_class_doc_count\": 11,\n          \"predicted_classes\": [\n            {\n              \"predicted_class\": \"dog\",\n              \"count\": 7\n            },\n            {\n              \"predicted_class\": \"cat\",\n              \"count\": 4\n            }\n          ],\n          \"other_predicted_class_doc_count\": 0\n        }\n      ],\n      \"other_actual_class_count\": 0\n    }\n  }\n}"
                MlEvaluateDataFrameResponseExample2:
                  summary: Classification example 2
                  description: 'A succesful response from `POST _ml/data_frame/_evaluate` to evaluate a classification analysis job with the AUC ROC metrics for an annotated index.

                    '
                  value: "{\n  \"classification\": {\n    \"auc_roc\": {\n      \"value\": 0.8941788639536681\n    }\n  }\n}"
                MlEvaluateDataFrameResponseExample3:
                  summary: Outlier detection
                  description: A successful response from `POST _ml/data_frame/_evaluate` to evaluate an outlier detection job.
                  value: "{\n  \"outlier_detection\": {\n    \"auc_roc\": {\n      \"value\": 0.9258475774641445\n    },\n    \"confusion_matrix\": {\n      \"0.25\": {\n        \"tp\": 5,\n        \"fp\": 9,\n        \"tn\": 204,\n        \"fn\": 5\n      },\n      \"0.5\": {\n        \"tp\": 1,\n        \"fp\": 5,\n        \"tn\": 208,\n        \"fn\": 9\n      },\n      \"0.75\": {\n        \"tp\": 0,\n        \"fp\": 4,\n        \"tn\": 209,\n        \"fn\": 10\n      }\n    },\n    \"precision\": {\n      \"0.25\": 0.35714285714285715,\n      \"0.5\": 0.16666666666666666,\n      \"0.75\": 0\n    },\n    \"recall\": {\n      \"0.25\": 0.5,\n      \"0.5\": 0.1,\n      \"0.75\": 0\n    }\n  }\n}"
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/_explain:
    get:
      tags:
      - ml data frame
      summary: Explain data frame analytics config
      description: 'This API provides explanations for a data frame analytics config that either

        exists already or one that has not been created yet. The following

        explanations are provided:

        * which fields are included or not in the analysis and why,

        * how much memory is estimated to be required. The estimate can be used when deciding the appropriate value for model_memory_limit setting later on.

        If you have object fields or fields that are excluded via source filtering, they are not included in the explanation.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-explain-data-frame-analytics
      requestBody:
        $ref: '#/components/requestBodies/ml.explain_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.explain_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
    post:
      tags:
      - ml data frame
      summary: Explain data frame analytics config
      description: 'This API provides explanations for a data frame analytics config that either

        exists already or one that has not been created yet. The following

        explanations are provided:

        * which fields are included or not in the analysis and why,

        * how much memory is estimated to be required. The estimate can be used when deciding the appropriate value for model_memory_limit setting later on.

        If you have object fields or fields that are excluded via source filtering, they are not included in the explanation.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-explain-data-frame-analytics-1
      requestBody:
        $ref: '#/components/requestBodies/ml.explain_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.explain_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/{id}/_explain:
    get:
      tags:
      - ml data frame
      summary: Explain data frame analytics config
      description: 'This API provides explanations for a data frame analytics config that either

        exists already or one that has not been created yet. The following

        explanations are provided:

        * which fields are included or not in the analysis and why,

        * how much memory is estimated to be required. The estimate can be used when deciding the appropriate value for model_memory_limit setting later on.

        If you have object fields or fields that are excluded via source filtering, they are not included in the explanation.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-explain-data-frame-analytics-2
      parameters:
      - $ref: '#/components/parameters/ml.explain_data_frame_analytics-id'
      requestBody:
        $ref: '#/components/requestBodies/ml.explain_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.explain_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
    post:
      tags:
      - ml data frame
      summary: Explain data frame analytics config
      description: 'This API provides explanations for a data frame analytics config that either

        exists already or one that has not been created yet. The following

        explanations are provided:

        * which fields are included or not in the analysis and why,

        * how much memory is estimated to be required. The estimate can be used when deciding the appropriate value for model_memory_limit setting later on.

        If you have object fields or fields that are excluded via source filtering, they are not included in the explanation.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-explain-data-frame-analytics-3
      parameters:
      - $ref: '#/components/parameters/ml.explain_data_frame_analytics-id'
      requestBody:
        $ref: '#/components/requestBodies/ml.explain_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.explain_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics:
    get:
      tags:
      - ml data frame
      summary: Get data frame analytics job configuration info
      description: 'You can get information for multiple data frame analytics jobs in a single

        API request by using a comma-separated list of data frame analytics jobs or a

        wildcard expression.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-get-data-frame-analytics-1
      parameters:
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-allow_no_match'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-from'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-size'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics-exclude_generated'
      responses:
        '200':
          $ref: '#/components/responses/ml.get_data_frame_analytics-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/_stats:
    get:
      tags:
      - ml data frame
      summary: Get data frame analytics job stats
      description: '


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-get-data-frame-analytics-stats
      parameters:
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-allow_no_match'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-from'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-size'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-verbose'
      responses:
        '200':
          $ref: '#/components/responses/ml.get_data_frame_analytics_stats-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/{id}/_stats:
    get:
      tags:
      - ml data frame
      summary: Get data frame analytics job stats
      description: '


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-get-data-frame-analytics-stats-1
      parameters:
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-id'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-allow_no_match'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-from'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-size'
      - $ref: '#/components/parameters/ml.get_data_frame_analytics_stats-verbose'
      responses:
        '200':
          $ref: '#/components/responses/ml.get_data_frame_analytics_stats-200'
      x-state: Generally available; Added in 7.3.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/_preview:
    get:
      tags:
      - ml data frame
      summary: Preview features used by data frame analytics
      description: 'Preview the extracted features used by a data frame analytics config.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-preview-data-frame-analytics
      requestBody:
        $ref: '#/components/requestBodies/ml.preview_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.preview_data_frame_analytics-200'
      x-state: Generally available; Added in 7.13.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
    post:
      tags:
      - ml data frame
      summary: Preview features used by data frame analytics
      description: 'Preview the extracted features used by a data frame analytics config.


        ## Required authorization


        * Cluster privileges: `monitor_ml`

        '
      operationId: ml-preview-data-frame-analytics-1
      requestBody:
        $ref: '#/components/requestBodies/ml.preview_data_frame_analytics'
      responses:
        '200':
          $ref: '#/components/responses/ml.preview_data_frame_analytics-200'
      x-state: Generally available; Added in 7.13.0
      x-metaTags:
      - content: Elasticsearch, Machine Learning
        name: product_name
  /_ml/data_frame/analytics/{id}/_preview:
    get:
      tags:
      - ml data frame
      summary: Preview features used by data frame analytics
      description: 'Preview the

# --- truncated at 32 KB (436 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elk-stack/refs/heads/main/openapi/elk-stack-ml-data-frame-api-openapi.yml