| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | [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}If the {es} {security-features} are enabled, you must have the following built-in roles and privileges:* `manage_transform`* source index: `view_index_metadata`  For more information, see <<security-privileges>> and <<built-in-roles>>.[[start-transform-desc]]==== {api-description-title}When you start a {transform}, it creates the destination index if itdoes not already exist. The `number_of_shards` is set to `1` and the`auto_expand_replicas` is set to `0-1`.The {transform} deduces the mapping definitions from the source indices. Forscripted fields, it uses <<dynamic-mapping,dynamic mappings>>. If a field in thedestination index is created by `scripted_metric` or `bucket_script`aggregations, the {transform} uses dynamic mappings unless a template exists orthe destination index already exists. Mapping definitions in the destinationindex take precedence over dynamic mappings and templates.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}----
 |