[role="xpack"]
[testenv="basic"]
[[get-data-frame-transform]]
=== Get {dataframe-transforms} API

[subs="attributes"]
++++
<titleabbrev>Get {dataframe-transforms}</titleabbrev>
++++

Retrieves configuration information for {dataframe-transforms}.

beta[]

[[get-data-frame-transform-request]]
==== {api-request-title}

`GET _data_frame/transforms/<data_frame_transform_id>` +

`GET _data_frame/transforms/<data_frame_transform_id>,<data_frame_transform_id>` +

`GET _data_frame/transforms/` +

`GET _data_frame/transforms/_all` +

`GET _data_frame/transforms/*`

[[get-data-frame-transform-prereqs]]
==== {api-prereq-title}

* If the {es} {security-features} are enabled, you must have
`monitor_data_frame_transforms` cluster privileges to use this API. The built-in
`data_frame_transforms_user` role has these privileges. For more information,
see {stack-ov}/security-privileges.html[Security privileges] and
{stack-ov}/built-in-roles.html[Built-in roles].

[[get-data-frame-transform-desc]]
==== {api-description-title}

You can get information for multiple {dataframe-transforms} in a single API
request by using a comma-separated list of identifiers or a wildcard expression.
You can get information for all {dataframe-transforms} by using `_all`, by
specifying `*` as the `<data_frame_transform_id>`, or by omitting the
`<data_frame_transform_id>`.

[[get-data-frame-transform-path-parms]]
==== {api-path-parms-title}

`<data_frame_transform_id>`::
  (Optional, string) Identifier for the {dataframe-transform}. It can be a
  {dataframe-transform} identifier or a wildcard expression. If you do not
  specify one of these options, the API returns information for all
  {dataframe-transforms}.
  
[[get-data-frame-transform-query-parms]]
==== {api-query-parms-title}

`allow_no_match`::
(Optional, boolean) Specifies what to do when the request:
+
--
* Contains wildcard expressions and there are no {dataframe-transforms} that match.
* Contains the `_all` string or no identifiers and there are no matches.
* Contains wildcard expressions and there are only partial matches. 

The default value is `true`, which returns an empty `transforms` array when
there are no matches and the subset of results when there are partial matches.
If this parameter is `false`, the request returns a `404` status code when there
are no matches or only partial matches.
--

`from`::
  (Optional, integer) Skips the specified number of {dataframe-transforms}. The
  default value is `0`.

`size`::
  (Optional, integer) Specifies the maximum number of {dataframe-transforms} to obtain. The default value is `100`.

[[get-data-frame-transform-response]]
==== {api-response-body-title}

`transforms`::
  (array) An array of transform resources, which are sorted by the `id` value in
  ascending order. See <<data-frame-transform-resource>>.
  
[[get-data-frame-transform-response-codes]]
==== {api-response-codes-title}

`404` (Missing resources)::
  If `allow_no_match` is `false`, this code indicates that there are no
  resources that match the request or only partial matches for the request.  

[[get-data-frame-transform-example]]
==== {api-examples-title}

The following example retrieves information about a maximum of ten transforms:

[source,js]
--------------------------------------------------
GET _data_frame/transforms?size=10
--------------------------------------------------
// CONSOLE
// TEST[skip:setup kibana sample data]

The following example gets configuration information for the
`ecommerce_transform` {dataframe-transform}:

[source,js]
--------------------------------------------------
GET _data_frame/transforms/ecommerce_transform
--------------------------------------------------
// CONSOLE
// TEST[skip:setup kibana sample data]

The API returns the following results:
[source,js]
----
{
  "count" : 1,
  "transforms" : [
    {
      "id" : "ecommerce_transform",
      "source" : {
        "index" : [
          "kibana_sample_data_ecommerce"
        ],
        "query" : {
          "term" : {
            "geoip.continent_name" : {
              "value" : "Asia"
            }
          }
        }
      },
      "dest" : {
        "index" : "kibana_sample_data_ecommerce_transform"
      },
      "frequency": "1m",
      "pivot" : {
        "group_by" : {
          "customer_id" : {
            "terms" : {
              "field" : "customer_id"
            }
          }
        },
        "aggregations" : {
          "max_price" : {
            "max" : {
              "field" : "taxful_total_price"
            }
          }
        }
      },
      "description" : "Maximum priced ecommerce data by customer_id in Asia"
    }
  ]
}

----
// TESTRESPONSE