---
title: "Update instance settings"
method: PATCH
path: "/admin/settings"
tags: ["Admin"]
---

# Update instance settings

`PATCH /admin/settings`

## Request

- Base URL: `https://cloud.kaneo.app/api`
- URL: `https://cloud.kaneo.app/api/admin/settings`
- Auth: HTTP bearer

Change one or more instance-wide settings. Other API instances apply a change within a few seconds. Requires the `instance:settings` instance permission; API keys are rejected.

## Request body

- object
  - `instanceName` string, nullable: Shown in page titles and email headers and subjects. Empty or null restores Kaneo.
  - `registrationEnabled` boolean: When false, only people with a valid invitation can create an account. Locked when `DISABLE_REGISTRATION=true`.
  - `passwordRegistrationEnabled` boolean: When false, new accounts must use a social or OIDC provider. Locked when `DISABLE_PASSWORD_REGISTRATION=true`.
  - `requireEmailVerification` boolean: New password sign-ups must confirm their email before they can sign in. Requires email delivery.
  - `defaultRole` string: Instance role for new users: `user` or a custom role name, never `admin`. You can only choose a role whose permissions you have.
  - `workspaceCreationRestricted` boolean: Only administrators can create workspaces. Locked when `DISABLE_WORKSPACE_CREATION=true`.
  - `disabledIntegrations` string[]: Integration provider types to turn off. Their connections stop syncing and delivering, and projects can't connect them.

## Response `200`

The saved settings

- InstanceSettings
  - `instanceName` string, nullable, required: The saved name, or null for the default Kaneo.
  - `instanceUrl` string, nullable, required: The web app URL from `KANEO_CLIENT_URL`. Read-only.
  - `registrationEnabled` boolean, required
  - `passwordRegistrationEnabled` boolean, required
  - `requireEmailVerification` boolean, required
  - `defaultRole` string, required
  - `workspaceCreationRestricted` boolean, required
  - `disabledIntegrations` string[], required
  - `lockedByEnv` string[], required: Settings an environment variable forces. Their values here are the effective ones.
  - `emailDeliveryConfigured` boolean, required
  - `roles` string[], required: Custom instance roles that can be the default role.
  - `integrationProviders` object[], required
    - `type` string, required
    - `name` string, required

## Other responses

- `400`: Invalid value, `admin` as the default role, an unknown role or integration, or email verification without SMTP
- `401`: Missing or invalid credentials
- `403`: The caller lacks the instance permission, used an API key, or chose a default role with permissions they lack
- `409`: An environment variable locks the setting (code SETTING_LOCKED_BY_ENV)
- `429`: The API key exceeded its rate limit or usage quota. Wait the number of seconds in Retry-After before retrying. The X-RateLimit headers are sent only when the rate limit was hit.

## Changes

- **2026-10-27** `0f9a0a057a49`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/admin/settings/patch.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) - [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usekaneo/apis/kaneo-api/revisions/741a49dfb347?raw)
