[role="xpack"]
[testenv="enterprise"]
[[autoscaling-put-autoscaling-policy]]
=== Create or update autoscaling policy API
++++
<titleabbrev>Create or update autoscaling policy</titleabbrev>
++++

NOTE: {cloud-only}

Creates or updates an autoscaling policy.

[[autoscaling-put-autoscaling-policy-request]]
==== {api-request-title}

[source,console]
--------------------------------------------------
PUT /_autoscaling/policy/<name>
{
  "roles": [],
  "deciders": {
    "fixed": {
    }
  }
}
--------------------------------------------------
// TEST[s/<name>/name/]

//////////////////////////

[source,console]
--------------------------------------------------
DELETE /_autoscaling/policy/name
--------------------------------------------------
// TEST[continued]

//////////////////////////

[[autoscaling-put-autoscaling-policy-prereqs]]
==== {api-prereq-title}

* If the {es} {security-features} are enabled, you must have the
`manage_autoscaling` <<privileges-list-cluster,cluster privilege>> to use this
API.

* If the <<operator-privileges,{operator-feature}>> is enabled, only operator
users can use this API.

[[autoscaling-put-autoscaling-policy-desc]]
==== {api-description-title}

This API puts an autoscaling policy with the provided name.
See <<autoscaling-deciders,Autoscaling Deciders>> for available deciders.

[[autoscaling-put-autoscaling-policy-examples]]
==== {api-examples-title}

This example puts an autoscaling policy named `my_autoscaling_policy` using the
fixed autoscaling decider, applying to the set of nodes having (only) the
"data_hot" role.

[source,console]
--------------------------------------------------
PUT /_autoscaling/policy/my_autoscaling_policy
{
  "roles" : [ "data_hot" ],
  "deciders": {
    "fixed": {
    }
  }
}
--------------------------------------------------
// TEST

The API returns the following result:

[source,console-result]
--------------------------------------------------
{
  "acknowledged": true
}
--------------------------------------------------

//////////////////////////

[source,console]
--------------------------------------------------
DELETE /_autoscaling/policy/my_autoscaling_policy
--------------------------------------------------
// TEST[continued]

//////////////////////////
