--- layout: api page_title: Scaling Policies - HTTP API description: The /scaling/policy endpoints are used to list and view scaling policies. --- # Scaling Policies HTTP API The `/scaling/policies` and `/scaling/policy/` endpoints are used to list and view scaling policies. ## List Scaling Policies This endpoint returns the scaling policies from all jobs. | Method | Path | Produces | | ------ | ------------------- | ------------------ | | `GET` | `/scaling/policies` | `application/json` | The table below shows this endpoint's support for [blocking queries](/api-docs#blocking-queries), [consistency modes](/api-docs#consistency-modes) and [required ACLs](/api-docs#acls). | Blocking Queries | Consistency Modes | ACL Required | | ---------------- | ----------------- | --------------------------------- | | `YES` | `all` | `namespace:list-scaling-policies` | ### Parameters - `job` `(string: "")`- Specifies the job ID to filter policies by. - `type` `(string: "")` - Specifies the type of scaling policy to filter by. In the open source version of Nomad, `horizontal` is the only supported value. Within Nomad Enterprise, `vertical_mem` and `vertical_cpu` are supported along with `vertical`. The latter returns policies matching both `vertical_mem` and `vertical_cpu`. ### Sample Request ```shell-session $ curl \ https://localhost:4646/v1/scaling/policies ``` ```shell-session $ curl \ https://localhost:4646/v1/scaling/policies?job=example ``` ```shell-session $ curl \ https://localhost:4646/v1/scaling/policies?type=vertical ``` ### Sample Response ```json [ { "ID": "b2c64295-4315-2fdc-6158-a27156808729", "Enabled": true, "Type": "vertical_cpu", "Target": { "Namespace": "default", "Job": "example", "Group": "cache", "Task": "redis" }, "CreateIndex": 1340, "ModifyIndex": 1340 }, { "ID": "c355d0ec-7aa1-2604-449d-4ec79c813d2c", "Enabled": true, "Type": "vertical_mem", "Target": { "Job": "example", "Group": "cache", "Task": "redis", "Namespace": "default" }, "CreateIndex": 1340, "ModifyIndex": 1340 }, { "ID": "31a53813-24df-b2ad-77dc-1b4bad4e7dca", "Enabled": true, "Type": "horizontal", "Target": { "Job": "example", "Group": "cache", "Namespace": "default" }, "CreateIndex": 1358, "ModifyIndex": 1358 } ] ``` ## Read Scaling Policy This endpoint reads a specific scaling policy. | Method | Path | Produces | | ------ | ---------------------------- | ------------------ | | `GET` | `/scaling/policy/:policy_id` | `application/json` | The table below shows this endpoint's support for [blocking queries](/api-docs#blocking-queries), [consistency modes](/api-docs#consistency-modes) and [required ACLs](/api-docs#acls). | Blocking Queries | Consistency Modes | ACL Required | | ---------------- | ----------------- | ------------------------------- | | `YES` | `all` | `namespace:read-scaling-policy` | ### Parameters - `:policy_id` `(string: )` - Specifies the ID of the scaling policy (as returned by the scaling policy list endpoint). This is specified as part of the path. ### Sample Request ```shell-session $ curl \ https://localhost:4646/v1/scaling/policy/5e9f9ef2-5223-6d35-bac1-be0f3cb974ad ``` ### Sample Response ```json { "CreateIndex": 10, "Enabled": true, "ID": "5e9f9ef2-5223-6d35-bac1-be0f3cb974ad", "Type": "horizontal", "Max": 10, "Min": 0, "ModifyIndex": 10, "Policy": { "engage": true, "foo": "bar", "howdy": "doody", "value": 6.0 }, "Target": { "Group": "cache", "Job": "example", "Namespace": "default" } } ```