---
title: "Set app user configuration"
method: PUT
path: "/api/apps/{id}/user-config"
tags: ["Apps"]
---

# Set app user configuration

`PUT /api/apps/{id}/user-config`

Stores validated per-user values outside the versioned app definition. The reserved `$theme` key (a preset-theme slug) is accepted on every app, even one that declares no userConfig schema.

## Path parameters

- `id` string, required

## Request body

- object
  - `values` object, required

## Response `200`

Stored user configuration

- object
  - `values` object, required
  - `schema` object, required

## Other responses

- `400` — Invalid user configuration
- `403` — Permission denied
- `404` — App not found
- `409` — App definition needs repair
- `413` — Request exceeds 64 KB or serialized values exceed 16 KB

## Changes

- **2026-08-07** `06cac6a7c5bc` — 6 info
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `403`
  - added the media type `application/json` for the response with the status `404`
  - …2 more
- **2026-08-05** `2ecf536b66f2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/apps/:id/user-config/put.md)

---

[API](https://skmtc.dev/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/revisions/e0acd2155cad/schema)
