openapi: 3.0.3
info:
title: Mindbody Public API v6 Appointment Enrollment API
version: '6.0'
description: REST API for Mindbody business management data including appointments, classes, clients, enrollments, sales, sites, staff, payroll, and cross-site operations. Authentication combines a Mindbody-issued API-Key header with a SiteId header and optional staff/user OAuth bearer tokens for write operations. Generated from the official Mindbody Public API Python SDK (apimatic v3).
contact:
name: Mindbody API Support
url: https://support.mindbodyonline.com/s/contactapisupport
license:
name: Proprietary
x-generated-from: Mindbody-API-SDKs python SDK
x-last-validated: '2026-05-28'
servers:
- url: https://api.mindbodyonline.com
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Enrollment
description: Enrollment operations.
paths:
/public/v6/enrollment/enrollments:
get:
tags:
- Enrollment
summary: Mindbody Returns a List of Enrollments. an Enrollment is a Service, Such as a
description: 'Returns a list of enrollments. An enrollment is a service, such as a workshop or an event, that a staff member offers to multiple students, who commit to coming to all or most of the scheduled sessions. Enrollments typically run for a limited time only. When a user token is not passed with the request or the passed user token has insufficient viewing permissions, only the following staff data is returned in the response: * FirstName * LastName * Id * Bio * DisplayName * ImageUrl'
operationId: getEnrollments
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
- name: request.classScheduleIds
in: query
required: false
description: A list of the requested class schedule IDs. If omitted, all class schedule IDs return.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.endDate
in: query
required: false
description: 'The end of the date range. The response returns any active enrollments that occur on or before this day.
Default: **StartDate**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
- name: request.limit
in: query
required: false
description: Number of results to include, defaults to 100
schema:
type: integer
format: int32
example: 1
- name: request.locationIds
in: query
required: false
description: List of the IDs for the requested locations. If omitted, all location IDs return.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.offset
in: query
required: false
description: Page offset, defaults to 0.
schema:
type: integer
format: int32
example: 1
- name: request.programIds
in: query
required: false
description: List of the IDs for the requested programs. If omitted, all program IDs return.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.sessionTypeIds
in: query
required: false
description: List of the IDs for the requested session types. If omitted, all session types IDs return.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.staffIds
in: query
required: false
description: List of the IDs for the requested staff IDs. If omitted, all staff IDs return.
schema:
type: array
items:
type: integer
format: int32
example:
- 1
- name: request.startDate
in: query
required: false
description: 'The start of the date range. The response returns any active enrollments that occur on or after this day.
Default: **today’s date**'
schema:
type: string
format: date-time
example: '2026-05-28T14:30:00Z'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetEnrollmentsResponse'
examples:
Getenrollments200Example:
summary: Default getEnrollments 200 example
x-microcks-default: true
value:
PaginationResponse: {}
Enrollments:
- {}
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/enrollment/addclienttoenrollment:
post:
tags:
- Enrollment
summary: Mindbody Book a Client Into an Enrollment
description: Book a client into an enrollment.
operationId: addClientToEnrollment
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddClientToEnrollmentRequest'
examples:
AddclienttoenrollmentRequestExample:
summary: Default addClientToEnrollment request example
x-microcks-default: true
value:
ClientId: example-value
ClassScheduleId: 123456
EnrollDateForward: '2026-05-28T14:30:00Z'
EnrollOpen:
- '2026-05-28T14:30:00Z'
Test: true
SendEmail: true
Waitlist: true
WaitlistEntryId: 123456
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ClassSchedule'
examples:
Addclienttoenrollment200Example:
summary: Default addClientToEnrollment 200 example
x-microcks-default: true
value:
Classes:
- {}
Clients:
- {}
Course: {}
SemesterId: 123456
IsAvailable: true
Id: 123456
ClassDescription: {}
DaySunday: true
DayMonday: true
DayTuesday: true
DayWednesday: true
DayThursday: true
DayFriday: true
DaySaturday: true
AllowOpenEnrollment: true
AllowDateForwardEnrollment: true
StartTime: '2026-05-28T14:30:00Z'
EndTime: '2026-05-28T14:30:00Z'
StartDate: '2026-05-28T14:30:00Z'
EndDate: '2026-05-28T14:30:00Z'
Staff: {}
Location: {}
FrequencyType: {}
FrequencyInterval: 1
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/enrollment/addenrollmentschedule:
post:
tags:
- Enrollment
summary: Mindbody This Endpoint Adds a Enrollment Schedule. You Can Require Clients to
description: This endpoint adds a enrollment schedule. You can require clients to sign up for the entire enrollment schedule or allow them to pick specific sessions using the AllowOpenEnrollment parameter.
operationId: addEnrollmentSchedule
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddClassEnrollmentScheduleRequest'
examples:
AddenrollmentscheduleRequestExample:
summary: Default addEnrollmentSchedule request example
x-microcks-default: true
value:
ClassDescriptionId: 123456
LocationId: 123456
StartDate: '2026-05-28T14:30:00Z'
EndDate: '2026-05-28T14:30:00Z'
StartTime: '2026-05-28T14:30:00Z'
EndTime: '2026-05-28T14:30:00Z'
DaySunday: true
DayMonday: true
DayTuesday: true
DayWednesday: true
DayThursday: true
DayFriday: true
DaySaturday: true
StaffId: 123456
StaffPayRate: 1
ResourceId: 123456
MaxCapacity: 1
WebCapacity: 1
WaitlistCapacity: 1
BookingStatus: Active
AllowOpenEnrollment: true
AllowDateForwardEnrollment: true
PricingOptionsProductIds:
- 1
ShowToPublic: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WrittenClassSchedulesInfo'
examples:
Addenrollmentschedule200Example:
summary: Default addEnrollmentSchedule 200 example
x-microcks-default: true
value:
ClassId: 123456
ClassInstanceIds:
- 1
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
/public/v6/enrollment/updateenrollmentschedule:
post:
tags:
- Enrollment
summary: Mindbody This Endpoint Update a Enrollment Schedule
description: This endpoint update a enrollment schedule.
operationId: updateEnrollmentSchedule
parameters:
- name: version
in: path
required: true
description: version of the api.
schema:
type: string
example: example-value
- name: siteId
in: header
required: true
description: ID of the site from which to pull data.
schema:
type: string
example: example-value
- name: authorization
in: header
required: false
description: A staff user authorization token.
schema:
type: string
example: example-value
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClassEnrollmentScheduleRequest'
examples:
UpdateenrollmentscheduleRequestExample:
summary: Default updateEnrollmentSchedule request example
x-microcks-default: true
value:
ClassId: 123456
ClassDescriptionId: 123456
LocationId: 123456
StartDate: '2026-05-28T14:30:00Z'
EndDate: '2026-05-28T14:30:00Z'
StartTime: '2026-05-28T14:30:00Z'
EndTime: '2026-05-28T14:30:00Z'
DaySunday: true
DayMonday: true
DayTuesday: true
DayWednesday: true
DayThursday: true
DayFriday: true
DaySaturday: true
StaffId: 123456
StaffPayRate: 1
ResourceId: 123456
MaxCapacity: 1
WebCapacity: 1
WaitlistCapacity: 1
BookingStatus: Active
AllowOpenEnrollment: true
AllowDateForwardEnrollment: true
RetainScheduleChanges: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WrittenClassSchedulesInfo'
examples:
Updateenrollmentschedule200Example:
summary: Default updateEnrollmentSchedule 200 example
x-microcks-default: true
value:
ClassId: 123456
ClassInstanceIds:
- 1
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Internal Server Error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- ApiKeyAuth: []
components:
schemas:
StatusEnum:
type: string
description: StatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
BookingWindow:
type: object
description: Implementation of the 'BookingWindow' model. The booking window for registration
properties:
StartDateTime:
type: string
format: date-time
description: Date and time that the booking window opens; that is, the first day of sales.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: Date and time that the booking window closes; that is, the last day of sales.
example: '2026-05-28T14:30:00Z'
DailyStartTime:
type: string
format: date-time
description: The time that the booking window opens; that is, the time that the store opens.
example: '2026-05-28T14:30:00Z'
DailyEndTime:
type: string
format: date-time
description: The time that the booking window closes; that is, the time that the store closes.
example: '2026-05-28T14:30:00Z'
Availability:
type: object
description: Implementation of the 'Availability' model. A staff availability entry
properties:
Id:
type: integer
format: int32
description: The ID of the availability.
example: 123456
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about staff members.
SessionType:
$ref: '#/components/schemas/SessionType'
description: Contains information about the types of sessions.
Programs:
type: array
items:
$ref: '#/components/schemas/Program'
description: Contains information about the programs.
example:
- {}
StartDateTime:
type: string
format: date-time
description: The date and time the availability starts in the site local time zone.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the availability ends in the site local time zone.
example: '2026-05-28T14:30:00Z'
BookableEndDateTime:
type: string
format: date-time
description: The time of day that the last appointment can start in the site local time zone.
example: '2026-05-28T14:30:00Z'
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the location.
PrepTime:
type: integer
format: int32
description: Prep time in minutes
example: 1
FinishTime:
type: integer
format: int32
description: Finish time in minutes
example: 1
IsMasked:
type: boolean
description: When `true`, indicates that the staff member's name for availabilty is masked. When `false`, indicates that the staff member's name for availabilty is not masked.
example: true
ShowPublic:
type: boolean
description: When `true`, indicates that the schedule is shown to the clients. When `false`, indicates that the schedule is hidden from the clients.
example: true
ResourceAvailabilities:
type: array
items:
$ref: '#/components/schemas/ResourceAvailability'
description: Contains information about resources availability for the specified session type.
example:
- {}
ScheduleTypeEnum:
type: string
description: ScheduleTypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
Client:
type: object
description: Implementation of the 'Client' model. The Client.
properties:
AppointmentGenderPreference:
$ref: '#/components/schemas/AppointmentGenderPreference1Enum'
description: The gender of staff member with whom the client prefers to book appointments.
BirthDate:
type: string
format: date-time
description: The client’s date of birth.
example: '2026-05-28T14:30:00Z'
Country:
type: string
description: The client’s country.
example: US
CreationDate:
type: string
format: date-time
description: The date the client’s profile was created and added to the business, either by the client from the online store, or by a staff member. This value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.
example: '2026-05-28T14:30:00Z'
CustomClientFields:
type: array
items:
$ref: '#/components/schemas/CustomClientFieldValue'
description: Contains information about the custom fields used for clients in the business.
example:
- {}
ClientCreditCard:
$ref: '#/components/schemas/ClientCreditCard'
description: Contains information about the client’s credit card.
ClientIndexes:
type: array
items:
$ref: '#/components/schemas/AssignedClientIndex'
description: Contains the IDs of the client’s assigned ClientIndexes and ClientIndexValues. If an index is already assigned to the client, it is overwritten with the passed index value. You cannot currently remove client indexes using the Public API. Only the indexes passed in the request are returned in the response.
example:
- {}
ClientRelationships:
type: array
items:
$ref: '#/components/schemas/ClientRelationship'
description: Contains information about the relationship between two clients. This parameter does not include all of the relationships assigned to the client, only the ones passed in the request.
example:
- {}
FirstAppointmentDate:
type: string
format: date-time
description: The date of the client’s first booked appointment at the business.
example: '2026-05-28T14:30:00Z'
FirstClassDate:
type: string
format: date-time
description: The date of the clients first booked class at the business.
example: '2026-05-28T14:30:00Z'
FirstName:
type: string
description: The client’s first name.
example: Alex
Id:
type: string
description: The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.
example: example-value
IsCompany:
type: boolean
description: When `true`, indicates that the client should be marked as a company at the business.
When `false`, indicates the client is an individual and does not represent a company.
example: true
IsProspect:
type: boolean
description: This value is set only if the business owner allows individuals to be prospects.
When `true`, indicates that the client should be marked as a prospect for the business.
When `false`, indicates that the client should not be marked as a prospect for the business.
example: true
LastName:
type: string
description: The client’s last name.
example: Lane
Liability:
$ref: '#/components/schemas/Liability'
description: Contains the client’s liability agreement information for the business.
LiabilityRelease:
type: boolean
description: 'Passing `true` sets the client’s liability information as follows: * `IsReleased` is set to `true`. * `AgreementDate` is set to the time zone of the business when the call was processed. * `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call. Passing `false` sets the client’s liability information as follows: * `IsReleased` is set to `false`. * `AgreementDate` is set to '
example: true
MembershipIcon:
type: integer
format: int32
description: The ID of the [membership icon](https://support.mindbodyonline.com/s/article/203259703-Member ship-Setup-screen?language=en_US) displayed next to the client’s name, if the client has a membership on their account.
example: 1
MobileProvider:
type: integer
format: int32
description: The client’s mobile provider.
example: 1
Notes:
type: string
description: Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.
example: Example note for Mindbody Public API.
State:
type: string
description: The client’s state.
example: CA
UniqueId:
type: integer
format: int32
description: The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.
example: 123456
LastModifiedDateTime:
type: string
format: date-time
description: The UTC date and time when the client’s information was last modified.
example: '2026-05-28T14:30:00Z'
RedAlert:
type: string
description: Contains any red alert information entered by the business owner for the client.
example: example-value
YellowAlert:
type: string
description: Contains any yellow alert information entered by the business owner for the client.
example: example-value
MiddleName:
type: string
description: The client’s middle name.
example: example-value
ProspectStage:
$ref: '#/components/schemas/ProspectStage'
description: Contains information about the client [prospect stage](https://support.mindbodyonline.com/s/article/206176457-Prosp ect-Stages?language=en_US).
Email:
type: string
description: The client’s email address.
example: kinlane@example.com
MobilePhone:
type: string
description: The client’s mobile phone number.
example: '+15551234567'
HomePhone:
type: string
description: The client’s home phone number.
example: '+15551234567'
WorkPhone:
type: string
description: The client’s work phone number.
example: '+15551234567'
AccountBalance:
type: number
format: double
description: The client’s current [account balance](https://mindbody-online-support.force.com/support/s/articl e/203262013-Adding-account-payments-video-tutorial?language=en_US).
example: 49.99
AddressLine1:
type: string
description: The first line of the client’s street address.
example: 123 Market St
AddressLine2:
type: string
description: The second line of the client’s street address, if needed.
example: 123 Market St
City:
type: string
description: The client’s city.
example: San Francisco
PostalCode:
type: string
description: The client’s postal code.
example: '94110'
WorkExtension:
type: string
description: The client’s work phone extension number.
example: example-value
ReferredBy:
type: string
description: Specifies how the client was referred to the business. You can get a list of possible strings using the `GetClientReferralTypes` endpoint.
example: example-value
PhotoUrl:
type: string
description: The URL of the client’s photo for the client profile.
example: https://example.mindbodyonline.com/resource/abc123
EmergencyContactInfoName:
type: string
description: The name of the client’s emergency contact.
example: example-value
EmergencyContactInfoEmail:
type: string
description: The email address of the client’s emergency contact.
example: kinlane@example.com
EmergencyContactInfoPhone:
type: string
description: The phone number of the client’s emergency contact.
example: '+15551234567'
EmergencyContactInfoRelationship:
type: string
description: The client’s relationship with the emergency contact.
example: example-value
Gender:
type: string
description: The gender of the client.
example: example-value
LastFormulaNotes:
type: string
description: The last [formula note](https://support.mindbodyonline.com/s/article/203259903-Appoin tments-Formula-notes?language=en_US) entered for the client.
example: Example note for Mindbody Public API.
Active:
type: boolean
description: When `true`, indicates that the client’s profile is marked as active on the site.
When `false`, the client’s profile is inactive. Defaults to `true` based on the assumption that if a client is currently inactive OR is to be marked inactive, this property will explicitly be mapped/set to `false`.
example: true
SalesReps:
type: array
items:
$ref: '#/components/schemas/SalesRep'
description: A list of sales representatives.
example:
- {}
Status:
type: string
description: 'The status of the client in the business. Possible values are: * Declined * Non-Member * Active * Expired * Suspended * Terminated'
example: Active
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
SendAccountEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive general account notifications by email. This property is editable.
Default: **false**'
example: true
SendAccountTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive general account notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
SendPromotionalEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive promotional notifications by email. This property is editable.
Default: **false**'
example: true
SendPromotionalTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive promotional notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
SendScheduleEmails:
type: boolean
description: 'When `true`, indicates that the client has opted to receive schedule notifications by email. This property is editable.
Default: **false**'
example: true
SendScheduleTexts:
type: boolean
description: When `true`, indicates that the client has opted to receive schedule notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
example: true
HomeLocation:
$ref: '#/components/schemas/Location'
description: Information about the Home Location for this client
LockerNumber:
type: string
description: The clients locker number.
example: example-value
ClientType:
$ref: '#/components/schemas/ClientType'
description: The client's assigned client type. Returns null if the client has no client type assigned. For more information, see [Client Types](https://support.mindbodyonline.com/s/article/203259193-Clien t-Types).
SalesRep:
type: object
description: Implementation of the 'SalesRep' model.
properties:
FirstName:
type: string
description: The first name of the sales representative.
example: Alex
Id:
type: integer
format: int32
description: The staff ID of the sales representative.
example: 123456
LastName:
type: string
description: The last name of the sales representative.
example: Lane
SalesRepNumber:
type: integer
format: int32
description: This value is the number that identifies the type of sales representative assigned to this client. One to six types of sales representatives can be assigned to a client at any given time, depending on site settings.
example: 1
SalesRepNumbers:
type: array
items:
type: integer
format: int32
description: A list of the different types of sales representative functions assigned to this staff member.
example:
- 1
ClientRelationship:
type: object
description: Implementation of the 'ClientRelationship' model. A relation between two clients.
properties:
RelatedClientId:
type: string
description: The RSSID of the related client.
example: example-value
RelatedUniqueId:
type: integer
format: int32
description: The UniqueId of the related client.
example: 123456
Relationship:
$ref: '#/components/schemas/Relationship'
description: Contains details about the relationship between two clients.
RelationshipName:
type: string
description: The name of the relationship of the related client.
example: example-value
Delete:
type: boolean
description: 'When true, the associated relationship is removed from the client’s list of relationships. This property is ignored in all other use cases. Default: *false*'
example: true
PaginationResponse:
type: object
description: Implementation of the 'PaginationResponse' model. Contains information about the pagination to use.
properties:
RequestedLimit:
type: integer
format: int32
description: Limit from pagination request
example: 10
RequestedOffset:
type: integer
format: int32
description: Offset from pagination request
example: 10
PageSize:
type: integer
format: int32
description: Number of results returned in this response
example: 1
TotalResults:
type: integer
format: int32
description: Total number of results in dataset
example: 1
Unavailability:
type: object
description: Implementation of the 'Unavailability' model.
properties:
Id:
type: integer
format: int32
description: The ID of the unavailability.
example: 123456
StartDateTime:
type: string
format: date-time
description: The date and time the unavailability starts.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the unavailability ends.
example: '2026-05-28T14:30:00Z'
Description:
type: string
description: A description of the unavailability.
example: Example note for Mindbody Public API.
GetEnrollmentsResponse:
type: object
description: Implementation of the 'GetEnrollmentsResponse' model.
properties:
PaginationResponse:
$ref: '#/components/schemas/PaginationResponse'
description: Contains information about the pagination used.
Enrollments:
type: array
items:
$ref: '#/components/schemas/ClassSchedule'
description: Contains information about the enrollments.
example:
- {}
StaffSetting:
type: object
description: Implementation of the 'StaffSetting' model. contains the information about the staff settings.
properties:
UseStaffNicknames:
type: boolean
description: When `true`, `DisplayName` of the staff will be displayed. When `false`, `DisplayName` will be displayed as null.
example: true
ShowStaffLastNamesOnSchedules:
type: boolean
description: When `true`, indicates that the Name contains both the `FirstName` and `LastName` of the staff. When `false`, indicates that the Name contains only the `FirstName` of the staff.
example: true
SessionType:
type: object
description: Implementation of the 'SessionType' model. SessionType contains information about the session types in a business.
properties:
Type:
$ref: '#/components/schemas/TypeEnum'
description: 'Contains the class description session type. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival'
DefaultTimeLength:
type: integer
format: int32
description: The default amount of time that a session of this type typically lasts.
example: 1
StaffTimeLength:
type: integer
format: int32
description: The amount of time that a session of this type will last for a specific Staff (when applicable.)
example: 1
Id:
type: integer
format: int32
description: This session type’s unique ID.
example: 123456
Name:
type: string
description: The name of this session type.
example: Sunset Yoga Studio
OnlineDescription:
type: string
description: The online description associated with the appointment.
example: Example note for Mindbody Public API.
NumDeducted:
type: integer
format: int32
description: The number of sessions that this session type deducts from the pricing option used to pay for this type of session.
example: 1
ProgramId:
type: integer
format: int32
description: This session type’s service category ID.
example: 123456
Category:
type: string
description: This session type’s category.
example: example-value
CategoryId:
type: integer
format: int32
description: This session type’s category ID.
example: 123456
Subcategory:
type: string
description: This session type’s subcategory.
example: example-value
SubcategoryId:
type: integer
format: int32
description: This session type’s subcategory ID.
example: 123456
AvailableForAddOn:
type: boolean
description: This session type’s Add On Flag.
example: true
GenderPreferenceEnum:
type: string
description: GenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
Staff:
type: object
description: Implementation of the 'Staff' model. The Staff
properties:
Address:
type: string
description: The address of the staff member who is teaching the class.
example: 123 Market St
AppointmentInstructor:
type: boolean
description: When `true`, indicates that the staff member offers appointments.
When `false`, indicates that the staff member does not offer appointments.
example: true
AlwaysAllowDoubleBooking:
type: boolean
description: When `true`, indicates that the staff member can be scheduled for overlapping services.
When `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.
example: true
Bio:
type: string
description: The staff member’s biography. This string contains HTML.
example: example-value
City:
type: string
description: The staff member’s city.
example: San Francisco
Country:
type: string
description: The staff member’s country.
example: US
Email:
type: string
description: The staff member’s email address.
example: kinlane@example.com
FirstName:
type: string
description: The staff member’s first name.
example: Alex
DisplayName:
type: string
description: The staff member’s Nickname.
example: example-value
HomePhone:
type: string
description: The staff member’s home phone number.
example: '+15551234567'
Id:
type: integer
format: int32
description: The ID assigned to the staff member.
example: 123456
IndependentContractor:
type: boolean
description: When `true`, indicates that the staff member is an independent contractor. When `false`, indicates that the staff member is not an independent contractor.
example: true
IsMale:
type: boolean
description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female.
example: true
LastName:
type: string
description: The staff member’s last name.
example: Lane
MobilePhone:
type: string
description: The staff member’s mobile phone number.
example: '+15551234567'
Name:
type: string
description: The staff member’s name.
example: Sunset Yoga Studio
PostalCode:
type: string
description: The staff member’s postal code.
example: '94110'
ClassTeacher:
type: boolean
description: When `true`, indicates that the staff member can teach classes. When `false`, indicates that the staff member cannot teach classes.
example: true
SortOrder:
type: integer
format: int32
description: If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.
example: 1
State:
type: string
description: The staff member’s state.
example: CA
WorkPhone:
type: string
description: The staff member’s work phone number.
example: '+15551234567'
ImageUrl:
type: string
description: The URL of the staff member’s image, if one has been uploaded.
example: https://example.mindbodyonline.com/resource/abc123
ClassAssistant:
type: boolean
description: Is the staff an assistant
example: true
ClassAssistant2:
type: boolean
description: Is the staff an assistant2
example: true
EmploymentStart:
type: string
format: date-time
description: The start date of employment
example: '2026-05-28T14:30:00Z'
EmploymentEnd:
type: string
format: date-time
description: The end date of employment
example: '2026-05-28T14:30:00Z'
ProviderIDs:
type: array
items:
type: string
description: A list of ProviderIds for the staff.
example:
- example-value
Rep:
type: boolean
description: return true if staff is sales Rep 1 else false.
example: true
Rep2:
type: boolean
description: return true if staff is sales Rep 2 else false.
example: true
Rep3:
type: boolean
description: return true if staff is sales Rep 3 else false.
example: true
Rep4:
type: boolean
description: return true if staff is sales Rep 4 else false.
example: true
Rep5:
type: boolean
description: return true if staff is sales Rep 5 else false.
example: true
Rep6:
type: boolean
description: return true if staff is sales Rep 6 else false.
example: true
StaffSettings:
$ref: '#/components/schemas/StaffSetting'
description: This object contains the staff settings.
Appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
description: A list of appointments for the staff.
example:
- {}
Unavailabilities:
type: array
items:
$ref: '#/components/schemas/Unavailability'
description: A list of unavailabilities for the staff.
example:
- {}
Availabilities:
type: array
items:
$ref: '#/components/schemas/Availability'
description: A list of availabilities for the staff.
example:
- {}
EmpID:
type: string
description: The EmpID assigned to the staff member.
example: example-value
Relationship:
type: object
description: Implementation of the 'Relationship' model. Jim is a RelationshipName1 of John. John is a RelationshipName2 of Jim.
properties:
Id:
type: integer
format: int32
description: The ID of the relationship.
example: 123456
RelationshipName1:
type: string
description: The name of the first relationship.
example: example-value
RelationshipName2:
type: string
description: The name of the second relationship.
example: example-value
ClientType:
type: object
description: Implementation of the 'ClientType' model. Represents a client's type classification.
properties:
Id:
type: integer
format: int32
description: The unique identifier for the client type.
example: 123456
Name:
type: string
description: The display name of the client type.
example: Sunset Yoga Studio
AddClientToEnrollmentRequest:
type: object
description: Implementation of the 'AddClientToEnrollmentRequest' model. Add Client To Enrollment Request Model
properties:
ClientId:
type: string
description: The client IDs of the clients to add to the specified enrollments.
example: example-value
ClassScheduleId:
type: integer
format: int32
description: The class schedule IDs of the enrollments to add the clients to. The ClassScheduleId can be found in GetEnrollments as the EnrollmentId.
example: 123456
EnrollDateForward:
type: string
format: date-time
description: 'Enroll the clients from this date forward. `EnrollDateForward` takes priority over open enrollment. Default: **null**'
example: '2026-05-28T14:30:00Z'
EnrollOpen:
type: array
items:
type: string
format: date-time
description: Enroll for selected dates.
example:
- '2026-05-28T14:30:00Z'
Test:
type: boolean
description: 'When `true`, input information is validated, but not committed.
Default: **false**'
example: true
SendEmail:
type: boolean
description: 'When `true`, indicates that the client should be sent an email. An email is only sent if the client has an email address and automatic emails have been set up.
Default: **false**'
example: true
Waitlist:
type: boolean
description: 'When `true`, the client is added to a specific enrollments waiting list. Default: **false**'
example: true
WaitlistEntryId:
type: integer
format: int32
description: The waiting list entry to add. Used to add a client to an enrollment from a waiting list entry.
example: 123456
Location:
type: object
description: Implementation of the 'Location' model.
properties:
AdditionalImageURLs:
type: array
items:
type: string
description: A list of URLs of any images associated with this location.
example:
- example-value
Address:
type: string
description: The first line of the location’s street address.
example: 123 Market St
Address2:
type: string
description: A second address line for the location’s street address, if needed.
example: 123 Market St
Amenities:
type: array
items:
$ref: '#/components/schemas/Amenity'
description: A list of strings representing amenities available at the location.
example:
- {}
BusinessDescription:
type: string
description: The business description for the location, as configured by the business owner.
example: Example note for Mindbody Public API.
City:
type: string
description: The location’s city.
example: San Francisco
Description:
type: string
description: A description of the location.
example: Example note for Mindbody Public API.
HasClasses:
type: boolean
description: When `true`, indicates that classes are held at this location.
When `false`, Indicates that classes are not held at this location.
example: true
Id:
type: integer
format: int32
description: The ID assigned to this location.
example: 123456
Latitude:
type: number
format: double
description: The location’s latitude.
example: 1.0
Longitude:
type: number
format: double
description: The location’s longitude.
example: 1.0
Name:
type: string
description: The name of this location.
example: Sunset Yoga Studio
Phone:
type: string
description: The location’s phone number.
example: '+15551234567'
PhoneExtension:
type: string
description: The location’s phone extension.
example: example-value
PostalCode:
type: string
description: The location’s postal code.
example: '94110'
SiteID:
type: integer
format: int32
description: The ID number assigned to this location.
example: 1
StateProvCode:
type: string
description: The location’s state or province code.
example: example-value
Tax1:
type: number
format: double
description: A decimal representation of the location’s first tax rate. Tax properties are provided to apply all taxes to the purchase price that the purchase is subject to. Use as many tax properties as needed to represent all the taxes that apply in the location. Enter a decimal number that represents the appropriate tax rate. For example, for an 8% sales tax, enter 0.08.
example: 1.0
Tax2:
type: number
format: double
description: A decimal representation of the location’s second tax rate. See the example in the description of Tax1.
example: 1.0
Tax3:
type: number
format: double
description: A decimal representation of the location’s third tax rate. See the example in the description of Tax1.
example: 1.0
Tax4:
type: number
format: double
description: A decimal representation of the location’s fourth tax rate. See the example in the description of Tax1.
example: 1.0
Tax5:
type: number
format: double
description: A decimal representation of the location’s fifth tax rate. See the example in the description of Tax1.
example: 1.0
TotalNumberOfRatings:
type: integer
format: int32
description: The number of reviews that clients have left for this location.
example: 1
AverageRating:
type: number
format: double
description: The average rating for the location, out of five stars.
example: 1.0
TotalNumberOfDeals:
type: integer
format: int32
description: The number of distinct introductory pricing options available for purchase at this location.
example: 1
Amenity:
type: object
description: Implementation of the 'Amenity' model. Definition of a location amenity
properties:
Id:
type: integer
format: int32
description: The ID number of the amenity.
example: 123456
Name:
type: string
description: The name of the amenity, for example, food or lockers.
example: Sunset Yoga Studio
AddOnSmall:
type: object
description: Implementation of the 'AddOnSmall' model.
properties:
Id:
type: integer
format: int32
description: The unique ID of the appointment add-on booking.
example: 123456
Name:
type: string
description: The name of the appointment add-on.
example: Sunset Yoga Studio
StaffId:
type: integer
format: int32
description: The ID of the staff member providing the service for this add-on.
example: 123456
TypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
Level:
type: object
description: Implementation of the 'Level' model. A session level.
properties:
Id:
type: integer
format: int32
description: Contains the Id given to this level.
example: 123456
Name:
type: string
description: Contains the name given to this level.
example: Sunset Yoga Studio
Description:
type: string
description: Contains a description of this level.
example: Example note for Mindbody Public API.
ResourceAvailability:
type: object
description: Implementation of the 'ResourceAvailability' model. An availability of a resource
properties:
ResourceId:
type: integer
format: int32
description: Id
example: 123456
StartDateTime:
type: string
format: date-time
description: Starts
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: Ends
example: '2026-05-28T14:30:00Z'
AppointmentStaff:
type: object
description: Implementation of the 'AppointmentStaff' model.
properties:
Id:
type: integer
format: int32
description: The model property of type int.
example: 123456
FirstName:
type: string
description: The model property of type str.
example: Alex
LastName:
type: string
description: The model property of type str.
example: Lane
DisplayName:
type: string
description: The model property of type str.
example: example-value
WrittenClassSchedulesInfo:
type: object
description: Implementation of the 'WrittenClassSchedulesInfo' model.
properties:
ClassId:
type: integer
format: int32
description: The ClassScheduleId.
example: 123456
ClassInstanceIds:
type: array
items:
type: integer
format: int32
description: The individual ClassIds of the enrollment schedule.
example:
- 1
Liability:
type: object
description: Implementation of the 'Liability' model.
properties:
AgreementDate:
type: string
format: date-time
description: The date and time at which the client agreed to the liability waiver for the business.
example: '2026-05-28T14:30:00Z'
IsReleased:
type: boolean
description: The client’s liability release status.
When `true`, indicates that the client has agreed to the liability release for the business.
When `false`, indicates that the client has not agreed to the liability release for the business.
example: true
ReleasedBy:
type: integer
format: int32
description: An ID indicating who released liability for the client. If the client agreed to the liability waiver by signing into an account online, this value is `null`. If a staff member marked the waiver as signed on behalf of the client, it is the staff member’s ID. `0` indicates that the business owner marked the liability waiver as signed on behalf of the client.
example: 1
UpdateClassEnrollmentScheduleRequest:
type: object
description: Implementation of the 'UpdateClassEnrollmentScheduleRequest' model.
properties:
ClassId:
type: integer
format: int32
description: The class id, a block of schedules
example: 123456
ClassDescriptionId:
type: integer
format: int32
description: Used only internally, overridden if sent
example: 123456
LocationId:
type: integer
format: int32
description: The location where the class is taking place
example: 123456
StartDate:
type: string
format: date-time
description: Class start time (use null for TBD)
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: Class end time (ignored if StartTime is null)
example: '2026-05-28T14:30:00Z'
StartTime:
type: string
format: date-time
description: Class start time (use null for TBD)
example: '2026-05-28T14:30:00Z'
EndTime:
type: string
format: date-time
description: Class end time (ignored if StartTime is null)
example: '2026-05-28T14:30:00Z'
DaySunday:
type: boolean
description: (optional) - If the class occurs on Sunday (ignored if EndDate is null)
example: true
DayMonday:
type: boolean
description: (optional) - If the class occurs on Monday (ignored if EndDate is null)
example: true
DayTuesday:
type: boolean
description: (optional) - If the class occurs on Tuesday (ignored if EndDate is null)
example: true
DayWednesday:
type: boolean
description: (optional) - If the class occurs on Wednesday (ignored if EndDate is null)
example: true
DayThursday:
type: boolean
description: (optional) - If the class occurs on Thursday (ignored if EndDate is null)
example: true
DayFriday:
type: boolean
description: (optional) - If the class occurs on Friday (ignored if EndDate is null)
example: true
DaySaturday:
type: boolean
description: (optional) - If the class occurs on Saturday (ignored if EndDate is null
example: true
StaffId:
type: integer
format: int32
description: The staff member teaching the class
example: 123456
StaffPayRate:
type: integer
format: int32
description: The staff pay rate
example: 1
ResourceId:
type: integer
format: int32
description: (optional) - The room where the class is taking place
example: 123456
MaxCapacity:
type: integer
format: int32
description: How many people can attend
example: 1
WebCapacity:
type: integer
format: int32
description: How many people can signup online (if 0 clients cannot signup online)
example: 1
WaitlistCapacity:
type: integer
format: int32
description: 'One of: PaymentRequired, BookAndPayLater, Free'
example: 1
BookingStatus:
type: string
description: 'One of: PaymentRequired, BookAndPayLater, Free'
example: Active
AllowOpenEnrollment:
type: boolean
description: Allow clients to choose which sessions they'd like to sign up for
example: true
AllowDateForwardEnrollment:
type: boolean
description: Allow booking after the enrollment has started
example: true
RetainScheduleChanges:
type: boolean
description: Whether or not to retain manual schedule changes within the date range
example: true
CustomClientFieldValue:
type: object
description: Implementation of the 'CustomClientFieldValue' model. The value of a custom client field
properties:
Value:
type: string
description: The value of a specific custom field for a client.
example: example-value
Id:
type: integer
format: int32
description: The ID of the custom client field.
example: 123456
DataType:
type: string
description: The data type of the field.
example: example-value
Name:
type: string
description: The name of the field.
example: Sunset Yoga Studio
Program:
type: object
description: Implementation of the 'Program' model.
properties:
Id:
type: integer
format: int32
description: The service category’s ID.
example: 123456
Name:
type: string
description: The name of this service category.
example: Sunset Yoga Studio
ScheduleType:
$ref: '#/components/schemas/ScheduleTypeEnum'
description: 'The service category’s schedule type. Possible values are: * All * Class * Enrollment * Appointment * Resource * Arrival'
CancelOffset:
type: integer
format: int32
description: The offset to use for the service category.
example: 10
ContentFormats:
type: array
items:
type: string
description: 'The content delivery platform(s) used by the service category. Possible values are: * InPerson * Livestream:Mindbody * Livestream:Other'
example:
- example-value
PricingRelationships:
$ref: '#/components/schemas/PricingRelationships'
description: Pricing relationships
ClassSchedule:
type: object
description: Implementation of the 'ClassSchedule' model. Represents a single class instance. The class meets at the start time, goes until the end time.
properties:
Classes:
type: array
items:
$ref: '#/components/schemas/Class'
description: Contains information about a class.
example:
- {}
Clients:
type: array
items:
$ref: '#/components/schemas/Client'
description: Contains information about clients.
example:
- {}
Course:
$ref: '#/components/schemas/Course'
description: Contains information about the course that the enrollment is a part of.
SemesterId:
type: integer
format: int32
description: The semester ID for the enrollment (if any).
example: 123456
IsAvailable:
type: boolean
description: When `true`, indicates that the enrollment shows in consumer mode, has not started yet, and there is room in each class of the enrollment.
When `false`, indicates that either the enrollment does not show in consumer mode, has already started, or there is no room in some classes of the enrollment.
example: true
Id:
type: integer
format: int32
description: The unique ID of the class schedule.
example: 123456
ClassDescription:
$ref: '#/components/schemas/ClassDescription'
description: Contains information about the class.
DaySunday:
type: boolean
description: When `true`, indicates that this schedule occurs on Sundays.
example: true
DayMonday:
type: boolean
description: When `true`, indicates that this schedule occurs on Mondays.
example: true
DayTuesday:
type: boolean
description: When `true`, indicates that this schedule occurs on Tuesdays.
example: true
DayWednesday:
type: boolean
description: When `true`, indicates that this schedule occurs on Wednesdays.
example: true
DayThursday:
type: boolean
description: When `true`, indicates that this schedule occurs on Thursdays.
example: true
DayFriday:
type: boolean
description: When `true`, indicates that this schedule occurs on Fridays.
example: true
DaySaturday:
type: boolean
description: When `true`, indicates that this schedule occurs on Saturdays.
example: true
AllowOpenEnrollment:
type: boolean
description: When `true`, indicates that the enrollment allows booking after the enrollment has started.
example: true
AllowDateForwardEnrollment:
type: boolean
description: When `true`, indicates that this the enrollment shows in consumer mode, the enrollment has not started yet, and there is room in each class of the enrollment.
example: true
StartTime:
type: string
format: date-time
description: The time this class schedule starts.
example: '2026-05-28T14:30:00Z'
EndTime:
type: string
format: date-time
description: The time this class schedule ends.
example: '2026-05-28T14:30:00Z'
StartDate:
type: string
format: date-time
description: The date this class schedule starts.
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: The date this class schedule ends.
example: '2026-05-28T14:30:00Z'
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff member who is regularly scheduled to teach the class.
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the regularly scheduled location of this class.
FrequencyType:
$ref: '#/components/schemas/FrequencyTypeEnum'
description: The class schedule recurrence type.
FrequencyInterval:
type: integer
format: int32
description: The interval between class schedule occurencies.
example: 1
FrequencyTypeEnum:
type: string
description: FrequencyTypeEnum enumeration.
enum:
- Daily
- Weekly
- Monthly
Course:
type: object
description: Implementation of the 'Course' model. A course.
properties:
Id:
type: integer
format: int32
description: The course ID.
example: 123456
Name:
type: string
description: The course name.
example: Sunset Yoga Studio
Description:
type: string
description: A description of the course.
example: Example note for Mindbody Public API.
Notes:
type: string
description: Any notes that have been written about the course.
example: Example note for Mindbody Public API.
StartDate:
type: string
format: date-time
description: Date and time that the course starts.
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: Date and time that the course ends.
example: '2026-05-28T14:30:00Z'
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the location.
Organizer:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff member in charge of organizing the event.
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the service category to which the course belongs.
ImageUrl:
type: string
description: The URL of the image associated with this course, if one exists.
example: https://example.mindbodyonline.com/resource/abc123
Action1Enum:
type: string
description: Action1Enum enumeration.
enum:
- None
- Added
- Updated
- Failed
- Removed
PricingRelationships:
type: object
description: Implementation of the 'PricingRelationships' model.
properties:
PaysFor:
type: array
items:
type: integer
format: int32
description: The model property of type List[int].
example:
- 1
PaidBy:
type: array
items:
type: integer
format: int32
description: The model property of type List[int].
example:
- 1
ResourceSlim:
type: object
description: Implementation of the 'ResourceSlim' model. Contains information about resources, such as rooms.
properties:
Id:
type: integer
format: int32
description: The ID of the resource being used for this appointment.
example: 123456
Name:
type: string
description: The name of the resource being used for this appointment.
example: Sunset Yoga Studio
TypeEnum:
type: string
description: TypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
AssignedClientIndex:
type: object
description: Implementation of the 'AssignedClientIndex' model. Represents a client index value assigned to a client
properties:
Id:
type: integer
format: int32
description: The index ID assigned to the client.
example: 123456
ValueId:
type: integer
format: int32
description: The index’s value ID.
example: 123456
ClientService:
type: object
description: Implementation of the 'ClientService' model. A service that is on a client's account.
properties:
ActiveDate:
type: string
format: date-time
description: The date that this pricing option became active and could be used to pay for services.
example: '2026-05-28T14:30:00Z'
Count:
type: integer
format: int32
description: The number of service sessions this pricing option contained when first purchased.
example: 10
Current:
type: boolean
description: When `true`, there are service sessions remaining on the pricing option that can be used pay for the current session.
When `false`, the client cannot use this pricing option to pay for other services.
example: true
ExpirationDate:
type: string
format: date-time
description: The date when the pricing option expires and can no longer be used to pay for services, even if unused service sessions remain on the option; expressed as UTC.
example: '2026-05-28T14:30:00Z'
Id:
type: integer
format: int32
description: The unique ID assigned to this pricing option, specific to when it was purchased by the client.
example: 123456
ProductId:
type: integer
format: int32
description: The unique ID of this pricing option, not specific to any client's purchase of it.
example: 123456
Name:
type: string
description: The name of this pricing option.
example: Sunset Yoga Studio
PaymentDate:
type: string
format: date-time
description: The date on which the client paid for this pricing option.
example: '2026-05-28T14:30:00Z'
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the service category this service falls under.
Remaining:
type: integer
format: int32
description: The number of service sessions remaining in the pricing option that can still be used.
example: 1
SiteId:
type: integer
format: int32
description: The ID of the subscriber site associated with this pricing option.
example: -99
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
ClientID:
type: string
description: The Client ID assigned to this pricing option, specific to when it was purchased by the client.
example: example-value
Returned:
type: boolean
description: Identification for purchased service is returned or not.
example: true
AppointmentGenderPreferenceEnum:
type: string
description: AppointmentGenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
Class:
type: object
description: Implementation of the 'Class' model. Represents a single class instance. The class meets at the start time, goes until the end time.
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’s 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.
AppointmentStatusEnum:
type: string
description: AppointmentStatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
Appointment:
type: object
description: Implementation of the 'Appointment' model. Contains information about an appointment.
properties:
GenderPreference:
$ref: '#/components/schemas/GenderPreferenceEnum'
description: 'The prefered gender of the appointment provider. Possible values are: * None * Female * Male'
Duration:
type: integer
format: int32
description: The duration of the appointment.
example: 1
ProviderId:
type: string
description: If a user has Complementary and Alternative Medicine features enabled, this property indicates the provider assigned to the appointment.
example: example-value
Id:
type: integer
format: int32
description: The unique ID of the appointment.
example: 123456
Status:
$ref: '#/components/schemas/StatusEnum'
description: 'The status of this appointment. Possible values are: * None * Requested * Booked * Completed * Confirmed * Arrived * NoShow * Cancelled * LateCancelled'
StartDateTime:
type: string
format: date-time
description: The date and time the appointment is to start.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the appointment is to end.
example: '2026-05-28T14:30:00Z'
Notes:
type: string
description: Any notes associated with the appointment.
example: Example note for Mindbody Public API.
PartnerExternalId:
type: string
description: Optional external key for api partners.
example: example-value
StaffRequested:
type: boolean
description: When `true`, indicates that the staff member was requested specifically by the client.
example: true
ProgramId:
type: integer
format: int32
description: The ID of the program to which this appointment belongs.
example: 123456
SessionTypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
LocationId:
type: integer
format: int32
description: The ID of the location where this appointment is to take place.
example: 123456
StaffId:
type: integer
format: int32
description: The ID of the staff member providing the service for this appointment.
example: 123456
Staff:
$ref: '#/components/schemas/AppointmentStaff'
description: Staff for the appointment
ClientId:
type: string
description: The RSSID of the client who is booked for this appointment.
example: example-value
FirstAppointment:
type: boolean
description: When `true`, indicates that this is the client’s first appointment at this site.
example: true
IsWaitlist:
type: boolean
description: 'When `true`, indicates that the client should be added to a specific appointment waiting list. When `false`, the client should not be added to the waiting list. Default: *false*'
example: true
WaitlistEntryId:
type: integer
format: int32
description: The unique ID of the appointment waitlist.
example: 123456
ClientServiceId:
type: integer
format: int32
description: The ID of the pass on the client’s account that is to pay for this appointment.
example: 123456
Resources:
type: array
items:
$ref: '#/components/schemas/ResourceSlim'
description: The resources this appointment is to use.
example:
- {}
AddOns:
type: array
items:
$ref: '#/components/schemas/AddOnSmall'
description: Any AddOns associated with the appointment
example:
- {}
OnlineDescription:
type: string
description: Online Description associated with the appointment
example: Example note for Mindbody Public API.
ProspectStage:
type: object
description: Implementation of the 'ProspectStage' model.
properties:
Active:
type: boolean
description: When `true`, indicates that the client is a prospect at the business and has not yet purchased any of the business pricing options. When `false`, indicates that the client has already purchased at least one pricing option from the business.
example: true
Description:
type: string
description: A description of the prospect stage.
example: Example note for Mindbody Public API.
Id:
type: integer
format: int32
description: The ID of the prospect stage assigned to the client.
example: 123456
ClassDescription:
type: object
description: Implementation of the 'ClassDescription' model. Represents a class definition. The class meets at the start time, goes until the end time.
properties:
Active:
type: boolean
description: When `true`, indicates that the business can assign this class description to new class schedules.
When `false`, indicates that the business cannot assign this class description to new class schedules.
example: true
Description:
type: string
description: The long version of the class description.
example: Example note for Mindbody Public API.
Id:
type: integer
format: int32
description: The class description's ID.
example: 123456
ImageURL:
type: string
description: The class description's image URL, if any. If it does not exist, nothing is returned.
example: example-value
LastUpdated:
type: string
format: date-time
description: The date this class description was last modified.
example: '2026-05-28T14:30:00Z'
Level:
$ref: '#/components/schemas/Level'
description: The level information about this class.
Name:
type: string
description: The name of this class description.
example: Sunset Yoga Studio
Notes:
type: string
description: Any notes about the class description.
example: Example note for Mindbody Public API.
Prereq:
type: string
description: Any prerequisites for the class.
example: example-value
Program:
$ref: '#/components/schemas/Program'
description: Contains information about the class description's program.
SessionType:
$ref: '#/components/schemas/SessionType'
description: Contains information about the class description's session type.
Category:
type: string
description: The category of this class description.
example: example-value
CategoryId:
type: integer
format: int32
description: The category ID of this class description.
example: 123456
Subcategory:
type: string
description: The subcategory of this class description.
example: example-value
SubcategoryId:
type: integer
format: int32
description: The subcategory ID of this class description.
example: 123456
BookingStatusEnum:
type: string
description: BookingStatusEnum enumeration.
enum:
- PaymentRequired
- BookAndPayLater
- Free
Visit:
type: object
description: Implementation of the 'Visit' model. Represents a specific visit to a class
properties:
AppointmentId:
type: integer
format: int32
description: The appointment’s ID.
example: 123456
AppointmentGenderPreference:
$ref: '#/components/schemas/AppointmentGenderPreferenceEnum'
description: 'The gender of staff member with whom the client prefers to book appointments. Possible values are: * Female - Indicates that the client prefers to book appointments with female staff members. * Male - Indicates that the client prefers to book appointments with male staff members. * None - Indicates that the client does not have a staff member gender preference.'
AppointmentStatus:
$ref: '#/components/schemas/AppointmentStatusEnum'
description: The status of the appointment.
ClassId:
type: integer
format: int32
description: The class ID that was used to retrieve the visits.
example: 123456
ClientId:
type: string
description: The ID of the client associated with the visit.
example: example-value
ClientPhotoUrl:
type: string
description: PhotoUrl for the client
example: https://example.mindbodyonline.com/resource/abc123
ClientUniqueId:
type: integer
format: int32
description: The unique ID of the client associated with the visit.
example: 123456
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 date and time the visit ends. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.
example: '2026-05-28T14:30:00Z'
Id:
type: integer
format: int32
description: The ID of the visit.
example: 123456
LastModifiedDateTime:
type: string
format: date-time
description: When included in the request, only records modified on or after the specified `LastModifiedDate` are included in the response. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.
example: '2026-05-28T14:30:00Z'
LateCancelled:
type: boolean
description: When `true`, indicates that the class has been `LateCancelled`.
When `false`, indicates that the class has not been `LateCancelled`.
example: true
SiteId:
type: integer
format: int32
description: The ID of the business where the visit is booked.
example: -99
LocationId:
type: integer
format: int32
description: The ID of the location where the visit took place or is to take place.
example: 123456
MakeUp:
type: boolean
description: 'When `true`, the client can make up this session and a session is not deducted from the pricing option that was used to sign the client into the enrollment. When the client has the make-up session, a session is automatically removed from a pricing option that matches the service category of the enrollment and is within the same date range of the missed session.
When `false`, the client cannot make up this session. See [Enrollments: Make-ups](https://support.mindbodyonline.com/s/article/203'
example: true
Name:
type: string
description: The name of the class.
example: Sunset Yoga Studio
ServiceId:
type: integer
format: int32
description: The unique ID assigned to this pricing option when it was purchased by the client.
example: 123456
ServiceName:
type: string
description: The name of the pricing option at the site where it was purchased.
example: example-value
Service:
$ref: '#/components/schemas/ClientService'
description: The details of the pricing option at the site where it was purchased.
ProductId:
type: integer
format: int32
description: The ID of the pricing option at the site where it was purchased.
example: 123456
SignedIn:
type: boolean
description: When `true`, indicates that the client has been signed in.
When `false`, indicates that the client has not been signed in.
example: true
StaffId:
type: integer
format: int32
description: The ID of the staff member who is teaching the class.
example: 123456
WebSignup:
type: boolean
description: When `true`, indicates that the client signed up online.
When `false`, indicates that the client was signed up by a staff member.
example: true
Action:
$ref: '#/components/schemas/Action1Enum'
description: The action taken.
Missed:
type: boolean
description: When `true`, indicates that the class has been `Missed`.
When `false`, indicates that the class has not been `Missed`.
example: true
VisitType:
type: integer
format: int32
description: Indicates the Id of visit type.
example: 1
TypeGroup:
type: integer
format: int32
description: Indicates the Id of type group.
example: 1
TypeTaken:
type: string
description: Indicates the service type taken.
example: example-value
AppointmentGenderPreference1Enum:
type: string
description: AppointmentGenderPreference1Enum enumeration.
enum:
- None
- Female
- Male
ClientCreditCard:
type: object
description: Implementation of the 'ClientCreditCard' model. A client credit card.
properties:
Address:
type: string
description: The billing address for the credit card.
example: 123 Market St
CardHolder:
type: string
description: The name of the card holder.
example: example-value
CardNumber:
type: string
description: The credit card number.
example: example-value
CardType:
type: string
description: The type of credit card, for example Visa or MasterCard.
example: example-value
City:
type: string
description: The city in which the billing address is located.
example: San Francisco
ExpMonth:
type: string
description: The month in which the credit card expires.
example: example-value
ExpYear:
type: string
description: The year in which the credit card expires.
example: example-value
LastFour:
type: string
description: The last four digits of the credit card number.
example: example-value
PostalCode:
type: string
description: The postal code where the billing address is located.
example: '94110'
State:
type: string
description: The state that the billing address is located in.
example: CA
AddClassEnrollmentScheduleRequest:
type: object
description: Implementation of the 'AddClassEnrollmentScheduleRequest' model.
properties:
ClassDescriptionId:
type: integer
format: int32
description: The Id of the class/enrollment description. This can be found in GetClassDescriptions.
example: 123456
LocationId:
type: integer
format: int32
description: The Location Id of the enrollment schedule.
example: 123456
StartDate:
type: string
format: date-time
description: The start date of the enrollment schedule.
example: '2026-05-28T14:30:00Z'
EndDate:
type: string
format: date-time
description: The end date of the enrollment schedule.
example: '2026-05-28T14:30:00Z'
StartTime:
type: string
format: date-time
description: Enrollment start time (use null or omit for TBD).
example: '2026-05-28T14:30:00Z'
EndTime:
type: string
format: date-time
description: Enrollment end time (ignored if StartTime is null or omitted).
example: '2026-05-28T14:30:00Z'
DaySunday:
type: boolean
description: If the enrollment occurs on Sunday(s).
example: true
DayMonday:
type: boolean
description: If the enrollment occurs on Monday(s).
example: true
DayTuesday:
type: boolean
description: If the enrollment occurs on Tuesday(s).
example: true
DayWednesday:
type: boolean
description: If the enrollment occurs on Wednesday(s).
example: true
DayThursday:
type: boolean
description: If the enrollment occurs on Thursday(s).
example: true
DayFriday:
type: boolean
description: If the enrollment occurs on Friday(s).
example: true
DaySaturday:
type: boolean
description: If the enrollment occurs on Saturday(s).
example: true
StaffId:
type: integer
format: int32
description: The staff member teaching the enrollment.
example: 123456
StaffPayRate:
type: integer
format: int32
description: The staff pay rate. Must be between 1-21.
example: 1
ResourceId:
type: integer
format: int32
description: The room where the enrollment is taking place.
example: 123456
MaxCapacity:
type: integer
format: int32
description: How many people can attend.
example: 1
WebCapacity:
type: integer
format: int32
description: 'How many people can signup online. Default: **0**'
example: 1
WaitlistCapacity:
type: integer
format: int32
description: How many people can waitlist. Default:**0**
example: 1
BookingStatus:
type: string
description: 'One of: PaymentRequired, BookAndPayLater, Free'
example: Active
AllowOpenEnrollment:
type: boolean
description: 'Allow clients to choose which sessions they’d like to sign up for. Default: **false**'
example: true
AllowDateForwardEnrollment:
type: boolean
description: 'Allow booking after the enrollment has started. Default: **false**'
example: true
PricingOptionsProductIds:
type: array
items:
type: integer
format: int32
description: Pricing Options for this schedule
example:
- 1
ShowToPublic:
type: boolean
description: 'Allow clients to see this schedule Default: **true**'
example: true
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: API-Key
description: Mindbody-issued API key (server-to-server). Required on every request.
OAuth2:
type: oauth2
description: OpenID Connect bearer token issued by Mindbody Identity Service (signin.mindbodyonline.com). Required for endpoints that act on behalf of a staff or client user.
flows:
authorizationCode:
authorizationUrl: https://signin.mindbodyonline.com/connect/authorize
tokenUrl: https://signin.mindbodyonline.com/connect/token
scopes:
openid: OpenID Connect base scope.
profile: User profile claims.
email: User email claim.
offline_access: Issue a refresh token.
Mindbody.Api.Public.v6: Access the Mindbody Public API v6 on behalf of the user.