---
title: "Changes to Update theme settings"
method: PATCH
path: "/api/v1/user/settings/theme"
---

# Changes to Update theme settings

`PATCH /api/v1/user/settings/theme`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 11 of 50 revisions.

- **2026-04-26** `09f18af670c4`: 1 breaking, 3 info
- **2026-04-06** `6d5e3b7979d1`: 2 warning
- **2026-04-02** `2beb810c5221`: 24 warning, 13 info
- **2026-03-26** `e34b00e45318`: 8 breaking, 4 warning, 25 info
- **2026-03-09** `344ac18cbced`: 36 warning, 18 info
- **2026-02-27** `93bf2b2f361d`: 32 breaking
- **2026-02-20** `7da452081665`: 4 info
- **2026-02-20** `7da452081665`: 4 info
- **2026-02-19** `b8c4e3fcf23f`: 4 warning
- **2026-02-07** `7186c3fb10a5`: 4 info
- **2026-01-28** `aa5bc43ffd43`: 48 warning

## Changes

- **2026-04-26** `09f18af670c4`: 1 breaking, 3 info
  - the request property `theme` became required
  - api tag `User` added
  - api tag `api/v1/user` removed
  - api tag `settings` removed
- **2026-04-06** `6d5e3b7979d1`: 2 warning
  - removed the optional property `data/user` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user` from the response with the `200` status (media type: application/xml)
- **2026-04-02** `2beb810c5221`: 24 warning, 13 info
  - removed the optional property `detail` from the response with the `400` status (media type: application/json)
  - removed the optional property `detail` from the response with the `400` status (media type: application/xml)
  - removed the optional property `detail` from the response with the `500` status (media type: application/json)
  - removed the optional property `detail` from the response with the `500` status (media type: application/xml)
  - removed the optional property `errors` from the response with the `400` status (media type: application/json)
  - removed the optional property `errors` from the response with the `400` status (media type: application/xml)
  - removed the optional property `errors` from the response with the `500` status (media type: application/json)
  - removed the optional property `errors` from the response with the `500` status (media type: application/xml)
  - removed the optional property `instance` from the response with the `400` status (media type: application/json)
  - removed the optional property `instance` from the response with the `400` status (media type: application/xml)
  - removed the optional property `instance` from the response with the `500` status (media type: application/json)
  - removed the optional property `instance` from the response with the `500` status (media type: application/xml)
  - removed the optional property `status` from the response with the `400` status (media type: application/json)
  - removed the optional property `status` from the response with the `400` status (media type: application/xml)
  - removed the optional property `status` from the response with the `500` status (media type: application/json)
  - removed the optional property `status` from the response with the `500` status (media type: application/xml)
  - removed the optional property `title` from the response with the `400` status (media type: application/json)
  - removed the optional property `title` from the response with the `400` status (media type: application/xml)
  - removed the optional property `title` from the response with the `500` status (media type: application/json)
  - removed the optional property `title` from the response with the `500` status (media type: application/xml)
  - removed the optional property `type` from the response with the `400` status (media type: application/json)
  - removed the optional property `type` from the response with the `400` status (media type: application/xml)
  - removed the optional property `type` from the response with the `500` status (media type: application/json)
  - removed the optional property `type` from the response with the `500` status (media type: application/xml)
  - api operation id `patchTheme` removed and replaced with `updateThemeSettings`
  - added the optional property `details` to the response with the `400` status (media type: application/json)
  - added the optional property `details` to the response with the `400` status (media type: application/xml)
  - added the optional property `details` to the response with the `500` status (media type: application/json)
  - added the optional property `details` to the response with the `500` status (media type: application/xml)
  - added the required property `code` to the response with the `400` status (media type: application/json)
  - added the required property `code` to the response with the `400` status (media type: application/xml)
  - added the required property `code` to the response with the `500` status (media type: application/json)
  - added the required property `code` to the response with the `500` status (media type: application/xml)
  - added the required property `message` to the response with the `400` status (media type: application/json)
  - added the required property `message` to the response with the `400` status (media type: application/xml)
  - added the required property `message` to the response with the `500` status (media type: application/json)
  - added the required property `message` to the response with the `500` status (media type: application/xml)
- **2026-03-26** `e34b00e45318`: 8 breaking, 4 warning, 25 info
  - removed the required property `code` from the response with the `400` status (media type: application/json)
  - removed the required property `code` from the response with the `400` status (media type: application/xml)
  - removed the required property `code` from the response with the `500` status (media type: application/json)
  - removed the required property `code` from the response with the `500` status (media type: application/xml)
  - removed the required property `message` from the response with the `400` status (media type: application/json)
  - removed the required property `message` from the response with the `400` status (media type: application/xml)
  - removed the required property `message` from the response with the `500` status (media type: application/json)
  - removed the required property `message` from the response with the `500` status (media type: application/xml)
  - removed the optional property `details` from the response with the `400` status (media type: application/json)
  - removed the optional property `details` from the response with the `400` status (media type: application/xml)
  - removed the optional property `details` from the response with the `500` status (media type: application/json)
  - removed the optional property `details` from the response with the `500` status (media type: application/xml)
  - api operation id `updateThemeSettings` removed and replaced with `patchTheme`
  - added the optional property `detail` to the response with the `400` status (media type: application/json)
  - added the optional property `detail` to the response with the `400` status (media type: application/xml)
  - added the optional property `detail` to the response with the `500` status (media type: application/json)
  - added the optional property `detail` to the response with the `500` status (media type: application/xml)
  - added the optional property `errors` to the response with the `400` status (media type: application/json)
  - added the optional property `errors` to the response with the `400` status (media type: application/xml)
  - added the optional property `errors` to the response with the `500` status (media type: application/json)
  - added the optional property `errors` to the response with the `500` status (media type: application/xml)
  - added the optional property `instance` to the response with the `400` status (media type: application/json)
  - added the optional property `instance` to the response with the `400` status (media type: application/xml)
  - added the optional property `instance` to the response with the `500` status (media type: application/json)
  - added the optional property `instance` to the response with the `500` status (media type: application/xml)
  - added the optional property `status` to the response with the `400` status (media type: application/json)
  - added the optional property `status` to the response with the `400` status (media type: application/xml)
  - added the optional property `status` to the response with the `500` status (media type: application/json)
  - added the optional property `status` to the response with the `500` status (media type: application/xml)
  - added the optional property `title` to the response with the `400` status (media type: application/json)
  - added the optional property `title` to the response with the `400` status (media type: application/xml)
  - added the optional property `title` to the response with the `500` status (media type: application/json)
  - added the optional property `title` to the response with the `500` status (media type: application/xml)
  - added the optional property `type` to the response with the `400` status (media type: application/json)
  - added the optional property `type` to the response with the `400` status (media type: application/xml)
  - added the optional property `type` to the response with the `500` status (media type: application/json)
  - added the optional property `type` to the response with the `500` status (media type: application/xml)
- **2026-03-09** `344ac18cbced`: 36 warning, 18 info
  - removed the optional property `data/user/organization_users/items/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/updated_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/updated_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/supertokens_user_id` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/supertokens_user_id` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/supertokens_user_id` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/supertokens_user_id` from the response with the `200` status (media type: application/xml)
  - removed the optional property `detail` from the response with the `400` status (media type: application/json)
  - removed the optional property `detail` from the response with the `400` status (media type: application/xml)
  - removed the optional property `detail` from the response with the `500` status (media type: application/json)
  - removed the optional property `detail` from the response with the `500` status (media type: application/xml)
  - removed the optional property `errors` from the response with the `400` status (media type: application/json)
  - removed the optional property `errors` from the response with the `400` status (media type: application/xml)
  - removed the optional property `errors` from the response with the `500` status (media type: application/json)
  - removed the optional property `errors` from the response with the `500` status (media type: application/xml)
  - removed the optional property `instance` from the response with the `400` status (media type: application/json)
  - removed the optional property `instance` from the response with the `400` status (media type: application/xml)
  - removed the optional property `instance` from the response with the `500` status (media type: application/json)
  - removed the optional property `instance` from the response with the `500` status (media type: application/xml)
  - removed the optional property `status` from the response with the `400` status (media type: application/json)
  - removed the optional property `status` from the response with the `400` status (media type: application/xml)
  - removed the optional property `status` from the response with the `500` status (media type: application/json)
  - removed the optional property `status` from the response with the `500` status (media type: application/xml)
  - removed the optional property `title` from the response with the `400` status (media type: application/json)
  - removed the optional property `title` from the response with the `400` status (media type: application/xml)
  - removed the optional property `title` from the response with the `500` status (media type: application/json)
  - removed the optional property `title` from the response with the `500` status (media type: application/xml)
  - removed the optional property `type` from the response with the `400` status (media type: application/json)
  - removed the optional property `type` from the response with the `400` status (media type: application/xml)
  - removed the optional property `type` from the response with the `500` status (media type: application/json)
  - removed the optional property `type` from the response with the `500` status (media type: application/xml)
  - api operation id `PATCH_/api/v1/user/settings/theme` removed and replaced with `updateThemeSettings`
  - api tag `settings` added
  - added the optional property `data/user/organization_users/items/role` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/organization_users/items/role` to the response with the `200` status (media type: application/xml)
  - …14 more
- **2026-02-27** `93bf2b2f361d`: 32 breaking
  - the response property `data/user/organization_users` became nullable for the status `200` (media type: application/json)
  - the response property `data/user/organization_users` became nullable for the status `200` (media type: application/xml)
  - the response property `data/user/organization_users/items/user/organization_users` became nullable for the status `200` (media type: application/json)
  - the response property `data/user/organization_users/items/user/organization_users` became nullable for the status `200` (media type: application/xml)
  - the response property `data/user/organization_users/items/user/organizations` became nullable for the status `200` (media type: application/json)
  - the response property `data/user/organization_users/items/user/organizations` became nullable for the status `200` (media type: application/xml)
  - the response property `data/user/organizations` became nullable for the status `200` (media type: application/json)
  - the response property `data/user/organizations` became nullable for the status `200` (media type: application/xml)
  - the response property `errors/items/` became nullable for the status `400` (media type: application/json)
  - the response property `errors/items/` became nullable for the status `400` (media type: application/xml)
  - the response property `errors/items/` became nullable for the status `500` (media type: application/json)
  - the response property `errors/items/` became nullable for the status `500` (media type: application/xml)
  - the response property `errors/items/more` became nullable for the status `400` (media type: application/json)
  - the response property `errors/items/more` became nullable for the status `400` (media type: application/xml)
  - the response property `errors/items/more` became nullable for the status `500` (media type: application/json)
  - the response property `errors/items/more` became nullable for the status `500` (media type: application/xml)
  - the `data/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/organization/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/organization_id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/organization_users/items/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/organization_users/items/organization/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/organization_users/items/organization_id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/organization_users/items/user_id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user/organizations/items/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organization_users/items/user_id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user/organizations/items/id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `data/user_id` response's property type changed from no type to `string`, and format from no format to `uuid` for status `200` (media type: application/json)
  - the `errors/items/more/additionalProperties/` response's property type changed from no type to `string` for status `400` (media type: application/json)
  - the `errors/items/more/additionalProperties/` response's property type changed from no type to `string` for status `500` (media type: application/json)
