Skip to content

Schedule and cancel classes

Use this guide to schedule, update and cancel classes as a manager.

A service spans several venues, teachers and levels and carries no price of its own, so the API cannot infer them. POST /api/v2/management/classes/ requires eight fields: service_id, venue_id, teacher_id, level_id, credit_price, starts_at, duration_in_minutes and max_capacity. Omitting one returns 400 naming the field. bsport resolves the internal record for that combination and creates it when the combination is new.

Get the values from these endpoints.

Field Where to obtain it
service_id /services/
level_id /levels/. It lists your company's levels and the levels shared across companies. A level you cannot use returns 400
teacher_id, venue_id /teachers/, /venues/

PATCH /classes/{id}/ is fully partial: every field is optional and only the fields you send are applied. Capacity cannot drop below the current confirmed booking count. For a class owned by a class group, update the group instead of sending service_id, level_id or is_bookable_by_clients to the individual class. Update linked hybrid classes through their paired management flow, not one side at a time.

POST /classes/{id}/cancel/ cancels a class and refunds its active bookings. should_notify_participants defaults to false.

Detail operations are not limited to the default 30-day list window. A class or appointment scheduled further ahead can be retrieved, updated and canceled by ID without a query parameter.