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

# Create a new app

`POST /api/v1/apps`

Required scope - write_app. Assigning the root scope additionally requires the caller to hold the root scope.

## Request body

- PostAppReq
  - `name` string, required
  - `type` 'spa' | 's2s', required
  - `scopes` string[], required
  - `redirectUris` string[], required

## Response `201`

- object
  - `app` CreatedAppDetail
    - `id` number, required
    - `clientId` string, required
    - `name` string, required
    - `isActive` boolean, required
    - `type` 'spa' | 's2s', required
    - `redirectUris` string[], required
    - `useSystemMfaConfig` boolean, required
    - `requireEmailMfa` boolean, required
    - `requireOtpMfa` boolean, required
    - `requireSmsMfa` boolean, required
    - `allowEmailMfaAsBackup` boolean, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `deletedAt` string, nullable, required
    - `scopes` string[], required
    - `secret` string, required

---

[API](https://skmtc.net/valuemelody/apis/melody-auth-s2s-api.md) · [All operations](https://skmtc.net/valuemelody/apis/melody-auth-s2s-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/valuemelody/melody-auth-s2s-api/revisions/2e1471620fd7/schema)
