{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/json-schema/public-api-v6-class-schema.json",
"title": "Class",
"description": "Implementation of the 'Class' model. Represents a single class instance. The class meets at the start time, goes until the end time.",
"type": "object",
"properties": {
"ClassScheduleId": {
"type": "integer",
"format": "int32",
"description": "The ID used to retrieve the class schedule for the desired class.",
"example": 123456
},
"Visits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Visit"
},
"description": "Contains information about visits.",
"example": [
{}
]
},
"Clients": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Client"
},
"description": "Contains information about clients.",
"example": [
{}
]
},
"Location": {
"$ref": "#/components/schemas/Location",
"description": "Contains information about a location."
},
"Resource": {
"$ref": "#/components/schemas/ResourceSlim",
"description": "Contains information about a resource, such as a room, assigned to a class."
},
"MaxCapacity": {
"type": "integer",
"format": "int32",
"description": "The maximum number of clients allowed in the class.",
"example": 1
},
"WebCapacity": {
"type": "integer",
"format": "int32",
"description": "The maximum number of clients allowed to sign up online for the class.",
"example": 1
},
"TotalBooked": {
"type": "integer",
"format": "int32",
"description": "The total number of clients booked in the class.",
"example": 1
},
"TotalSignedIn": {
"type": "integer",
"format": "int32",
"description": "The total number of clients signed into the class.",
"example": 1
},
"TotalBookedWaitlist": {
"type": "integer",
"format": "int32",
"description": "The total number of booked clients on the waiting list for the class.",
"example": 1
},
"WebBooked": {
"type": "integer",
"format": "int32",
"description": "The total number of clients who signed up online for the class.",
"example": 1
},
"SemesterId": {
"type": "integer",
"format": "int32",
"description": "The ID of the semester that the class is a part of, if any.",
"example": 123456
},
"IsCanceled": {
"type": "boolean",
"description": "When `true`, indicates that the class has been cancelled.
When `false`, indicates that the class has not been cancelled.",
"example": true
},
"Substitute": {
"type": "boolean",
"description": "When `true`, indicates that the class is being taught by a substitute teacher.
When `false`, indicates that the class is being taught by its regular teacher.",
"example": true
},
"Active": {
"type": "boolean",
"description": "When `true`, indicates that the class is shown to clients when in consumer mode.
When `false`, indicates that the class is not shown to clients when in consumer mode.",
"example": true
},
"IsWaitlistAvailable": {
"type": "boolean",
"description": "When `true`, indicates that the clients can be placed on a waiting list for the class.
When `false`, indicates that the clients cannot be placed on a waiting list for the class.",
"example": true
},
"IsEnrolled": {
"type": "boolean",
"description": "When `true`, indicates that the client with the given `ClientId` is enrolled in this class.
When `false`, indicates that the client with the given `ClientId` is not enrolled in this class.",
"example": true
},
"HideCancel": {
"type": "boolean",
"description": "When `true`, indicates that this class is hidden when cancelled.
When `false`, indicates that this class is not hidden when cancelled.",
"example": true
},
"Id": {
"type": "integer",
"format": "int32",
"description": "The unique identifier for the class.",
"example": 123456
},
"IsAvailable": {
"type": "boolean",
"description": "When `true`, indicates that the client with the given client ID can book this class.
When `false`, indicates that the client with the given client ID cannot book this class.",
"example": true
},
"StartDateTime": {
"type": "string",
"format": "date-time",
"description": "The time this class is scheduled to start.",
"example": "2026-05-28T14:30:00Z"
},
"EndDateTime": {
"type": "string",
"format": "date-time",
"description": "The time this class is scheduled to end.",
"example": "2026-05-28T14:30:00Z"
},
"LastModifiedDateTime": {
"type": "string",
"format": "date-time",
"description": "The last time this class was modified.",
"example": "2026-05-28T14:30:00Z"
},
"ClassDescription": {
"$ref": "#/components/schemas/ClassDescription",
"description": "Contains information that defines the class."
},
"Staff": {
"$ref": "#/components/schemas/Staff",
"description": "Contains information about the staff member."
},
"BookingWindow": {
"$ref": "#/components/schemas/BookingWindow",
"description": "Contains information about the window for booking."
},
"BookingStatus": {
"$ref": "#/components/schemas/BookingStatusEnum",
"description": "Contains the booking\u2019s payment status."
},
"VirtualStreamLink": {
"type": "string",
"description": "The link to the Mindbody-hosted live stream for the class. This is `null` when no live stream is configured for the class.",
"example": "example-value"
},
"WaitListSize": {
"type": "integer",
"format": "int32",
"description": "The maximum number allowed on the waiting list for the class.",
"example": 1
},
"ClassNotes": {
"type": "string",
"description": "Notes for the class",
"example": "Example note for Mindbody Public API."
}
}
}