---
title: "Change some of one engine's settings and leave the rest as they are; an empty value puts a key back to its default. `add` and `remove` append to and drop from a list-valued key (redirect_urls, authorized_addresses) without sending the whole list; the answer carries the engine's settings as they will be"
method: PATCH
path: "/instances/{instance_id}/engines/{engine}/settings"
tags: ["instances"]
---

# Change some of one engine's settings and leave the rest as they are; an empty value puts a key back to its default. \`add\` and \`remove\` append to and drop from a list-valued key (redirect_urls, authorized_addresses) without sending the whole list; the answer carries the engine's settings as they will be

`PATCH /instances/{instance_id}/engines/{engine}/settings`

## Request

- Base URL: `https://app.lathe.live/api/v1`
- URL: `https://app.lathe.live/api/v1/instances/{instance_id}/engines/{engine}/settings`
- Auth: none declared

## Path parameters

- `instance_id` string, required
- `engine` string, required

## Request body

- EngineSettingsPatchIn
  - `settings` object: Keys from the engine's settings schema; every key you leave out stays as it is.
  - `add` object: Entries to append to a list-valued key (GET the settings for `lists`); an entry already there is not added twice.
  - `remove` object: Entries to drop from a list-valued key. Applied before `add`, and an entry that is not there is not an error: the answer says what the key became.
  - `confirm` string: The exact change string returned by a refused unconfirmed call. Binds the instance, action, resource and submitted values.

## Response `202`

Successful Response

- Accepted
  - `status` 'queued' | 'already_queued' | 'removed'
  - `job_id` string, nullable, required
  - `instance_id` string, required
  - `message` string, required
  - `job_url` string, nullable
  - `checkout_url` string, nullable: A free instance's upgrade: open in a browser and pay the plan's first month; the upgrade follows the payment.
  - `verified` boolean, nullable: Registry credentials only: whether the registry took them. Null when there was no image of yours there to try them on.
  - `warning` string, nullable: Registry credentials only: why the registry refused them, when it did. They are saved either way.
  - `cidrs` string[], nullable: The allowlist as normalised (allowlist only).
  - `settings` object, nullable: Engine settings only: the whole engine as it will be once the job has run, secrets masked. A read before the job finishes still answers the previous values, so an `add` reads its result here.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/lathe/apis/lathe-customer-api.md) · [All operations](https://skmtc.dev/lathe/apis/lathe-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lathe/apis/lathe-customer-api/revisions/68cfd9bb71c1?raw)
