API reference · Schedule
Schedule
/roomsList rooms
Lists studio rooms, optionally filtered to one permitted location.
- Required scope
schedule:read- Success
200- Response
Page<RoomObject>
Parameters
location_idqueryuuidReturn rooms assigned to this location.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/rooms" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"object": "list",
"data": [{
"id": "cf247e8b-7288-4aa7-ab47-20bd03ad6d45",
"object": "room",
"location_id": "159e78c2-d0b4-44fc-995f-e0d587b42f55",
"name": "Reformer Room",
"capacity": 12,
"active": true
}],
"has_more": false,
"next_cursor": null
}/rooms/{room_id}Retrieve a room
Returns one room and its location, capacity, type, and active state.
- Required scope
schedule:read- Success
200- Response
RoomObject
Parameters
room_idpathrequireduuidThe stable ClassFlow identifier for the room.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/rooms/YOUR_ROOM_ID" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"id": "cf247e8b-7288-4aa7-ab47-20bd03ad6d45",
"object": "room",
"location_id": "159e78c2-d0b4-44fc-995f-e0d587b42f55",
"name": "Reformer Room",
"capacity": 12,
"active": true
}/class-typesList class types
Lists the studio’s reusable class definitions.
- Required scope
schedule:read- Success
200- Response
Page<ClassTypeObject>
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/class-types" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"object": "list",
"data": [{
"id": "c88dc065-7f0c-452e-83fe-6a8160a03f6d",
"object": "class_type",
"name": "Full Body Reformer",
"beginner_safe": true,
"recovery": false
}],
"has_more": false,
"next_cursor": null
}/class-types/{class_type_id}Retrieve a class type
Returns one studio-owned class type.
- Required scope
schedule:read- Success
200- Response
ClassTypeObject
Parameters
class_type_idpathrequireduuidThe stable ClassFlow identifier for the class type.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/class-types/YOUR_CLASS_TYPE_ID" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"id": "c88dc065-7f0c-452e-83fe-6a8160a03f6d",
"object": "class_type",
"name": "Full Body Reformer",
"beginner_safe": true,
"recovery": false
}/instructorsList instructors
Lists active instructors available to the studio, without private staff data.
- Required scope
schedule:read- Success
200- Response
Page<InstructorObject>
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/instructors" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"object": "list",
"data": [{
"id": "5d88b0ee-ad19-4e2d-8399-7c71c4d7d4ee",
"object": "instructor",
"name": "Alex Morgan",
"tagline": "Strength with intention",
"tags": ["reformer", "strength"]
}],
"has_more": false,
"next_cursor": null
}/instructors/{instructor_id}Retrieve an instructor
Returns the public teaching profile for one instructor.
- Required scope
schedule:read- Success
200- Response
InstructorObject
Parameters
instructor_idpathrequireduuidThe stable ClassFlow identifier for the instructor.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/instructors/YOUR_INSTRUCTOR_ID" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"id": "5d88b0ee-ad19-4e2d-8399-7c71c4d7d4ee",
"object": "instructor",
"name": "Alex Morgan",
"tagline": "Strength with intention",
"tags": ["reformer", "strength"]
}/classesList classes
Lists class sessions and computed availability. Filter by time window, location, or status.
- Required scope
schedule:read- Success
200- Response
Page<ClassObject>
Parameters
starts_afterquerydate-timeReturn sessions starting at or after this timestamp.
starts_beforequerydate-timeReturn sessions starting before this timestamp.
location_idqueryuuidReturn sessions for this permitted location.
statusquerystringFilter by class status.
cursorqueryuuidOpaque cursor returned by the previous page. Pass it back unchanged.
limitqueryintegerNumber of records to return. Defaults to 50; maximum 200.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/classes" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"object": "list",
"data": [{
"id": "70bf3848-d688-40cf-9692-6283c6652bb3",
"object": "class",
"title": "Full Body Reformer",
"location_id": "159e78c2-d0b4-44fc-995f-e0d587b42f55",
"start_time": "2026-08-05T16:00:00Z",
"end_time": "2026-08-05T16:50:00Z",
"capacity": 12,
"booked_count": 9,
"available_count": 3,
"allow_waitlist": true,
"status": "scheduled",
"visible": true
}],
"has_more": false,
"next_cursor": null
}/classes/{class_id}Retrieve a class
Returns one session with capacity, availability, room, instructor, and visibility state.
- Required scope
schedule:read- Success
200- Response
ClassObject
Parameters
class_idpathrequireduuidThe stable ClassFlow identifier for the class.
Example request
curl -X GET "https://api.getclassflow.com/partner/v1/classes/YOUR_CLASS_ID" \
-H "X-ClassFlow-Key: $CLASSFLOW_API_KEY"Example response
{
"id": "70bf3848-d688-40cf-9692-6283c6652bb3",
"object": "class",
"title": "Full Body Reformer",
"location_id": "159e78c2-d0b4-44fc-995f-e0d587b42f55",
"start_time": "2026-08-05T16:00:00Z",
"end_time": "2026-08-05T16:50:00Z",
"capacity": 12,
"booked_count": 9,
"available_count": 3,
"allow_waitlist": true,
"status": "scheduled",
"visible": true
}Object schema
ClassObject
iduuidStable class session identifier.
titlestringMember-facing class title.
start_timedate-timeISO 8601 timestamp with timezone.
capacityintegerMaximum confirmed bookings.
booked_countintegerCurrent confirmed booking count.
available_countintegerCurrent capacity remaining.
statusstringOperational class state.
visiblebooleanWhether the session is client-visible.