# Update Settings Policy Type

<figure><img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2Fe10xalAVMrALK0AwdRRk%2Fimage.png?alt=media&#x26;token=113c1c74-2fbb-460e-a0d9-758992bf1684" alt=""><figcaption></figcaption></figure>

Use **Update Settings** policies to centrally push configuration to endpoints (most commonly plugin configuration), without manually editing files on each machine.

***

### What it’s for

* Rolling out standardized **plugin settings**
* Updating agent-side configuration consistently across a deployment

### How it works (high level)

Agents run a configuration processor job (often named **Process Configuration Policies**) which finds policies with `PolicyType` **`"SettingsUpdate"`** and writes the provided JSON to the appropriate location.

**Important behavior:** for plugin files, the processor **replaces the entire file** with `Extension.SettingsJson` (not a merge).

### Step-by-step: Create an Update Settings policy (via Advanced JSON)

{% stepper %}
{% step %}
**Navigate to Endpoint Privilege Manager → Policies**

<figure><img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FtWqxCUqXC0HDPtEwzcdf%2Fimage.png?alt=media&#x26;token=d5be9b46-dbac-4deb-bae2-73d8e14ba3ac" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Click Create Policy Button**

This will spawn the Create Policy modal form.

<figure><img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2Fjt36zB0v6IGHdOFM60o1%2Fimage.png?alt=media&#x26;token=61a352bb-a843-4479-a170-95f0fb1e077b" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Define Policy Attributes**

Choose a aptly discriptive name for your new policy.

Choose **any existing policy type available in the UI** for your new policy(this is just a starting template since Update Settings is set in JSON).

Choose a status for your new policy. We recommend monitor mode when initially setting up a policy.

Add one or more Controls by clicking on the "Add Control" button and then selecting the controls that you would like to see applied to your new policy.

Choose a User Group, a Machine Collection, and an Application Collection.
{% endstep %}

{% step %}
**Configure Policy Targeting**

Configure any **targeting** you want in the UI (collections/users/machines/apps/platforms). Who or What does your policy apply to?
{% endstep %}

{% step %}
**Open the Policy’s Advanced Mode (JSON view)**

To open the Policy's Advanced Mode, click on the "Advanced Mode" link in the bottom left corner of the Policy Form.

<figure><img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FgMOthGcjL9eTd3wU2CjS%2Fimage.png?alt=media&#x26;token=fd7fb321-46e7-4a8e-b077-ae88febd31f0" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Redefine Policy Type in JSON**

Set: `PolicyType` to **`"SettingsUpdate"`**
{% endstep %}

{% step %}
**Define Extension Fields**

Set: `Extension` fields as described in the [Required JSON Fields](#required-json-fields) section of this document
{% endstep %}

{% step %}
**Save the Policy**
{% endstep %}
{% endstepper %}

### Required JSON Fields

Set `PolicyType` and include an `Extension` object with **either** `PluginName` **or** `TargetFile`, plus `SettingsJson`.

#### Option A (recommended): Update a plugin by name

* `Extension.PluginName` = plugin name (targets that plugin’s JSON)
* `Extension.SettingsJson` = **full plugin JSON** as a **string**
* `Extension.Action` = `Update` or `Add` (as used in your implementation)

#### Option B (advanced): Update a file by path

* `Extension.TargetFile` = file path (e.g., `Plugins/KeeperPolicy.json`)
* `Extension.SettingsJson` = **full file contents** as a **string**
* `Extension.Action` = `Update` or `Add`

## Example JSON Snippet

#### Example (TargetFile)

```
"PolicyType": "SettingsUpdate",
"Extension": {
  "TargetFile": "Plugins/KeeperPolicy.json",
  "Action": "Update",
  "SettingsJson": "{ ...full plugin json... }"
}
```

**Important:** `SettingsJson` must contain the **entire** plugin JSON, because the processor replaces the whole file.

### Validate on an endpoint

1. Ensure the endpoint is in scope for targeting.
2. Run/trigger the job that processes configuration policies.
3. Confirm the target plugin JSON file (or target file) was updated.
