---
title: "Add new MIRO app"
method: POST
path: "/apps/"
tags: ["apps"]
---

# Add new MIRO app

`POST /apps/`

Add a new MIRO app (requires write permissions on namespace).

## Response `201`

App successfully added

- unknown

## Other responses

- `400` — You cannot add an app with this ID
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — An app with this id already exists
- `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 `add_app` removed and replaced with `add_app_apps__post`
  - 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` — 3 breaking, 3 warning, 1 info
  - request property `app_id` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`
  - 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 `app_id` request property's maxLength was set to `60`
  - …3 more
- …earlier changes not shown

[Full history](https://skmtc.dev/gams-dev/apis/miro-server-api/changes/apps/post.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)
