---
title: "update instance config (bulk upsert, no deletes). Empty or missing global_settings/worker_configs are skipped."
method: PUT
path: "/settings/instance_config"
tags: ["setting"]
---

# update instance config (bulk upsert, no deletes). Empty or missing global_settings/worker_configs are skipped.

`PUT /settings/instance_config`

## Request body

- InstanceConfig — Unified instance configuration combining global settings and worker group configs
  - `global_settings` object — Global settings keyed by setting name. Known fields include base_url, license_key, retention_period_secs, smtp_settings, otel, etc. Unknown fields are preserved as-is.
  - `worker_configs` object — Worker group configurations keyed by group name (e.g. "default", "gpu"). Each value contains worker_tags, init_bash, autoscaling, etc.

## Response `200`

instance config updated

---

[API](https://skmtc.net/windmill/apis/windmill-api.md) · [All operations](https://skmtc.net/windmill/apis/windmill-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/windmill/windmill-api/revisions/8a5fd82f8851/schema)
