---
title: "Update an existing MIRO app"
method: PUT
path: "/apps/{app_id}"
tags: ["apps"]
---

# Update an existing MIRO app

`PUT /apps/{app_id}`

Update a MIRO app (requires write permissions on namespace).

The app as well as its metadata will be overwritten. This means that you should specify all parameters.
For example, if you do not specify `access_groups`, no access groups will be assigned to the app.
This will result in it being visible to everyone.

## Path parameters

- `app_id` string, required — The ID of the app to update.

## Response `200`

App successfully updated

- unknown

## Other responses

- `400` — You cannot update an app with this ID
- `401` — Unauthorized
- `403` — Forbidden
- `404` — An app with this ID does not exist
- `422` — Validation Error
- `500` — Internal Server Error

## Changes

- **2026-06-30** `358e5609409b` — 1 breaking, 2 info
  - the `app_data` request property contentMediaType changed from `` to `application/octet-stream`
  - api operation id `update_app` removed and replaced with `update_app_apps__app_id__put`
  - the `app_data` request property type/format was generalized from `string`/`binary` to `string`/``
- **2026-02-24** `2ac7baf8418f` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2025-06-14** `87a967423b01` — 2 breaking, 2 warning, 1 info
  - request property `description` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - request property `display_name` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - the `description` request property's maxLength was set to `200`
  - the `display_name` request property's maxLength was set to `40`
  - …1 more
- **2023-08-15** `6befde16ec1c` — 3 info
  - the `access_groups` request property default value `` was removed
  - request property `description` list-of-types was widened by adding types `null` to media type `multipart/form-data`
  - request property `display_name` list-of-types was widened by adding types `null` to media type `multipart/form-data`
- …earlier changes not shown

[Full history](https://skmtc.dev/gams-dev/apis/miro-server-api/changes/apps/:app_id/put.md)

---

[API](https://skmtc.dev/gams-dev/apis/miro-server-api.md) · [All operations](https://skmtc.dev/gams-dev/apis/miro-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gams-dev/miro-server-api/revisions/358e5609409b/schema)