- **2026-02-20** `7da452081665`: 4 info
  - added the optional property `data/user/organization_users/items/user/provision_status` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/organization_users/items/user/provision_status` to the response with the `200` status (media type: application/xml)
  - added the optional property `data/user/provision_status` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/provision_status` to the response with the `200` status (media type: application/xml)
- **2026-02-20** `7da452081665`: 4 info
  - added the optional property `data/user/organization_users/items/user/provision_status` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/organization_users/items/user/provision_status` to the response with the `200` status (media type: application/xml)
  - added the optional property `data/user/provision_status` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/provision_status` to the response with the `200` status (media type: application/xml)
- **2026-02-19** `b8c4e3fcf23f`: 4 warning
  - removed the optional property `data/user/organization_users/items/user/provision_status` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/provision_status` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/provision_status` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/provision_status` from the response with the `200` status (media type: application/xml)
- **2026-02-07** `7186c3fb10a5`: 4 info
  - added the optional property `data/user/is_onboarded` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/is_onboarded` to the response with the `200` status (media type: application/xml)
  - added the optional property `data/user/organization_users/items/user/is_onboarded` to the response with the `200` status (media type: application/json)
  - added the optional property `data/user/organization_users/items/user/is_onboarded` to the response with the `200` status (media type: application/xml)
