Skip to main content
ClassFlowDevelopersPartner API v1
API statusDashboard

API reference · Schedule

Schedule

Read rooms, class types, instructors, class sessions, and real-time availability.
Endpoints8
Primary objectClassObject
Tenant boundaryCredential studio
GET/rooms

List rooms

Lists studio rooms, optionally filtered to one permitted location.

Required scope
schedule:read
Success
200
Response
Page<RoomObject>

Parameters

location_idquery
uuid

Return 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

200 · application/json
{
  "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
}
GET/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_idpathrequired
uuid

The 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

200 · application/json
{
  "id": "cf247e8b-7288-4aa7-ab47-20bd03ad6d45",
  "object": "room",
  "location_id": "159e78c2-d0b4-44fc-995f-e0d587b42f55",
  "name": "Reformer Room",
  "capacity": 12,
  "active": true
}
GET/class-types

List 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

200 · application/json
{
  "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
}
GET/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_idpathrequired
uuid

The 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

200 · application/json
{
  "id": "c88dc065-7f0c-452e-83fe-6a8160a03f6d",
  "object": "class_type",
  "name": "Full Body Reformer",
  "beginner_safe": true,
  "recovery": false
}
GET/instructors

List 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

200 · application/json
{
  "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
}
GET/instructors/{instructor_id}

Retrieve an instructor

Returns the public teaching profile for one instructor.

Required scope
schedule:read
Success
200
Response
InstructorObject

Parameters

instructor_idpathrequired
uuid

The 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

200 · application/json
{
  "id": "5d88b0ee-ad19-4e2d-8399-7c71c4d7d4ee",
  "object": "instructor",
  "name": "Alex Morgan",
  "tagline": "Strength with intention",
  "tags": ["reformer", "strength"]
}
GET/classes

List 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_afterquery
date-time

Return sessions starting at or after this timestamp.

starts_beforequery
date-time

Return sessions starting before this timestamp.

location_idquery
uuid

Return sessions for this permitted location.

statusquery
string

Filter by class status.

cursorquery
uuid

Opaque cursor returned by the previous page. Pass it back unchanged.

limitquery
integer

Number 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

200 · application/json
{
  "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
}
GET/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_idpathrequired
uuid

The 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

200 · application/json
{
  "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

Full OpenAPI schema
iduuid

Stable class session identifier.

titlestring

Member-facing class title.

start_timedate-time

ISO 8601 timestamp with timezone.

capacityinteger

Maximum confirmed bookings.

booked_countinteger

Current confirmed booking count.

available_countinteger

Current capacity remaining.

statusstring

Operational class state.

visibleboolean

Whether the session is client-visible.