---
title: "Create a class (mentor or studio)"
method: POST
path: "/api/classes"
tags: ["Classes"]
---

# Create a class (mentor or studio)

`POST /api/classes`

## Request

- Base URL: `https://movementors.com`
- URL: `https://movementors.com/api/classes`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `authjs.session-token`

Creator is derived from session.user.type. Optional coOwner attach for cross-listing.

## Request body

- object
  - `title` string, required
  - `description` string, required
  - `classTypeIds` string[], required
  - `location` unknown
  - `priceCents` integer, required
  - `currency` string
  - `capacity` integer, required
  - `durationMinutes` integer, required
  - `coverImageUrl` string, uri, required
  - `languages` string[], required
  - `coOwner` object, nullable
    - `type` 'TEACHER' | 'STUDIO' | 'CUSTOM_MENTOR', required

## Response `201`

Class created

- object
  - `class` unknown
  - `currencyWarning` object, nullable, required
    - `stripeAccountCurrency` string, required
    - `classCurrency` string, required

## Other responses

- `400`: Validation error
- `401`: Not authenticated

---

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