| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | [role="xpack"][testenv="basic"][[start-transform]]= Start {transform} API[subs="attributes"]++++<titleabbrev>Start {transform}</titleabbrev>++++Starts one or more {transforms}.[[start-transform-request]]== {api-request-title}`POST _transform/<transform_id>/_start`[[start-transform-prereqs]]== {api-prereq-title}Requires the following privileges:* cluster: `manage_transform` (the `transform_admin` built-in role grants this   privilege)* source indices: `read`, `view_index_metadata`.[[start-transform-desc]]== {api-description-title}When you start a {transform}, it creates the destination index if it does not already exist. The `number_of_shards` is set to `1` and the`auto_expand_replicas` is set to `0-1`.If it is a pivot {transform}, it deduces the mapping definitions for thedestination index from the source indices and the transform aggregations. Iffields in the destination index are derived from scripts (as in the case of`scripted_metric` or `bucket_script` aggregations), the {transform} uses<<dynamic-mapping,dynamic mappings>> unless an index template exists.If it is a latest {transform}, it does not deduce mapping definitions; it usesdynamic mappings.TIP: To use explicit mappings, create the destination index before you start the {transform}. Alternatively, you can create an index template, though it does not affect thededuced mappings in a pivot {transform}.When the {transform} starts, a series of validations occur to ensureits success. If you deferred validation when you created the{transform}, they occur when you start the {transform}--with theexception of privilege checks. When {es} {security-features} are enabled, the{transform} remembers which roles the user that created it had at thetime of creation and uses those same roles. If those roles do not have therequired privileges on the source and destination indices, the{transform} fails when it attempts unauthorized operations.[[start-transform-path-parms]]== {api-path-parms-title}`<transform_id>`::(Required, string)include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=transform-id][[start-transform-example]]== {api-examples-title}[source,console]--------------------------------------------------POST _transform/ecommerce_transform/_start--------------------------------------------------// TEST[skip:set up kibana samples]When the {transform} starts, you receive the following results:[source,console-result]----{  "acknowledged" : true}----
 |