Update a saved design kit
update_themeUpdate an existing design kit in place when the brand changes, preserving its slug and publication state so existing links keep working. Deep merges partial kit edits and applies overrides.
Instructions
Edit a design kit you already saved, in place. This OVERWRITES the stored kit without asking: the slug, id and publication state all stay the same, so everything already pointing at that kit follows the edit, including brand variations that reference it, any client share link that serves it, and a repo that installed its registry entry. The overwrite itself has no undo, but it is recorded: every save mints a version, so the state you replaced stays readable through list_kit_versions and get_kit_version, and diff_kit_versions shows exactly what your edit moved. Reach for remix_theme instead when you want the original left alone, which is usually the right call while you are still exploring directions; use this one when the kit is the brand and the brand has genuinely changed. It only edits kits saved under your key. A catalog kit, another user's kit, or an unknown slug all return 404 alike. kit is deep merged over the stored payload, so you state only what moves and everything else survives, and overrides applies on top of that merge. The one thing you cannot change is the slug itself: it is the kit's public handle and moving it would break every link already using it, so a payload carrying a different slug is rejected with 400 rather than quietly ignored. Pass expectedUpdatedAt from the last read to get a 409 instead of silently overwriting a change someone else made in between; the 409 body carries the current marker so you can re-read, reapply and retry. Requires the kits:write scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kit | No | Partial kit JSON, deep merged over the stored kit. Unmentioned fields are kept. A `slug` different from the kit's own is rejected. | |
| name | No | New display name. Omit to leave the name unchanged. | |
| slug | Yes | Permanent id or slug of a kit saved under your own key. Catalog and other users' kits are not editable. | |
| overrides | No | Token, color, font and facet writes applied on top of the merged kit. | |
| expectedUpdatedAt | No | The updatedAt you last read for this kit. Pass it to reject the write with 409 if the kit changed meanwhile. |