- **2026-01-28** `aa5bc43ffd43`: 48 warning
  - removed the optional property `data/user/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/organization/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/organization/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/organization/description` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/organization/description` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/organization/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/organization/updated_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/organization/users` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/organization/users` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/description` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/description` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/updated_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/users` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organization_users/items/organization/users` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/description` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/description` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/updated_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/users` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/organizations/items/users` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/two_factor_enabled` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/two_factor_enabled` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/two_factor_secret` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/two_factor_secret` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organization_users/items/user/type` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organization_users/items/user/type` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organizations/items/deleted_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organizations/items/deleted_at` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organizations/items/description` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organizations/items/description` from the response with the `200` status (media type: application/xml)
  - removed the optional property `data/user/organizations/items/updated_at` from the response with the `200` status (media type: application/json)
  - removed the optional property `data/user/organizations/items/updated_at` from the response with the `200` status (media type: application/xml)
  - …8 more
  - …this revision’s changelog is incomplete

---

[Operation](https://skmtc.dev/nixopus/apis/nixopus-api/docs/api/v1/user/settings/theme/patch.md) - [API](https://skmtc.dev/nixopus/apis/nixopus-api.md) - [Page](https://skmtc.dev/nixopus/apis/nixopus-api/changes/api/v1/user/settings/theme/patch)
