---
title: "POST /vault/oauth/apps/{appSlug}/custom"
method: POST
path: "/vault/oauth/apps/{appSlug}/custom"
---

# POST /vault/oauth/apps/{appSlug}/custom

`POST /vault/oauth/apps/{appSlug}/custom`

## Request

- Base URL: `https://api.useanima.sh/v1`
- URL: `https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `appSlug` string, required: App slug to create a custom app for

## Request body

- object: Input for creating a custom OAuth app (BYOA)
  - `clientId` string, required: Your OAuth client ID
  - `clientSecret` string, required: Your OAuth client secret
  - `customScopes` string[]: Override default scopes

## Response `200`

OK

- object: Custom OAuth app details (client secret is never returned)
  - `id` string, required: Custom app identifier
  - `appDefinitionId` string, required: Parent app definition ID
  - `appSlug` string, required: App slug
  - `orgId` string, required: Organization that owns this custom app
  - `clientId` string, required: OAuth client ID (visible)
  - `customScopes` string[], required: Custom scopes
  - `isActive` boolean, required: Whether the custom app is active
  - `createdAt` string, date-time, required: When the custom app was created

---

[API](https://skmtc.dev/useanima/apis/anima-api.md) · [All operations](https://skmtc.dev/useanima/apis/anima-api/llms.txt) · [OpenAPI document](https://skmtc.dev/useanima/apis/anima-api/revisions/aaa148188980?raw)
