---
title: "Create a new app."
method: POST
path: "/api/apps"
tags: ["Apps"]
---

# Create a new app.

`POST /api/apps`

You can only create an app when you are authenticated as a user (OpenID implicit flow).
You will be assigned as owner of the new app automatically.

## Request body

- CreateAppDto
  - `name` string, required — The name of the app.
  - `template` string, nullable — Initialize the app with the inbuilt template.

## Response `201`

App created.

- AppDto
  - `_links` object, required — The links.
  - `id` string, required — The ID of the app.
  - `name` string, required — The name of the app.
  - `label` string, nullable — The optional label of the app.
  - `description` string, nullable — The optional description of the app.
  - `version` integer, required — The version of the app.
  - `created` string, date-time, required — The timestamp when the app has been created.
  - `lastModified` string, date-time, required — The timestamp when the app has been modified last.
  - `teamId` string, nullable — The ID of the team.
  - `permissions` string[], required — The permission level of the user.
  - `canAccessApi` boolean, required — Indicates if the user can access the api.
  - `canAccessContent` boolean, required — Indicates if the user can access at least one content.
  - `roleName` string, nullable — The role name of the user.
  - `roleProperties` object, required — The properties from the role.

## Other responses

- `400` — App request not valid.
- `409` — App name is already in use.
- `500` — Operation failed.

---

[API](https://skmtc.net/squidex/apis/squidex-api.md) · [All operations](https://skmtc.net/squidex/apis/squidex-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/squidex/squidex-api/versions/b4a9b62f113a/schema)
