Create a class
Creates one class occurrence. Times must be ISO 8601 instants with an explicit offset. Supports the Idempotency-Key header.
Authorizations
Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.
Headers
Retry-safe key; a repeat of the same request replays the first response
255Body
100ISO 8601 instant with an explicit offset.
ISO 8601 instant with an explicit offset.
205000The price to store, excluding tax - the same field reads return. The tax-inclusive price a class reads back with is computed and cannot be written: sending it is a 400, because posting it back would re-apply tax on every round trip.
x >= 0x >= 1Private, Member_only, Public 60^#[0-9a-fA-F]{6}$Response
Class created
One class occurrence. A weekly class materializes a row per session, linked by recurrenceId and occurrenceIndex, so id is what a booking's classId points at - and what distinguishes two groups running in the same hour. Read the roster with GET /v1/platform/classes/{id}/bookings.
Room or court the class occupies, when one is assigned.
A cancelled occurrence keeps its bookings and roster.
active, cancelled Public, Member_only, Private Price including the organization's default tax - what a member is charged.
The price as stored on the class, before tax.
Seats; null when uncapped.
Largest party one booking may bring, from the class type.
Seats taken: attendee bookings plus standalone walk-in check-ins.
Legacy alias of bookedCount.
maxCapacity - bookedCount, floored at 0; null when capacity is unlimited.
Entries waiting (pending or notified).
past, upcoming available, full The series this occurrence belongs to; null for a one-off class.
Position within the series, as materialized.
The series rule, when this occurrence belongs to one.
Who teaches the occurrence. The instructor's own weekly availability is not included; read it from GET /v1/platform/instructors.
Import provenance - set when the occurrence came from an external system rather than being created in 1club.
The source system's id for this occurrence, for reconciliation against it.
Every locale's copy, keyed by language code (e.g. 'es', 'fr'). Returned alongside the locale-resolved name/description, so an integration syncing a multilingual timetable can read all of them in one call.