Classes API
Auto-generated from the OpenAPI spec. Run
node docs-site/scripts/fetch-openapi.jsto regenerate.
POST /api/v1/classes/recurring
Schedule Recurring Classes
Request body
| Field | Required | Type | Description |
|---|---|---|---|
template_id | Yes | integer | |
instructor_id | No | integer | |
location_id | No | integer | |
starts_at | Yes | string | |
ends_at | Yes | string | |
capacity | Yes | integer | |
notes | No | string | |
days_of_week | Yes | array | |
recurrence_end_date | No | string | |
max_occurrences | No | integer | |
is_online | No | boolean |
Responses
- 201 — Successful Response
- 422 — Validation Error
GET /api/v1/classes
List Classes
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
start_date | query | No | ||
end_date | query | No | ||
instructor_id | query | No | ||
template_id | query | No | ||
location_id | query | No | ||
status | query | No |
Responses
- 200 — Successful Response
- 422 — Validation Error
POST /api/v1/classes
Schedule Single Class
Request body
| Field | Required | Type | Description |
|---|---|---|---|
template_id | Yes | integer | |
instructor_id | No | integer | |
location_id | No | integer | |
starts_at | Yes | string | |
ends_at | Yes | string | |
capacity | Yes | integer | |
notes | No | string | |
is_online | No | boolean |
Responses
- 201 — Successful Response
- 422 — Validation Error
GET /api/v1/classes/{class_id}
Get Class
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
PUT /api/v1/classes/{class_id}
Update Class
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Request body
| Field | Required | Type | Description |
|---|---|---|---|
instructor_id | No | integer | |
location_id | No | integer | |
starts_at | No | string | |
ends_at | No | string | |
capacity | No | integer | |
notes | No | string | |
is_online | No | boolean |
Responses
- 200 — Successful Response
- 422 — Validation Error
DELETE /api/v1/classes/{class_id}
Cancel Class
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
POST /api/v1/classes/{class_id}/zoom-meeting/retry
Retry Zoom Meeting
Manually retry Zoom meeting creation for an online class whose previous attempt failed (zoom_meeting_status == 'failed').
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
GET /api/v1/classes/{class_id}/roster
Get Roster
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
GET /api/v1/classes/{class_id}/waitlist
Get Waitlist
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
POST /api/v1/classes/{class_id}/complete
Complete Class
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 200 — Successful Response
- 422 — Validation Error
DELETE /api/v1/classes/{class_id}/remove
Remove Class
Permanently delete a scheduled class. Only allowed when there are no confirmed bookings.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
class_id | path | Yes | integer |
Responses
- 204 — Successful Response
- 422 — Validation Error