Skip to main content
Class reads require classes:read. Class management requires classes:write.

List classes

Use startDate, endDate, and locale to filter and translate the response. The endpoint returns class schedule, price, capacity, gym, area, instructors, and status fields.

Get a class

The class must belong to the API key’s organization.

Create a class

Send one class occurrence. Recurrence creation remains in the 1Club dashboard.
Times must include Z or an explicit UTC offset. All referenced gyms, areas, class types, and instructors must belong to the authorized organization. An area must belong to the selected gym.
Write priceBeforeTax, not price. A class reads back with both: price includes your organization’s tax and is what a member is charged, while priceBeforeTax is the figure actually stored. Sending price back is rejected with a 400 naming the right field - if it were accepted, reading a class and posting it straight back would re-apply tax every time (20 becomes 24, then 28.80 at 20% exclusive tax). Read priceBeforeTax, send priceBeforeTax, and a round trip changes nothing.

Update a class

Send only fields that should change:
Changing the area, instructors, or time updates the related schedule reservations. Conflicting reservations return 409 Conflict.

Delete a class

Delete one occurrence:
For a recurring class, add ?scope=all_future to delete this and later occurrences. The default is this_instance. Deletion returns 409 Conflict when affected future classes have active customer bookings or waitlist entries. Cancel or move those records before retrying.