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

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

Retrieves configuration information for {transforms}.

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

`GET _transform/<transform_id>` +

`GET _transform/<transform_id>,<transform_id>` +

`GET _transform/` +

`GET _transform/_all` +

`GET _transform/*`

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

If the {es} {security-features} are enabled, you must have the following 
privileges:

* `monitor_transform` 

The built-in `transform_user` role has this privilege. 

For more information, see <<security-privileges>> and <<built-in-roles>>.

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

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

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

`<transform_id>`::
(Optional, string)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=transform-id-wildcard]
  
[[get-transform-query-parms]]
== {api-query-parms-title}

`allow_no_match`::
(Optional, boolean)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=allow-no-match-transforms1]

`from`::
(Optional, integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=from-transforms]

`size`::
(Optional, integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=size-transforms]

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

The API returns an array of {transform} resources, which are sorted by the `id`
value in ascending order. For the full list of properties, see
<<put-transform-request-body,Create {transform} API>>.

`create_time`::
(string) The time the {transform} was created. For example, `1576094542936`.
This property is informational; you cannot change its value.

`version`::
(string) The version of {es} that existed on the node when the {transform} was
created.
  
[[get-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-transform-example]]
== {api-examples-title}

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

[source,console]
--------------------------------------------------
GET _transform?size=10
--------------------------------------------------
// TEST[skip:setup kibana sample data]

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

[source,console]
--------------------------------------------------
GET _transform/ecommerce_transform
--------------------------------------------------
// TEST[skip:setup kibana sample data]

The API returns the following results:

[source,console-result]
----
{
  "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",
      "settings" : { },
      "version" : "7.5.0",
      "create_time" : 1576094542936
    }
  ]
}

----
