openapi: 3.0.3 info: title: Mindbody Public API v6 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 tags: - name: Appointment description: Appointment operations. - name: Class description: Class operations. - name: Client description: Client operations. - name: Cross Site description: Cross Site operations. - name: Enrollment description: Enrollment operations. - name: Payroll description: Payroll operations. - name: Pick A Spot description: Pick A Spot operations. - name: Sale description: Sale operations. - name: Site description: Site operations. - name: Staff description: Staff operations. - name: User Token description: User Token operations. paths: /public/v6/appointment/activesessiontimes: get: tags: - Appointment summary: Mindbody This is Not Appointment Availability but Rather the Active Business description: This is not appointment availability but rather the active business hours for studios and which increments services can be booked at. See BookableItems for appointment availability. operationId: getActiveSessionTimes 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.endTime in: query required: false description: 'Filters results to times that end on or before this time on the current date. Any date provided is ignored..
Default: **23:59:59**' 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.scheduleType in: query required: false description: Filters on the provided the schedule type. Either `SessionTypeIds` or `ScheduleType` must be provided. schema: $ref: '#/components/schemas/RequestScheduleTypeEnum' example: {} - name: request.sessionTypeIds in: query required: false description: Filters on the provided session type IDs. Either `SessionTypeIds` or `ScheduleType` must be provided. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startTime in: query required: false description: 'Filters results to times that start on or after this time on the current date. Any date provided is ignored.
Default: **00:00:00**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetActiveSessionTimesResponse' examples: Getactivesessiontimes200Example: summary: Default getActiveSessionTimes 200 example x-microcks-default: true value: PaginationResponse: {} ActiveSessionTimes: &id043 - example-value '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/appointment/addons: get: tags: - Appointment summary: Mindbody Get Active Appointment Add-ons description: Get active appointment add-ons. operationId: getAddOns 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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.staffId in: query required: false description: Filter to add-ons only performed by this staff member. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetAddOnsResponse' examples: Getaddons200Example: summary: Default getAddOns 200 example x-microcks-default: true value: PaginationResponse: {} AddOns: &id044 - {} '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/appointment/appointmentoptions: get: tags: - Appointment summary: Mindbody This Endpoint Has No Query Parameters description: This endpoint has no query parameters. operationId: getAppointmentOptions 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetAppointmentOptionsResponse' examples: Getappointmentoptions200Example: summary: Default getAppointmentOptions 200 example x-microcks-default: true value: Options: &id046 - {} '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/appointment/availabledates: get: tags: - Appointment summary: Mindbody Returns a List of Dates to Narrow Down Staff Availability When description: Returns a list of dates to narrow down staff availability when booking. Dates are those which staff are scheduled to work and do not guarantee booking availabilities. After this call is made, use GET BookableItems to retrieve availabilities for specific dates before booking. operationId: getAvailableDates parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.sessionTypeId in: query required: true description: required requested session type ID. schema: type: integer format: int32 example: 123456 - 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.endDate in: query required: false description: 'The end date of the requested date range.
Default: **StartDate**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.locationId in: query required: false description: optional requested location ID. schema: type: integer format: int32 example: 123456 - name: request.staffId in: query required: false description: optional requested staff ID. schema: type: integer format: int32 example: 123456 - name: request.startDate in: query required: false description: "The start date of the requested date range. If omitted, the default is used.
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/GetAvailableDatesResponse' examples: Getavailabledates200Example: summary: Default getAvailableDates 200 example x-microcks-default: true value: AvailableDates: &id047 - '2026-05-28T14:30:00Z' '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/appointment/bookableitems: get: tags: - Appointment summary: Mindbody Returns a List of Availabilities with the Information Needed to Book description: 'Returns a list of availabilities with the information needed to book appointments. Availabilities include information such as the location and its amenities, staff members, programs, and session types. Recommended to use with GET AvailableDates to see what dates the staff is scheduled to work and narrow down the dates searched. Recommended to use with GET ActiveSessionTimes to see which increments each business allows for booking appointments. Notes: - With a wider range of dates, this call may take longer to return results. - With a higher number of request.sessionTypeIds, this call may take longer to return results.' operationId: getBookableItems parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.sessionTypeIds in: query required: true description: A list of the requested session type IDs. schema: type: array items: type: integer format: int32 example: - 1 - 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.appointmentId in: query required: false description: If provided, filters out the appointment with this ID. schema: type: integer format: int32 example: 123456 - name: request.endDate in: query required: false description: 'The end date of the requested date range.
Default: **StartDate**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.ignoreDefaultSessionLength in: query required: false description: When `true`, availabilities that are non-default return, for example, a 30-minute availability with a 60-minute default session length.
When `false`, only availabilities that have the default session length return. schema: type: boolean example: true - name: request.includeResourceAvailability in: query required: false description: When `true`, resource availabilities for the session type are returned.
When `false`, resource availabilities are not returned default. schema: type: boolean example: true - 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: A list of the requested location IDs. 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.staffIds in: query required: false description: A list of the requested staff IDs. Omit parameter to return all staff availabilities. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: "The start date of the requested date range.
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/GetBookableItemsResponse' examples: Getbookableitems200Example: summary: Default getBookableItems 200 example x-microcks-default: true value: PaginationResponse: {} Availabilities: &id048 - {} '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/appointment/scheduleitems: get: tags: - Appointment summary: Mindbody Returns a List of Schedule Items, Including Appointments, description: Returns a list of schedule items, including appointments, availabilities, and unavailabilities. Unavailabilities are the times at which appointments cannot be booked, for example, on holidays or after hours when the business is closed. operationId: getScheduleItems 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.endDate in: query required: false description: "The end date of the requested date range.
Default: **today’s date**" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.ignorePrepFinishTimes in: query required: false description: 'When `true`, appointment preparation and finish unavailabilities are not returned.
Default: **false**' schema: type: boolean example: true - 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: A list of requested location IDs. 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.staffIds in: query required: false description: A list of requested staff IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: "The start date of the requested date range.
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/GetScheduleItemsResponse' examples: Getscheduleitems200Example: summary: Default getScheduleItems 200 example x-microcks-default: true value: PaginationResponse: {} StaffMembers: &id094 - {} '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/appointment/staffappointments: get: tags: - Appointment summary: Mindbody Returns a List of Appointments by Staff Member description: Returns a list of appointments by staff member. operationId: getStaffAppointments 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.appointmentIds in: query required: false description: A list of the requested appointment IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.clientId in: query required: false description: The client ID to be returned. schema: type: string example: example-value - name: request.endDate in: query required: false description: 'The end date of the requested date range.
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: A list of the requested location IDs. 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.staffIds in: query required: false description: List of staff IDs to be returned. Omit parameter to return staff appointments for all staff. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: 'The start date of the requested date range. If omitted, the default is used.
Default: **today''s date**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.useSiteSettingsStaffName in: query required: false description: When `true`, the staff DisplayName will be populated based on site-level settings. When `false` or omitted, the staff DisplayName will contain only the FirstName. schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetStaffAppointmentsResponse' examples: Getstaffappointments200Example: summary: Default getStaffAppointments 200 example x-microcks-default: true value: PaginationResponse: {} Appointments: &id100 - {} '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/appointment/unavailabilities: get: tags: - Appointment summary: Mindbody Returns a List of Unavailabilities. Unavailabilities Are the Times at description: Returns a list of unavailabilities. Unavailabilities are the times at which appointments cannot be booked, for example, on holidays or after hours when the business is closed. operationId: getUnavailabilities 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.endDate in: query required: false description: "The end date of the requested date range.
Default: **today’s date**" 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.staffIds in: query required: false description: A list of requested staff IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: "The start date of the requested date range.
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/GetUnavailabilitiesResponse' examples: Getunavailabilities200Example: summary: Default getUnavailabilities 200 example x-microcks-default: true value: PaginationResponse: {} Unavailabilities: &id106 - {} '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/appointment/addappointment: post: tags: - Appointment summary: Mindbody A User Token is Required for This Endpoint. to Book an Appointment, description: 'A user token is required for this endpoint. To book an appointment, you must use a location ID, staff ID, client ID, session type ID, and the StartDateTime of the appointment. You can get most of this information using GET BookableItems. Note: Request deduplication is enabled for this endpoint. More information can be found in the [Request Deduplication Page](https://developers.mindbodyonline.com/ui/documentation/public-api #/net-standard-library/mindbody-public-api-v6-0/request-deduplication). Use the `X-RequestDeduplication-Skip` header to bypass deduplication if necessary. This may be useful in scenarios where you want to ensure a new appointment is created regardless of previous identical requests.' operationId: addAppointment 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/AddAppointmentRequest' examples: AddappointmentRequestExample: summary: Default addAppointment request example x-microcks-default: true value: ClientId: example-value LocationId: 123456 SessionTypeId: 123456 StaffId: 123456 StartDateTime: '2026-05-28T14:30:00Z' ApplyPayment: true Duration: 1 EndDateTime: '2026-05-28T14:30:00Z' GenderPreference: example-value Notes: Example note for Mindbody Public API. ProviderId: example-value ResourceIds: &id012 - 1 SendEmail: true StaffRequested: true Test: true IsWaitlist: true IsRequest: true PartnerExternalId: example-value AddAppointmentRequestId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddAppointmentResponse' examples: Addappointment200Example: summary: Default addAppointment 200 example x-microcks-default: true value: Appointment: {} '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/appointment/addappointmentaddon: post: tags: - Appointment summary: Mindbody This Endpoint Books an Add-on on Top of an Existing, Regular description: This endpoint books an add-on on top of an existing, regular appointment. To book an add-on, you must use an existing appointment ID and session type ID. You can get a session type ID using `GET AppointmentAddOns`. operationId: addAppointmentAddOn 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/AddAppointmentAddOnRequest' examples: AddappointmentaddonRequestExample: summary: Default addAppointmentAddOn request example x-microcks-default: true value: ApplyPayment: true AppointmentId: 123456 SessionTypeId: 123456 StaffId: 123456 Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddAppointmentAddOnResponse' examples: Addappointmentaddon200Example: summary: Default addAppointmentAddOn 200 example x-microcks-default: true value: AppointmentId: 123456 AddOnAppointmentId: 123456 '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/appointment/addmultipleappointments: post: tags: - Appointment summary: Mindbody A User Token is Required for This Endpoint. to Book Appointments, You description: A user token is required for this endpoint. To book appointments, you must provide a location ID, staff ID, client ID, session type ID, and the StartDateTime for each appointment. You can retrieve most of this information using the GET BookableItems endpoint. This endpoint will handle errors that occur during the appointment creation process and return a list of errors, as well as the request object that generated each outcome. You can pass the AddAppointmentRequestId for each request, or it will be automatically filled. This is intended to facilitate matching each request with the corresponding outcome. This endpoint will send one notification when multiple Appointments are booked by one Client on a given day. operationId: addMultipleAppointments 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/AddMultipleAppointmentsRequest' examples: AddmultipleappointmentsRequestExample: summary: Default addMultipleAppointments request example x-microcks-default: true value: AddAppointmentRequests: &id025 - {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddMultipleAppointmentsResponse' examples: Addmultipleappointments200Example: summary: Default addMultipleAppointments 200 example x-microcks-default: true value: AddAppointmentOutcomes: &id026 - {} '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/appointment/availabilities: put: tags: - Appointment summary: Mindbody To Update the Information for a Specific Availability or description: 'To update the information for a specific availability or unavailability of the staff.
Note: You must have a staff user token with the required permissions.' operationId: updateAvailability 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/UpdateAvailabilityRequest' examples: UpdateavailabilityRequestExample: summary: Default updateAvailability request example x-microcks-default: true value: AvailabilityIds: &id120 - 1 PublicDisplay: {} DaysOfWeek: &id121 - {} ProgramIds: &id122 - 1 StartDateTime: '2026-05-28T14:30:00Z' EndDateTime: '2026-05-28T14:30:00Z' LocationId: 123456 UnavailableDescription: Example note for Mindbody Public API. Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateAvailabilityResponse' examples: Updateavailability200Example: summary: Default updateAvailability 200 example x-microcks-default: true value: StaffMembers: &id123 - {} Errors: &id124 - {} '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: [] post: tags: - Appointment summary: Mindbody Add Availabilities and Unavailabilities for a Staff Member.
description: 'Add availabilities and unavailabilities for a staff member.
Note: You must have a staff user token with the required permissions.' operationId: addAvailabilities 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/AddAvailabilitiesRequest' examples: AddavailabilitiesRequestExample: summary: Default addAvailabilities request example x-microcks-default: true value: Test: true LocationID: 1 StaffIDs: &id013 - 1 ProgramIDs: &id014 - 1 StartDateTime: '2026-05-28T14:30:00Z' EndDateTime: '2026-05-28T14:30:00Z' DaysOfWeek: &id015 - {} UnavailableDescription: Example note for Mindbody Public API. IsUnavailable: true PublicDisplay: {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddAvailabilitiesResponse' examples: Addavailabilities200Example: summary: Default addAvailabilities 200 example x-microcks-default: true value: StaffMembers: &id016 - {} Errors: &id017 - {} '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/appointment/updateappointment: post: tags: - Appointment summary: Mindbody To Update the Information for a Specific Appointment, You Must Have a description: "To update the information for a specific appointment, you must have a staff user token with the proper permissions. Note that you can only update the appointment’s `StartDateTime`, `EndDateTime`, `StaffId`, `Notes`, and `SessionTypeId`." operationId: updateAppointment 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/UpdateAppointmentRequest' examples: UpdateappointmentRequestExample: summary: Default updateAppointment request example x-microcks-default: true value: AppointmentId: 123456 EndDateTime: '2026-05-28T14:30:00Z' Execute: example-value GenderPreference: example-value Notes: Example note for Mindbody Public API. PartnerExternalId: example-value ProviderId: example-value ResourceIds: &id119 - 1 SendEmail: true SessionTypeId: 123456 StaffId: 123456 StartDateTime: '2026-05-28T14:30:00Z' ApplyPayment: true Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateAppointmentResponse' examples: Updateappointment200Example: summary: Default updateAppointment 200 example x-microcks-default: true value: Appointment: {} '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/appointment/appointmentfromwaitlist: delete: tags: - Appointment summary: Mindbody Remove an Appointment from Waitlist description: Remove an appointment from waitlist operationId: removeFromWaitlist parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.waitlistEntryIds in: query required: true description: A list of `WaitlistEntryIds` to remove from the waiting list. schema: type: array items: type: integer format: int32 example: - 1 - 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 responses: '200': description: OK '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/appointment/availability: delete: tags: - Appointment summary: Mindbody This Endpoint Deletes the Availability or Unavailability description: 'This endpoint deletes the availability or unavailability. Note: You must have a staff user token with the required permissions.' operationId: deleteAvailability 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: deleteAvailabilityRequest.availabilityId in: query required: false description: The ID of the availability or unavailability. schema: type: integer format: int32 example: 123456 - name: deleteAvailabilityRequest.test in: query required: false description: "When `true`, indicates that this is a test request and no data is deleted from the subscriber’s database. When `false`, the record will be deleted. Default: **false**" schema: type: boolean example: true responses: '200': description: OK '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/appointment/deleteappointmentaddon: delete: tags: - Appointment summary: Mindbody This Endpoint Can Be Used to Early-cancel a Booked Appointment Add-on description: This endpoint can be used to early-cancel a booked appointment add-on. operationId: deleteAppointmentAddOn parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: id in: query required: true description: The request query parameter. schema: type: integer format: int32 example: 1 - 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 responses: '200': description: OK '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/class/classdescriptions: get: tags: - Class summary: Mindbody To Find Class Descriptions Associated with **scheduled Classes**, Pass description: To find class descriptions associated with **scheduled classes**, pass `StaffId`, `StartClassDateTime`, `EndClassDateTime`, or `LocationId` in the request. operationId: getClassDescriptions 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.classDescriptionId in: query required: false description: The ID of the requested client. schema: type: integer format: int32 example: 123456 - name: request.endClassDateTime in: query required: false description: Filters the results to class descriptions for scheduled classes that happen before the given date and time. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.includeInactive in: query required: false description: Includes inactive class descriptions, defaulting to true. When set to false, it filters out inactive class descriptions. schema: type: boolean example: true - 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.locationId in: query required: false description: Filters results to classes descriptions for schedule classes as the given location. schema: type: integer format: int32 example: 123456 - 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: A list of requested program IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.staffId in: query required: false description: Filters results to class descriptions for scheduled classes taught by the given staff member. schema: type: integer format: int32 example: 123456 - name: request.startClassDateTime in: query required: false description: Filters the results to class descriptions for scheduled classes that happen on or after the given date and time. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClassDescriptionsResponse' examples: Getclassdescriptions200Example: summary: Default getClassDescriptions 200 example x-microcks-default: true value: PaginationResponse: {} ClassDescriptions: &id050 - {} '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/class/classes: get: tags: - Class summary: Mindbody Get Scheduled Classes description: Get scheduled classes. operationId: getClasses 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.classDescriptionIds in: query required: false description: The requested class description IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.classIds in: query required: false description: The requested class IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.classScheduleIds in: query required: false description: The requested classSchedule Ids. schema: type: array items: type: integer format: int32 example: - 1 - name: request.clientId in: query required: false description: The client ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials. schema: type: string example: example-value - name: request.endDateTime in: query required: false description: "The requested end date for filtering. NOTE: ClassDate does not take Class Time into consideration.
Default: **today’s date**" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.hideCanceledClasses in: query required: false description: 'When `true`, canceled classes are removed from the response.
When `false`, canceled classes are included in the response.
Default: **false**' schema: type: boolean example: true - name: request.lastModifiedDate in: query required: false description: When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response. 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: A list of location IDs on which to base the search. 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: A list of program IDs on which to base the search. schema: type: array items: type: integer format: int32 example: - 1 - name: request.schedulingWindow in: query required: false description: 'When `true`, classes outside scheduling window are removed from the response.
When `false`, classes are included in the response, regardless of the scheduling window.
Default: **false**' schema: type: boolean example: true - name: request.semesterIds in: query required: false description: A list of semester IDs on which to base the search. schema: type: array items: type: integer format: int32 example: - 1 - name: request.sessionTypeIds in: query required: false description: A list of session type IDs on which to base the search. schema: type: array items: type: integer format: int32 example: - 1 - name: request.staffIds in: query required: false description: The requested IDs of the teaching staff members. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDateTime in: query required: false description: "The requested start date for filtering. This also determines what you will see for the ‘BookingWindow’ StartDateTime in the response. For example, if you pass a StartDateTime that is on OR before the BookingWindow ‘Open’ days of the class, you will retrieve the actual ‘StartDateTime’ for the Booking Window. If you pass a StartDateTime that is after the BookingWindow ‘date’, then you will receive results based on that start date. NOTE: ClassDate does not take Class Time into consideration." schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: 'The unique ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClassesResponse' examples: Getclasses200Example: summary: Default getClasses 200 example x-microcks-default: true value: PaginationResponse: {} Classes: &id052 - {} '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/class/classschedules: get: tags: - Class summary: Mindbody Get Class Schedules description: Get class schedules. operationId: getClassSchedules 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: 'The class schedule IDs.
Default: **all**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.endDate in: query required: false description: 'The end date of the range. Return 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: 'The location IDs.
Default: **all**' 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: 'The program IDs.
Default: **all**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.sessionTypeIds in: query required: false description: 'The session type IDs.
Default: **all**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.staffIds in: query required: false description: 'The staff IDs.
Default: **all**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: "The start date of the range. Return 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/GetClassSchedulesResponse' examples: Getclassschedules200Example: summary: Default getClassSchedules 200 example x-microcks-default: true value: PaginationResponse: {} ClassSchedules: &id051 - {} '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/class/classvisits: get: tags: - Class summary: Mindbody Returns a List of Visits That Contain Information for a Specified description: Returns a list of visits that contain information for a specified class. On success, this request returns the class object in the response with a list of visits. operationId: getClassVisits parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.classID in: query required: true description: The class ID. schema: type: integer format: int32 example: 1 - 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.lastModifiedDate in: query required: false description: When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.useSiteSettingsStaffName in: query required: false description: When `true`, the staff DisplayName will be populated based on site-level settings. When `false` or omitted, the staff DisplayName will contain only the FirstName. schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClassVisitsResponse' examples: Getclassvisits200Example: summary: Default getClassVisits 200 example x-microcks-default: true value: Class: {} '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/class/courses: get: tags: - Class summary: Mindbody This Endpoint Will Provide All the Data Related to Courses Depending description: 'This endpoint will provide all the data related to courses depending on the access level.
Note: The Authorization is an optional header.If Authorization header is not passed, the response will be masked else full response will be provided.' operationId: getCourses 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: getCoursesRequest.courseIDs in: query required: false description: Return only courses that are available for the specified CourseIds. schema: type: array items: type: integer format: int32 example: - 1 - name: getCoursesRequest.endDate in: query required: false description: The end date range. Any active courses that are on or before this day.
(optional) Defaults to StartDate. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: getCoursesRequest.limit in: query required: false description: Number of results to include, defaults to 100 schema: type: integer format: int32 example: 1 - name: getCoursesRequest.locationIDs in: query required: false description: Return only courses that are available for the specified LocationIds. schema: type: array items: type: integer format: int32 example: - 1 - name: getCoursesRequest.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: getCoursesRequest.programIDs in: query required: false description: Return only courses that are available for the specified ProgramIds. schema: type: array items: type: integer format: int32 example: - 1 - name: getCoursesRequest.semesterIDs in: query required: false description: Return only courses that are available for the specified SemesterIds. schema: type: array items: type: integer format: int32 example: - 1 - name: getCoursesRequest.staffIDs in: query required: false description: Return only courses that are available for the specified StaffIds. schema: type: array items: type: integer format: int32 example: - 1 - name: getCoursesRequest.startDate in: query required: false description: The start date range. Any active courses that are on or after this day.
(optional) Defaults to today. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetCoursesReponse' examples: Getcourses200Example: summary: Default getCourses 200 example x-microcks-default: true value: PaginationResponse: {} Courses: &id072 - {} '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/class/semesters: get: tags: - Class summary: Mindbody This Endpoint Retrieves the Business Class Semesters description: This endpoint retrieves the business class semesters. operationId: getSemesters 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.active in: query required: false description: 'When true, the response only contains semesters which are activated. When false, only deactivated semesters are returned. Default: **All semesters**' schema: type: boolean example: true - name: request.endDate in: query required: false description: 'The end date for the range. All semesters that are 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.semesterIDs in: query required: false description: The requested semester IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: "The start date for the range. All semesters that are 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/GetSemestersResponse' examples: Getsemesters200Example: summary: Default getSemesters 200 example x-microcks-default: true value: PaginationResponse: {} Semesters: &id096 - {} '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/class/waitlistentries: get: tags: - Class summary: Mindbody Returns a List of Waiting List Entries for a Specified Class Schedule description: Returns a list of waiting list entries for a specified class schedule or class. The request requires staff credentials and either a class schedule ID or class ID. operationId: getWaitlistEntries 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.classIds in: query required: false description: 'The requested class IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request.
Either `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.
Default: **all ClassIds**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.classScheduleIds in: query required: false description: 'The requested class schedule IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request.
Either `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.
Default: **all ClassScheduleIds**' schema: type: array items: type: integer format: int32 example: - 1 - name: request.clientIds in: query required: false description: 'The requested client IDs.
Either `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.
Default: **all ClientIds**' schema: type: array items: type: string example: - example-value - name: request.hidePastEntries in: query required: false description: 'When `true`, indicates that past waiting list entries are hidden from clients.
When `false`, indicates that past entries are not hidden from clients.
Default: **false**' schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.waitlistEntryIds in: query required: false description: 'The requested waiting list entry IDs.
Either `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.
Default: **all WaitlistEntryIds**' schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetWaitlistEntriesResponse' examples: Getwaitlistentries200Example: summary: Default getWaitlistEntries 200 example x-microcks-default: true value: PaginationResponse: {} WaitlistEntries: &id107 - {} '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/class/addclassschedule: post: tags: - Class summary: Mindbody This Endpoint Adds a Class Schedule. for a Single Day Schedule, the description: This endpoint adds a class schedule. For a single day schedule, the EndDate parameter can be omitted. operationId: addClassSchedule 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: AddclassscheduleRequestExample: summary: Default addClassSchedule 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: &id005 - 1 ShowToPublic: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WrittenClassSchedulesInfo' examples: Addclassschedule200Example: summary: Default addClassSchedule 200 example x-microcks-default: true value: ClassId: 123456 ClassInstanceIds: &id001 - 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/class/addclienttoclass: post: tags: - Class summary: Mindbody This Endpoint Adds a Client to a Class or to a Class Waiting List. to description: "This endpoint adds a client to a class or to a class waiting list. To prevent overbooking a class or booking outside the schedule windows set forth by the business, it is necessary to first check the capacity level of the class (‘MaxCapacity’ and 'TotalBooked’) and the 'IsAvailable’ parameter by running the GetClasses REQUEST. It is helpful to use this endpoint in the following situations: * Use after calling `GET Clients` and `GET Classes` so that you are sure which client to book in which class. * If adding a client to a class from a waiting list, use this call after you call `GET WaitlistEntries` and determine the ID of the waiting list from which you are moving the client. * If adding a client to a class and using a pricing option that the client has already purchased, use this call after you call `GET ClientServices` to determine the ID of the pricing option that the client wants to use. If you add a client to a class and the client purchases a new pricing option, use `GET Services`, `GET Classes`, and then `POST CheckoutShoppingCart` in place of this call. This endpoint also supports cross-regional class bookings. If you want to perform a cross-regional class booking, set `CrossRegionalBooking` to `true`. This endpoint does not support adding a user to a waiting list using a cross-regional client pricing option(service). Cross-regional booking workflows do not support client service scheduling restrictions. When performing a cross-regional class booking, this endpoint loops through the first ten sites that the client is associated with, looks for client pricing options at each of those sites, and then uses the oldest client pricing option found.It is important to note that this endpoint only loops through a maximum of ten associated client sites. If a `ClientID` is associated with more than ten sites in an organization, this endpoint only loops through the first ten.If you know that a client has a client service at another site, you can specify that site using" operationId: addClientToClass 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/AddClientToClassRequest' examples: AddclienttoclassRequestExample: summary: Default addClientToClass request example x-microcks-default: true value: ClientId: example-value ClassId: 123456 Test: true RequirePayment: true Waitlist: true SendEmail: true WaitlistEntryId: 123456 ClientServiceId: 123456 CrossRegionalBooking: true CrossRegionalBookingClientServiceSiteId: 123456 UniqueId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddClientToClassResponse' examples: Addclienttoclass200Example: summary: Default addClientToClass 200 example x-microcks-default: true value: Visit: {} '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/class/cancelsingleclass: post: tags: - Class summary: Mindbody This Endpoint Will Cancel a Single Class from Studio description: This endpoint will cancel a single class from studio. operationId: cancelSingleClass 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/CancelSingleClassRequest' examples: CancelsingleclassRequestExample: summary: Default cancelSingleClass request example x-microcks-default: true value: ClassID: 1 HideCancel: true SendClientEmail: true SendStaffEmail: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CancelSingleClassResponse' examples: Cancelsingleclass200Example: summary: Default cancelSingleClass 200 example x-microcks-default: true value: Class: {} '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/class/removeclientfromclass: post: tags: - Class summary: Mindbody Remove a Client from a Class description: Remove a client from a class. operationId: removeClientFromClass 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/RemoveClientFromClassRequest' examples: RemoveclientfromclassRequestExample: summary: Default removeClientFromClass request example x-microcks-default: true value: ClassId: 123456 ClientId: example-value UniqueClientId: 123456 Test: true SendEmail: true LateCancel: true VisitId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RemoveClientFromClassResponse' examples: Removeclientfromclass200Example: summary: Default removeClientFromClass 200 example x-microcks-default: true value: Class: {} '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/class/removeclientsfromclasses: post: tags: - Class summary: Mindbody This Endpoint Can Be Utilized for Removing Multiple Clients from description: This endpoint can be utilized for removing multiple clients from multiple classes in one request. operationId: removeClientsFromClasses 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/RemoveClientsFromClassesRequest' examples: RemoveclientsfromclassesRequestExample: summary: Default removeClientsFromClasses request example x-microcks-default: true value: Details: &id116 - {} Test: true SendEmail: true LateCancel: true Limit: 10 Offset: 10 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RemoveClientsFromClassesResponse' examples: Removeclientsfromclasses200Example: summary: Default removeClientsFromClasses 200 example x-microcks-default: true value: PaginationResponse: {} Classes: &id117 - {} Errors: &id118 - {} '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/class/removefromwaitlist: post: tags: - Class summary: Mindbody This Endpoint Does Not Return a Response. if a Call to This Endpoint description: This endpoint does not return a response. If a call to this endpoint results in a 200 OK HTTP status code, then the call was successful. operationId: removeFromWaitlist parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.waitlistEntryIds in: query required: true description: A list of `WaitlistEntryIds` to remove from the waiting list. schema: type: array items: type: integer format: int32 example: - 1 - 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 responses: '200': description: OK '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/class/substituteclassteacher: post: tags: - Class summary: Mindbody Substitute a Class Teacher description: Substitute a class teacher. operationId: substituteClassTeacher 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/SubstituteClassTeacherRequest' examples: SubstituteclassteacherRequestExample: summary: Default substituteClassTeacher request example x-microcks-default: true value: ClassId: 123456 StaffId: 123456 OverrideConflicts: true SendClientEmail: true SendOriginalTeacherEmail: true SendSubstituteTeacherEmail: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SubstituteClassTeacherResponse' examples: Substituteclassteacher200Example: summary: Default substituteClassTeacher 200 example x-microcks-default: true value: Class: {} '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/class/updateclassschedule: post: tags: - Class summary: Mindbody This Endpoint Updates a Class Schedule description: This endpoint updates a class schedule. operationId: updateClassSchedule 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: UpdateclassscheduleRequestExample: summary: Default updateClassSchedule 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: Updateclassschedule200Example: summary: Default updateClassSchedule 200 example x-microcks-default: true value: ClassId: 123456 ClassInstanceIds: *id001 '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/class/updateclassschedulenotes/{classScheduleId}: patch: tags: - Class summary: Mindbody This Endpoint Updates the Notes of Class Instances Based on the description: 'This endpoint updates the notes of class instances based on the schedule''s schedule ID. Note: Every coming class instance for the given ScheduleID will have the notes updated the same way.' operationId: updateClassScheduleNotes parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: classScheduleId in: path required: true description: The request template parameter. schema: type: integer format: int32 example: 123456 - 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/UpdateClassScheduleNotesRequest' examples: UpdateclassschedulenotesRequestExample: summary: Default updateClassScheduleNotes request example x-microcks-default: true value: Notes: Example note for Mindbody Public API. responses: '200': description: OK '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/client/activeclientmemberships: get: tags: - Client summary: Mindbody Please Note That Client Memberships with Location Restrictions Can description: Please note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization. operationId: getActiveClientMemberships parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The ID of the client for whom memberships are returned. 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.clientAssociatedSitesOffset in: query required: false description: "Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` s" schema: type: integer format: int32 example: 10 - name: request.crossRegionalLookup in: query required: false description: "Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the" schema: type: boolean example: true - 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.locationId in: query required: false description: Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.uniqueClientId in: query required: false description: The Unique ID of the client for whom memberships are returned. Note that UniqueClientId takes precedence over ClientId if both are provided. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetActiveClientMembershipsResponse' examples: Getactiveclientmemberships200Example: summary: Default getActiveClientMemberships 200 example x-microcks-default: true value: PaginationResponse: {} ClientMemberships: &id041 - {} '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/client/activeclientsmemberships: get: tags: - Client summary: Mindbody The Endpoint Returns a List of Memberships for Multiple Clients We description: The endpoint returns a list of memberships for multiple clients we pass in query parameter. Please note that clients memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization. operationId: getActiveClientsMemberships parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientIds in: query required: true description: 'The ID of the client for whom memberships are returned. Maximum allowed : 200.' schema: type: array items: 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.clientAssociatedSitesOffset in: query required: false description: "Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` s" schema: type: integer format: int32 example: 10 - name: request.crossRegionalLookup in: query required: false description: "Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the" schema: type: boolean example: true - 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.locationId in: query required: false description: Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetActiveClientsMembershipsResponse' examples: Getactiveclientsmemberships200Example: summary: Default getActiveClientsMemberships 200 example x-microcks-default: true value: PaginationResponse: {} ClientMemberships: &id042 - {} '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/client/clientaccountbalances: get: tags: - Client summary: Mindbody Get Account Balance Information for One or More Client(s) description: Get account balance information for one or more client(s). operationId: getClientAccountBalances parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientIds in: query required: true description: The list of clients IDs for which you want account balances. schema: type: array items: 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.balanceDate in: query required: false description: 'The date you want a balance relative to. Default: **the current date**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.classId in: query required: false description: The class ID of the event for which you want a balance. schema: type: integer format: int32 example: 123456 - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientAccountBalancesResponse' examples: Getclientaccountbalances200Example: summary: Default getClientAccountBalances 200 example x-microcks-default: true value: PaginationResponse: {} Clients: &id053 - {} '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/client/clientcompleteinfo: get: tags: - Client summary: Mindbody This Endpoint Returns Complete Client Information Along with List of description: This endpoint returns complete client information along with list of purchased services, contract details, membership details and arrival programs for a specific client. operationId: getClientCompleteInfo parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: Filters results to client with these ID. 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: consumer-identity-token in: header required: false description: A consumers authorization token to replace the need of clientId in the request. schema: type: string example: example-value - name: request.clientAssociatedSitesOffset in: query required: false description: "Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLooku" schema: type: integer format: int32 example: 10 - name: request.crossRegionalLookup in: query required: false description: Used to retrieve a clients pricing options from multiple sites within an organization.When included and set to `true`, it searches a maximum of ten sites with which this client is associated.When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites th schema: type: boolean example: true - name: request.endDate in: query required: false description: "Filters results to pricing options that are purchased on or before this date. Default: **today’s date**." schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.excludeInactiveSites in: query required: false description: 'When this flag is set to `true`, will exclude inactive sites from the response Default: **false**' schema: type: boolean example: true - name: request.requiredClientData in: query required: false description: Used to retrieve list of purchased services, contract details, membership details and arrival programs for a specific client. Default `ClientServices`, `ClientContracts`, `ClientMemberships` and `ClientArrivals` will be returned when `RequiredClientDatais` not set. When `RequiredClientData` is set to `Contracts` then only `ClientContracts` will be returned in the response. When `RequiredClientData` is set to Services then only `ClientServices` will be returned in the response. When `RequiredClie schema: type: array items: type: string example: - example-value - name: request.showActiveOnly in: query required: false description: 'When `true`, includes active services only. Set this field to `true` when trying to determine if a client has a service that can pay for a class or appointment. Default: **false**' schema: type: boolean example: true - name: request.startDate in: query required: false description: "Filters results to pricing options that are purchased on or after this date. Default: **today’s date**." schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: The unique ID of the client who is viewing this class list. schema: type: integer format: int32 example: 123456 - name: request.useActivateDate in: query required: false description: 'When this flag is set to `true`, the date filtering will use activate date to filter the pricing options. When this flag is set to `false`, the date filtering will use purchase date to filter the pricing options. Default: **false**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientCompleteInfoResponse' examples: Getclientcompleteinfo200Example: summary: Default getClientCompleteInfo 200 example x-microcks-default: true value: Client: {} ClientServices: &id054 - {} ClientContracts: &id055 - {} ClientMemberships: &id056 - {} ClientArrivals: &id057 - {} '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/client/clientcontracts: get: tags: - Client summary: Mindbody Get Contracts That a Client Has Purchased description: Get contracts that a client has purchased. operationId: getClientContracts parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The ID of the client (RssId). 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.clientAssociatedSitesOffset in: query required: false description: "Determines how many sites are skipped over when retrieving a client’s cross regional contracts. Used when a client ID is linked to more than ten sites in an organization. Only a maximum of ten site databases are queried when this call is made and `CrossRegionalLookup` is set to `true`. To change which sites are queried, change this offset value. Default: **0**" schema: type: integer format: int32 example: 10 - name: request.crossRegionalLookup in: query required: false description: "When `true`, indicates that the requesting client’s cross regional contracts are returned, if any.
When `false`, indicates that cross regional contracts are not returned." schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.uniqueClientId in: query required: false description: The unique ID of the requested client. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientContractsResponse' examples: Getclientcontracts200Example: summary: Default getClientContracts 200 example x-microcks-default: true value: PaginationResponse: {} Contracts: &id058 - {} '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/client/clientdirectdebitinfo: get: tags: - Client summary: Mindbody This Endpoint Returns Direct Debit Info Stored on a Client's Account description: "This endpoint returns direct debit info stored on a client's account. This endpoint requires staff user credentials. A null response from this endpoint indicates that the client has no usable direct debit information on their account.Use the POST AddClientDirectDebitInfo endpoint to add direct debit information to a client’s account." operationId: getDirectDebitInfo 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: clientId in: query required: false description: The ID of the client. schema: type: string example: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DirectDebitInfo' examples: Getdirectdebitinfo200Example: summary: Default getDirectDebitInfo 200 example x-microcks-default: true value: NameOnAccount: example-value RoutingNumber: example-value AccountNumber: example-value AccountType: example-value '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: [] delete: tags: - Client summary: "Mindbody This Endpoint Deletes Direct Debit Info from a Client’s Account. This" description: "This endpoint deletes direct debit info from a client’s account. This endpoint requires staff user credentials." operationId: deleteDirectDebitInfo 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: clientId in: query required: false description: The ID of the client. schema: type: string example: example-value responses: '200': description: OK '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/client/clientduplicates: get: tags: - Client summary: Mindbody This Endpoint Gets Client Records That Would Be Considered Duplicates description: This endpoint gets client records that would be considered duplicates based on case-insensitive matching of the client's first name, last name, and email. For there to be results, all three parameters must match a client record. This endpoint requires staff user credentials. An empty `ClientDuplicates` object in the response from this endpoint indicates that there were no client records found that match the first name, last name, and email fields passed in. If one client record is returned, it is not a duplicate itself, but no other client record can be created or updated that would match this client's first name, last name, and email combination. If more than one client record is returned, these clients are duplicates of each other.We recommend discussing with the business how they would like to resolve duplicate records in the event the response contains more than one client record.Businesses can use the Merge Duplicate Clients tool in the Core Business Mode software to resolve the duplicate client records. operationId: getClientDuplicates 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.email in: query required: false description: The client email to match on when searching for duplicates. schema: type: string example: kinlane@example.com - name: request.firstName in: query required: false description: The client first name to match on when searching for duplicates. schema: type: string example: example-value - name: request.lastName in: query required: false description: The client last name to match on when searching for duplicates. schema: type: string example: example-value - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientDuplicatesResponse' examples: Getclientduplicates200Example: summary: Default getClientDuplicates 200 example x-microcks-default: true value: PaginationResponse: {} ClientDuplicates: &id059 - {} '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/client/clientformulanotes: get: tags: - Client summary: 'Mindbody ***QueryParams***: Enables to Retrieve Cross Regional Formula Notes' description: '***QueryParams***: Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination.' operationId: getClientFormulaNotes 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.appointmentId in: query required: false description: The appointment ID of an appointment in the studio specified in the header of the request. schema: type: integer format: int32 example: 123456 - name: request.clientId in: query required: false description: The client ID of the client whose formula notes are being requested. schema: type: string example: example-value - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientFormulaNotesResponse' examples: Getclientformulanotes200Example: summary: Default getClientFormulaNotes 200 example x-microcks-default: true value: PaginationResponse: {} FormulaNotes: &id060 - {} '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/client/clientindexes: get: tags: - Client summary: Mindbody Client Indexes Are Used to Analyze Client Demographics. a Business description: Client indexes are used to analyze client demographics. A business owner can set up different categories with sets of values which they can assign to each client. Client indexes are used in client searches, for tagging clients so that the owner can send mass emails to similar groups, and for many reports. For more information, see Client Indexes and [Client Index Values (video tutorial)](https://support.mindbodyonline.com/s/article/203261653-Clien t-indexes-and-client-index-values-video-tutorial?language=en_USclient). operationId: getClientIndexes 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.requiredOnly in: query required: false description: When `true`, filters the results to only indexes that are required on creation.
When `false` or omitted, returns all of the client indexes. schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientIndexesResponse' examples: Getclientindexes200Example: summary: Default getClientIndexes 200 example x-microcks-default: true value: ClientIndexes: &id061 - {} '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/client/clientpurchases: get: tags: - Client summary: Mindbody Gets a List of Purchases Made by a Specific Client description: Gets a list of purchases made by a specific client. operationId: getClientPurchases parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The ID of the client you are querying for purchases. 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.endDate in: query required: false description: 'Filters results to purchases made before this timestamp.
Default: **end of today**' 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.saleId in: query required: false description: Filters results to the single record associated with this ID. schema: type: integer format: int32 example: 123456 - name: request.startDate in: query required: false description: 'Filters results to purchases made on or after this timestamp.
Default: **now**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: The unique ID of the requested client. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientPurchasesResponse' examples: Getclientpurchases200Example: summary: Default getClientPurchases 200 example x-microcks-default: true value: PaginationResponse: {} Purchases: &id062 - {} '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/client/clientreferraltypes: get: tags: - Client summary: Mindbody Gets a List of Referral Types. Referral Types Are Options That New description: Gets a list of referral types. Referral types are options that new clients can choose to identify how they learned about the business. Referral types are typically used for the sign-up process. operationId: getClientReferralTypes 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.includeInactive in: query required: false description: When `true`, filters the results to include subtypes and inactive referral types.
When `false`, includes no subtypes and only active types. Default:**false** schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientReferralTypesResponse' examples: Getclientreferraltypes200Example: summary: Default getClientReferralTypes 200 example x-microcks-default: true value: ReferralTypes: &id063 - example-value '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/client/clientrewards: get: tags: - Client summary: Mindbody Gets the Client Rewards description: Gets the client rewards. operationId: getClientRewards parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The ID of the client. 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.endDate in: query required: false description: 'The end date of transaction. 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.startDate in: query required: false description: 'The start date of transaction. Default: **today**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientRewardsResponse' examples: Getclientrewards200Example: summary: Default getClientRewards 200 example x-microcks-default: true value: PaginationResponse: {} Balance: 1 Transactions: &id002 - {} '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: [] post: tags: - Client summary: Mindbody Earns or Redeems Rewards Points for a Given Client, Based on Site description: Earns or redeems rewards points for a given client, based on site settings. Cross regional rewards are not supported at this time. operationId: updateClientRewards 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/UpdateClientRewardsRequest' examples: UpdateclientrewardsRequestExample: summary: Default updateClientRewards request example x-microcks-default: true value: ClientId: example-value Points: 1 Action: example-value Source: example-value SourceId: 123456 ActionDateTime: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientRewardsResponse' examples: Updateclientrewards200Example: summary: Default updateClientRewards 200 example x-microcks-default: true value: PaginationResponse: {} Balance: 1 Transactions: *id002 '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/client/clients: get: tags: - Client summary: Mindbody This Endpoint Requires Staff User Credentials. This Endpoint Supports description: This endpoint requires staff user credentials. This endpoint supports pagination. See Pagination for a description of the Pagination information. operationId: getClients 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.clientIDs in: query required: false description: "The requested client IDs. Default: **all IDs** that the authenticated user’s access level allows.
Note: You can fetch information for maximum 20 clients at once." schema: type: array items: type: string example: - example-value - name: request.includeInactive in: query required: false description: 'When `true`, indicates the results to include active and inactive clients.
When `false`, indicates that only those clients who are marked as active should be returned. Default: **false**' schema: type: boolean example: true - name: request.isProspect in: query required: false description: When `true`, filters the results to include only those clients marked as prospects for the business.
When `false`, indicates that only those clients who are not marked prospects should be returned. schema: type: boolean example: true - name: request.lastModifiedDate in: query required: false description: Filters the results to include only the clients that have been modified on or after this date. 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.searchText in: query required: false description: Text to use in the search. Can include FirstName, LastName, and Email. Note that user credentials must be provided. schema: type: string example: example-value - name: request.uniqueIds in: query required: false description: "Filters results to clients with these `UniqueIDs`. This parameter cannot be used with `ClientIDs` or `SearchText`. Default: **all UniqueIDs** that the authenticated user’s access level allows." schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientsResponse' examples: Getclients200Example: summary: Default getClients 200 example x-microcks-default: true value: PaginationResponse: {} Clients: &id067 - {} '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/client/clientschedule: get: tags: - Client summary: Mindbody This Endpoint Can Be Utilized to Retrieve Scheduled Visits Which is description: This endpoint can be utilized to retrieve scheduled visits which is associated with the requested client. operationId: getClientSchedule 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.clientAssociatedSitesOffset in: query required: false description: The number of sites to skip when returning the site associated with a client. schema: type: integer format: int32 example: 10 - name: request.clientId in: query required: false description: The ID of the requested client. schema: type: string example: example-value - name: request.crossRegionalLookup in: query required: false description: When `true`, indicates that past and scheduled client visits across all sites in the region are returned. When `false`, indicates that only visits at the current site are returned. schema: type: boolean example: true - name: request.endDate in: query required: false description: "The date past which class visits are not returned. Default is today’s date" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.includeWaitlistEntries in: query required: false description: 'When `true`, waitlist entries are included in the response. When `false`, waitlist entries are removed from the response. Default: **false**' schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.startDate in: query required: false description: The date before which class visits are not returned. Default is the end date schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: 'The unique ID of the requested client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientScheduleResponse' examples: Getclientschedule200Example: summary: Default getClientSchedule 200 example x-microcks-default: true value: PaginationResponse: {} Visits: &id064 - {} '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/client/clientservices: get: tags: - Client summary: Mindbody Get Pricing Options That a Client Has Purchased description: Get pricing options that a client has purchased. operationId: getClientServices 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.classId in: query required: false description: Filters results to only those pricing options that can be used to pay for this class. schema: type: integer format: int32 example: 123456 - name: request.classScheduleID in: query required: false description: Filters results to pricing options which are associated with one of the ClassScheduleIDs schema: type: array items: type: integer format: int32 example: - 1 - name: request.clientAssociatedSitesOffset in: query required: false description: "Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLooku" schema: type: integer format: int32 example: 10 - name: request.clientId in: query required: false description: "The ID of the client to query. The results are a list of pricing options that the client has purchased. Note that “service” and “pricing option” are synonymous in this section of the documentation." schema: type: string example: example-value - name: request.clientIds in: query required: false description: The IDs of the clients to query. The results are a list of pricing options that the clients have purchased. ClientId parameter takes priority over ClientIds due to backward compatibility. So if you want to use ClientIds, then ClientId needs to be empty. Either of ClientId or ClientIds need to be specified schema: type: array items: type: string example: - example-value - name: request.crossRegionalLookup in: query required: false description: "Used to retrieve a client’s pricing options from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites" schema: type: boolean example: true - name: request.endDate in: query required: false description: "Filters results to pricing options that are purchased on or before this date. Default: **today’s date**" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.excludeInactiveSites in: query required: false description: 'When this flag is set to `true`, will exclude inactive sites from the response. Default: **false**' schema: type: boolean example: true - name: request.ignoreCrossRegionalSiteLimit in: query required: false description: "Used to specify if the number of cross regional sites used to search for client’s pricing options should be ignored. Default: **false**" schema: type: boolean example: true - 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: Filters results to pricing options that can be used at the listed location IDs. 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: Filters results to pricing options that belong to one of the given program IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.sessionTypeId in: query required: false description: Filters results to pricing options that will pay for the given session type ID. Use this to find pricing options that will pay for a specific appointment type. schema: type: integer format: int32 example: 123456 - name: request.showActiveOnly in: query required: false description: 'When `true`, includes active services only. Default: **false**' schema: type: boolean example: true - name: request.startDate in: query required: false description: "Filters results to pricing options that are purchased on or after this date. Default: **today’s date**" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: The unique ID of the client to query. Note that UniqueClientId takes precedence over ClientId. schema: type: integer format: int32 example: 123456 - name: request.uniqueClientIds in: query required: false description: The Unique IDs of the clients to query. Note that UniqueClientIds collection takes precedence over ClientIds collection. schema: type: array items: type: integer format: int32 example: - 1 - name: request.useActivateDate in: query required: false description: 'When this flag is set to `true`, the date filtering will use activate date to filter the pricing options. When this flag is set to `false`, the date filtering will use purchase date to filter the pricing options. Default: **false**' schema: type: boolean example: true - name: request.visitCount in: query required: false description: A filter on the minimum number of visits a service can pay for. schema: type: integer format: int32 example: 10 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientServicesResponse' examples: Getclientservices200Example: summary: Default getClientServices 200 example x-microcks-default: true value: PaginationResponse: {} ClientServices: &id065 - {} '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/client/clientvisits: get: tags: - Client summary: Mindbody Gets the Client Visits for a Specific Client description: Gets the Client Visits for a specific client. operationId: getClientVisits 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.clientAssociatedSitesOffset in: query required: false description: The number of sites to skip when returning the site associated with a client. schema: type: integer format: int32 example: 10 - name: request.clientId in: query required: false description: The ID of the requested client. schema: type: string example: example-value - name: request.crossRegionalLookup in: query required: false description: When `true`, indicates that past and scheduled client visits across all sites in the region are returned.
When `false`, indicates that only visits at the current site are returned. schema: type: boolean example: true - name: request.endDate in: query required: false description: 'The date past which class visits are not returned. Default: **today''s date**' 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.order in: query required: false description: The sort order for the results.
When `desc`, results are returned in descending order (newest first).
When `asc`, results are returned in ascending order (oldest first). schema: type: string example: example-value - name: request.startDate in: query required: false description: 'The date before which class visits are not returned. Default: **the end date**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.uniqueClientId in: query required: false description: 'The unique ID of the requested client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' schema: type: integer format: int32 example: 123456 - name: request.unpaidsOnly in: query required: false description: 'When `true`, indicates that only visits that have not been paid for are returned.
When `false`, indicates that all visits are returned, regardless of whether they have been paid for.
Default: **false**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetClientVisitsResponse' examples: Getclientvisits200Example: summary: Default getClientVisits 200 example x-microcks-default: true value: PaginationResponse: {} Visits: &id066 - {} '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/client/contactlogs: get: tags: - Client summary: Mindbody This Endpoint Contains a Variety of Filters That Can Return Not Just description: This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes. operationId: getContactLogs parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The ID of the client whose contact logs are being requested. 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.endDate in: query required: false description: 'Filters the results to contact logs created before this date.
Default: **the start date**' 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.showSystemGenerated in: query required: false description: 'When `true`, system-generated contact logs are returned in the results.
Default: **false**' schema: type: boolean example: true - name: request.staffIds in: query required: false description: Filters the results to return contact logs assigned to one or more staff IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDate in: query required: false description: 'Filters the results to contact logs created on or after this date.
Default: **the current date**' schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.subtypeIds in: query required: false description: Filters the results to contact logs assigned one or more of these subtype IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.typeIds in: query required: false description: Filters the results to contact logs assigned one or more of these type IDs. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetContactLogsResponse' examples: Getcontactlogs200Example: summary: Default getContactLogs 200 example x-microcks-default: true value: PaginationResponse: {} ContactLogs: &id070 - {} '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/client/contactlogtypes: get: tags: - Client summary: Mindbody This Endpoint Contains a Variety of Filters That Can Return Not Just description: This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes. operationId: getContactLogTypes 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.contactLogTypeId in: query required: false description: "The requested ContactLogType ID. Default: **all** IDs that the authenticated user’s access level allows." schema: type: integer format: int32 example: 123456 - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetContactLogTypesResponse' examples: Getcontactlogtypes200Example: summary: Default getContactLogTypes 200 example x-microcks-default: true value: PaginationResponse: {} ContactLogTypes: &id069 - {} '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/client/crossregionalclientassociations: get: tags: - Client summary: Mindbody Returns a List of Sites That a Particular Client ID (also Referred to description: Returns a list of sites that a particular client ID (also referred to as an RSSID) or a client email address is associated with in a cross-regional organization. Either the `ClientID` or `Email` parameter is required. If both are provided, the `ClientID` is used. Use this endpoint to retrieve information for other Public API endpoints, about the same client at multiple sites within an organization. To use this endpoint, your developer account must have been granted permission to the site's entire organization. Note that this endpoint does not work on the Developer Sandbox site, as it is not set up for cross-regional use cases. operationId: getCrossRegionalClientAssociations 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.clientId in: query required: false description: "Looks up the cross regional associations by the client’s ID." schema: type: string example: example-value - name: request.email in: query required: false description: "Looks up the cross regional associations by the client’s email address." schema: type: string example: kinlane@example.com - name: request.excludeInactiveSites in: query required: false description: 'Used to exclude inactive and deleted sites from the results. When this flag is set to `true`, client profiles associated with inactive and deleted sites are not getting returned. When this flag is set to `false`,client profiles associated with inactive and deleted sites are getting returned. Default: **true**' schema: type: boolean example: true - name: request.firstName in: query required: false description: First name (used for email queries) schema: type: string example: example-value - name: request.lastName in: query required: false description: Last name (used for email queries) schema: type: string example: example-value - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.uniqueClientId in: query required: false description: "Looks up the cross regional associations by the unique client’s ID. Note: you need to provide the 'UniqueClientId' OR the 'ClientId' OR the 'Email'. 'UniqueClientId' takes precedence when provided. If not, but both 'ClientId' and 'Email' are provided, 'ClientId' is used by default." schema: type: integer format: int32 example: 123456 - name: request.v2 in: query required: false description: Use newer method schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetCrossRegionalClientAssociationsResponse' examples: Getcrossregionalclientassociations200Example: summary: Default getCrossRegionalClientAssociations 200 example x-microcks-default: true value: PaginationResponse: {} CrossRegionalClientAssociations: &id073 - {} '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/client/customclientfields: get: tags: - Client summary: Mindbody Get a Site's Configured Custom Client Fields description: Get a site's configured custom client fields. operationId: getCustomClientFields 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetCustomClientFieldsResponse' examples: Getcustomclientfields200Example: summary: Default getCustomClientFields 200 example x-microcks-default: true value: PaginationResponse: {} CustomClientFields: &id074 - {} '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/client/requiredclientfields: get: tags: - Client summary: Mindbody Gets the List of Fields That a New Client Has to Fill Out in Business description: Gets the list of fields that a new client has to fill out in business mode, specifically for the sign-up process. `AddClient` and `UpdateClient` validate against these fields. This endpoint has no query parameters. operationId: getRequiredClientFields 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetRequiredClientFieldsResponse' examples: Getrequiredclientfields200Example: summary: Default getRequiredClientFields 200 example x-microcks-default: true value: RequiredClientFields: &id089 - example-value '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/client/addarrival: post: tags: - Client summary: Mindbody Marks a Client as Arrived for a Specified Location. a Staff User Token description: 'Marks a client as arrived for a specified location. A staff user token must be included with staff assigned the LaunchSignInScreen permission. When used on a site that is part of a region, the following additional logic will apply: * When a client exists within the region but not at the studio where the arrival is being logged, a local client record will be automatically created. * If the local client does not have an applicable local membership or pricing option, a membership or pricing option will be automatically used if it exists elsewhere within the region.' operationId: addArrival 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/AddArrivalRequest' examples: AddarrivalRequestExample: summary: Default addArrival request example x-microcks-default: true value: ClientId: example-value LocationId: 123456 ArrivalTypeId: 123456 LeadChannelId: 123456 Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddArrivalResponse' examples: Addarrival200Example: summary: Default addArrival 200 example x-microcks-default: true value: ArrivalAdded: true ClientService: {} '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/client/addclient: post: tags: - Client summary: Mindbody Starting the Week of May 11th, 2020 All Versions of the Public API description: Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.
Creates a new client record at the specified business.Passing a User Token as Authorization will create a client and respect Business Mode required fields.Omitting the token will create a client and respect Consumer Mode required fi elds. To make sure you are collecting all required pieces of information, first run GetRequired ClientFields.
If you have purchased an Ultimate tier then this endpoint will automatically start showing new opportunity on Sales Pipeline. operationId: addClient 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/AddClientRequest' examples: AddclientRequestExample: summary: Default addClient request example x-microcks-default: true value: FirstName: Alex LastName: Lane AccountBalance: 49.99 Action: {} Active: true AddressLine1: 123 Market St AddressLine2: 123 Market St ApptGenderPrefMale: true BirthDate: '2026-05-28T14:30:00Z' City: San Francisco ClientCreditCard: {} ClientIndexes: &id018 - {} ClientRelationships: &id019 - {} Country: US CreationDate: '2026-05-28T14:30:00Z' CustomClientFields: &id020 - {} Email: kinlane@example.com EmergencyContactInfoEmail: kinlane@example.com EmergencyContactInfoName: example-value EmergencyContactInfoPhone: '+15551234567' EmergencyContactInfoRelationship: example-value FirstAppointmentDate: '2026-05-28T14:30:00Z' Gender: example-value HomeLocation: {} HomePhone: '+15551234567' IsCompany: true IsProspect: true LastFormulaNotes: Example note for Mindbody Public API. LastModifiedDateTime: '2026-05-28T14:30:00Z' Liability: {} LiabilityRelease: true MembershipIcon: 1 MiddleName: example-value MobilePhone: '+15551234567' MobileProvider: 1 NewId: example-value Notes: Example note for Mindbody Public API. PhotoUrl: https://example.mindbodyonline.com/resource/abc123 PostalCode: '94110' ProspectStage: {} RedAlert: example-value ReferredBy: example-value SalesReps: &id021 - {} SiteId: -99 State: CA Status: Active Test: true UniqueId: 123456 WorkExtension: example-value WorkPhone: '+15551234567' YellowAlert: example-value SendScheduleEmails: true SendAccountEmails: true SendPromotionalEmails: true SendScheduleTexts: true SendAccountTexts: true SendPromotionalTexts: true LockerNumber: example-value ReactivateInactiveClient: true LeadChannelId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddClientResponse' examples: Addclient200Example: summary: Default addClient 200 example x-microcks-default: true value: Client: {} '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/client/addclientdirectdebitinfo: post: tags: - Client summary: "Mindbody This Endpoint Adds Direct Debit Info to a Client’s Account. This" description: "This endpoint adds direct debit info to a client’s account. This endpoint requires staff user credentials." operationId: addClientDirectDebitInfo 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/AddClientDirectDebitInfoRequest' examples: AddclientdirectdebitinfoRequestExample: summary: Default addClientDirectDebitInfo request example x-microcks-default: true value: Test: true ClientId: example-value NameOnAccount: example-value RoutingNumber: example-value AccountNumber: example-value AccountType: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddClientDirectDebitInfoResponse' examples: Addclientdirectdebitinfo200Example: summary: Default addClientDirectDebitInfo 200 example x-microcks-default: true value: ClientId: example-value NameOnAccount: example-value RoutingNumber: example-value AccountNumber: example-value AccountType: example-value '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/client/addclientformulanote: post: tags: - Client summary: Mindbody This Endpoint Adds a Formula Note for a Specified Client or Specified description: This endpoint adds a formula note for a specified client or specified client appointment. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions. operationId: addFormulaNote 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/AddFormulaNoteRequest' examples: AddformulanoteRequestExample: summary: Default addFormulaNote request example x-microcks-default: true value: ClientId: example-value Note: example-value AppointmentId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FormulaNoteResponse' examples: Addformulanote200Example: summary: Default addFormulaNote 200 example x-microcks-default: true value: Id: 123456 ClientId: example-value AppointmentId: 123456 EntryDate: '2026-05-28T14:30:00Z' Note: example-value SiteId: -99 SiteName: example-value StaffFirstName: example-value StaffLastName: example-value StaffDisplayName: example-value '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/client/addcontactlog: post: tags: - Client summary: Mindbody Add a Contact Log to a Client's Account description: Add a contact log to a client's account. operationId: addContactLog 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/AddContactLogRequest' examples: AddcontactlogRequestExample: summary: Default addContactLog request example x-microcks-default: true value: ClientId: example-value ContactMethod: example-value AssignedToStaffId: 123456 Text: example-value FollowupByDate: '2026-05-28T14:30:00Z' ContactName: example-value IsComplete: true Comments: &id023 - Example note for Mindbody Public API. Types: &id024 - {} Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContactLog' examples: Addcontactlog200Example: summary: Default addContactLog 200 example x-microcks-default: true value: Id: 123456 Text: example-value CreatedDateTime: '2026-05-28T14:30:00Z' FollowupByDate: '2026-05-28T14:30:00Z' ContactMethod: example-value ContactName: example-value Client: {} CreatedBy: {} AssignedTo: {} Comments: &id003 - {} Types: &id004 - {} '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/client/mergeclients: post: tags: - Client summary: Mindbody This Endpoint Helps to Merge Clients description: This endpoint helps to merge clients. operationId: mergeClient 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/MergeClientsRequest' examples: MergeclientRequestExample: summary: Default mergeClient request example x-microcks-default: true value: SourceClientId: 123456 TargetClientId: 123456 responses: '200': description: OK '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/client/sendautoemail: post: tags: - Client summary: Mindbody This Endpoint Requires Staff User Credentials description: This endpoint requires staff user credentials. operationId: sendAutoEmail 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/SendAutoEmailRequest' examples: SendautoemailRequestExample: summary: Default sendAutoEmail request example x-microcks-default: true value: ClientId: example-value EmailType: example-value responses: '200': description: OK '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/client/sendpasswordresetemail: post: tags: - Client summary: Mindbody Send a Password Reset Email to a Client description: Send a password reset email to a client. operationId: sendPasswordResetEmail 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/SendPasswordResetEmailRequest' examples: SendpasswordresetemailRequestExample: summary: Default sendPasswordResetEmail request example x-microcks-default: true value: UserEmail: kinlane@example.com UserFirstName: example-value UserLastName: example-value responses: '200': description: OK '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/client/suspendcontract: post: tags: - Client summary: Mindbody Suspend Client Contract description: Suspend client contract operationId: suspendContract 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/SuspendContractRequest' examples: SuspendcontractRequestExample: summary: Default suspendContract request example x-microcks-default: true value: ClientId: example-value ClientContractId: 123456 SuspensionType: example-value SuspensionStart: '2026-05-28T14:30:00Z' Duration: 1 DurationUnit: 1 OpenEnded: true SuspensionNotes: Example note for Mindbody Public API. SuspensionFee: 1.0 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SuspendContractResponse' examples: Suspendcontract200Example: summary: Default suspendContract 200 example x-microcks-default: true value: Contract: {} '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/client/terminatecontract: post: tags: - Client summary: Mindbody This Endpoint Terminates a Client Contract. This Endpoint Requires description: This endpoint terminates a client contract. This endpoint requires staff user credentials with TerminateClientContract permission. operationId: terminateContract 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/TerminateContractRequest' examples: TerminatecontractRequestExample: summary: Default terminateContract request example x-microcks-default: true value: ClientId: example-value ClientContractId: 123456 TerminationDate: '2026-05-28T14:30:00Z' TerminationCode: example-value TerminationComments: Example note for Mindbody Public API. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TerminateContractResponse' examples: Terminatecontract200Example: summary: Default terminateContract 200 example x-microcks-default: true value: Contract: {} '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/client/updateclient: post: tags: - Client summary: Mindbody Starting the Week of May 11th, 2020 All Versions of the Public API description: 'Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.
Updates an existing client for a specific subscriber.Passing a User Token as Authorization respects Business Mode required fields.Omitting the token respects Consumer Mode required fields.To make sure you are collecting all required pieces of information, first run GetRequiredClientFields.
. Use this endpoint as follows: * If you need to update the `ReferredBy` parameter, use this endpoint after calling `GET ClientReferralTypes`. * When updating a client''s home location, use after calling `GET Locations`. * If you are updating a client''s stored credit card, use after calling `GET AcceptedCardTypes` so that you can make sure the card is a type that is accepted at the subscriber. * If this endpoint is used on a cross-regional site, passing in a client''s RSSID and email address creates a cross-regional link. This means that the client is created in cross-regional sites where the client does not exist and `GET CrossRegionalClientAssociations` returns all appropriate cross-regional sites. * When `CrossRegionalUpdate` is omitted or set to `true`, the client''s updated information is propagated to all of the region''s sites. If `CrossRegionalUpdate` is set to `false`, only the local client is updated. * Important: Starting in June 2025, the fields RSSID, Prefix, Name, Email, Birthday, Phone, and Address will automatically update cross-regionally when changed, regardless of the CrossRegionalUpdate setting. The update is rolling out on a per customer basis and is expected to complete to all customers by September 2025. Note that the following items cannot be updated for a cross-regional client: * `ClientIndexes` * `ClientRelationships` * `CustomClientFields` * `SalesReps` * `SendAccountE' operationId: updateClient 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/UpdateClientRequest' examples: UpdateclientRequestExample: summary: Default updateClient request example x-microcks-default: true value: Client: {} Test: true CrossRegionalUpdate: true NewId: example-value LeadChannelId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateClientResponse' examples: Updateclient200Example: summary: Default updateClient 200 example x-microcks-default: true value: Client: {} '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/client/updateclientcontractautopays: post: tags: - Client summary: Mindbody This Endpoint Can Be Used to Update the Amount And/or the Item of a description: "This endpoint can be used to update the amount and/or the item of a client’s autopay schedule." operationId: updateClientContractAutopays 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/UpdateClientContractAutopaysRequest' examples: UpdateclientcontractautopaysRequestExample: summary: Default updateClientContractAutopays request example x-microcks-default: true value: ClientContractId: 123456 AutopayStartDate: '2026-05-28T14:30:00Z' AutopayEndDate: '2026-05-28T14:30:00Z' ProductId: 123456 ReplaceWithProductId: 123456 Amount: 49.99 OverwriteAllProductIDs: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' examples: Updateclientcontractautopays200Example: summary: Default updateClientContractAutopays 200 example x-microcks-default: true value: Id: 123456 Name: Sunset Yoga Studio Description: Example note for Mindbody Public API. AssignsMembershipId: 123456 AssignsMembershipName: example-value SoldOnline: true ContractItems: &id037 - {} IntroOffer: example-value AutopaySchedule: {} NumberOfAutopays: 1 AutopayTriggerType: example-value ActionUponCompletionOfAutopays: example-value ClientsChargedOn: example-value ClientsChargedOnSpecificDate: '2026-05-28T14:30:00Z' DiscountAmount: 49.99 DepositAmount: 49.99 FirstAutopayFree: true LastAutopayFree: true ClientTerminateOnline: true MembershipTypeRestrictions: &id038 - {} LocationPurchaseRestrictionIds: &id039 - 1 LocationPurchaseRestrictionNames: &id040 - example-value AgreementTerms: example-value RequiresElectronicConfirmation: true AutopayEnabled: true FirstPaymentAmountSubtotal: 49.99 FirstPaymentAmountTax: 49.99 FirstPaymentAmountTotal: 49.99 RecurringPaymentAmountSubtotal: 49.99 RecurringPaymentAmountTax: 49.99 RecurringPaymentAmountTotal: 49.99 TotalContractAmountSubtotal: 49.99 TotalContractAmountTax: 49.99 TotalContractAmountTotal: 49.99 PromoPaymentAmountSubtotal: 49.99 PromoPaymentAmountTax: 49.99 PromoPaymentAmountTotal: 49.99 NumberOfPromoAutopays: 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/client/updateclientservice: post: tags: - Client summary: Mindbody Updates the Active Date And/or Expiration Date of a Client Pricing description: Updates the active date and/or expiration date of a client pricing option. This request requires staff user credentials. If the active date is modified, the expiration date is also modified accordingly. If the expiration date is modified, the active date is unchanged. operationId: updateClientService 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/UpdateClientServiceRequest' examples: UpdateclientserviceRequestExample: summary: Default updateClientService request example x-microcks-default: true value: ServiceId: 123456 ActiveDate: '2026-05-28T14:30:00Z' ExpirationDate: '2026-05-28T14:30:00Z' Count: 10 Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateClientServiceResponse' examples: Updateclientservice200Example: summary: Default updateClientService 200 example x-microcks-default: true value: ClientService: {} '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/client/updateclientvisit: post: tags: - Client summary: Mindbody Updates the Status of the Specified Visit description: Updates the status of the specified visit. operationId: updateClientVisit 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/UpdateClientVisitRequest' examples: UpdateclientvisitRequestExample: summary: Default updateClientVisit request example x-microcks-default: true value: VisitId: 123456 Makeup: true SignedIn: true ClientServiceId: 123456 Execute: example-value Test: true SendEmail: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateClientVisitResponse' examples: Updateclientvisit200Example: summary: Default updateClientVisit 200 example x-microcks-default: true value: Visit: {} '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/client/updatecontactlog: post: tags: - Client summary: Mindbody Update a Contact Log on a Client's Account description: Update a contact log on a client's account. operationId: updateContactLog 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/UpdateContactLogRequest' examples: UpdatecontactlogRequestExample: summary: Default updateContactLog request example x-microcks-default: true value: Id: 123456 Test: true AssignedToStaffId: 123456 Text: example-value ContactName: example-value FollowupByDate: '2026-05-28T14:30:00Z' ContactMethod: example-value IsComplete: true Comments: &id125 - {} Types: &id126 - {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContactLog' examples: Updatecontactlog200Example: summary: Default updateContactLog 200 example x-microcks-default: true value: Id: 123456 Text: example-value CreatedDateTime: '2026-05-28T14:30:00Z' FollowupByDate: '2026-05-28T14:30:00Z' ContactMethod: example-value ContactName: example-value Client: {} CreatedBy: {} AssignedTo: {} Comments: *id003 Types: *id004 '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/client/uploadclientdocument: post: tags: - Client summary: Mindbody Uploads a Document File for a Specific Client. Returns a String description: Uploads a document file for a specific client. Returns a string representation of the image byte array. The maximum size file that can be uploaded is **4MB**. operationId: uploadClientDocument 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/UploadClientDocumentRequest' examples: UploadclientdocumentRequestExample: summary: Default uploadClientDocument request example x-microcks-default: true value: ClientId: example-value File: {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UploadClientDocumentResponse' examples: Uploadclientdocument200Example: summary: Default uploadClientDocument 200 example x-microcks-default: true value: FileSize: 1 FileName: example-value '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/client/uploadclientphoto: post: tags: - Client summary: "Mindbody Uploads a Client’s Profile Photo. the Maximum File Size is 4 MB and" description: "Uploads a client’s profile photo. The maximum file size is 4 MB and acceptable file types are: * bmp * jpeg * gif * tiff * png" operationId: uploadClientPhoto 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/UploadClientPhotoRequest' examples: UploadclientphotoRequestExample: summary: Default uploadClientPhoto request example x-microcks-default: true value: Bytes: example-value ClientId: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UploadClientPhotoResponse' examples: Uploadclientphoto200Example: summary: Default uploadClientPhoto 200 example x-microcks-default: true value: ClientId: example-value PhotoUrl: https://example.mindbodyonline.com/resource/abc123 '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/client/clientformulanote: delete: tags: - Client summary: Mindbody This Endpoint Deletes an Existing Formula Note. a Staff User Token description: This endpoint deletes an existing formula note. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions. operationId: deleteClientFormulaNote parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The client ID of the client whose formula note needs to be deleted. schema: type: string example: example-value - name: request.formulaNoteId in: query required: true description: The formula note ID for the note to be deleted. schema: type: integer format: int32 example: 123456 - 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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 responses: '200': description: OK '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/client/deletecontactlog: delete: tags: - Client summary: Mindbody This Endpoint Deletes Contactlog of Client. This Endpoint Requires description: This endpoint deletes contactlog of client. This endpoint requires staff user credentials. operationId: deleteContactLog parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.clientId in: query required: true description: The client ID of the client whose Contact Log is being deleted. schema: type: string example: example-value - name: request.contactLogId in: query required: true description: The Contact Log ID. schema: type: integer format: int32 example: 123456 - 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.test in: query required: false description: "When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database. When `false`, the database is updated." schema: type: boolean example: true responses: '200': description: OK '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/crossSite/copycreditcard: post: tags: - Cross Site summary: Mindbody Copies the Credit Card Information from One Client to Another, description: Copies the credit card information from one client to another, regardless of site. The source and target clients must have the same email address. operationId: copyCreditCard 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/CopyCreditCardRequest' examples: CopycreditcardRequestExample: summary: Default copyCreditCard request example x-microcks-default: true value: SourceSiteId: 123456 SourceClientId: example-value SourceUniqueClientId: 123456 TargetSiteId: 123456 TargetClientId: example-value TargetUniqueClientId: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CopyCreditCardResponse' examples: Copycreditcard200Example: summary: Default copyCreditCard 200 example x-microcks-default: true value: CopiedFrom: {} CopiedTo: {} '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/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: &id076 - {} '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: &id022 - '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: &id035 - {} Clients: &id036 - {} 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: *id005 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: *id001 '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: *id001 '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/payroll/commissions: get: tags: - Payroll summary: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if description: A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, the endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members. operationId: getCommissions 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.endDateTime in: query required: false description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.
Default: **Today’s date** * If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date. * If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date." 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.locationId in: query required: false description: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.staffId in: query required: false description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID. schema: type: integer format: int32 example: 123456 - name: request.startDateTime in: query required: false description: "The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to 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/GetCommissionsResponse' examples: Getcommissions200Example: summary: Default getCommissions 200 example x-microcks-default: true value: PaginationResponse: {} Commissions: &id068 - {} '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/payroll/scheduledserviceearnings: get: tags: - Payroll summary: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if description: "A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, the endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members. Note that if a staff member is not paid for a class, earnings of zero are returned by this endpoint. Note that this endpoint calculates both bonus and no-reg rates for assistants.These rates are not supported by the Payroll report in the web interface. Note that this endpoint returns both the teacher’s adjusted rate and the assistant’s pay rate when the assistant is paid by the teacher.The Payroll report in the web interface only returns the teacher’s adjusted rate." operationId: getScheduledServiceEarnings 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.endDateTime in: query required: false description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.
Default: **Today’s date** * If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date. * If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date." 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.locationId in: query required: false description: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.scheduledServiceId in: query required: false description: Filters the results to a single scheduled service. This parameter must be used with a single ScheduledServiceType. schema: type: integer format: int32 example: 123456 - name: request.scheduledServiceType in: query required: false description: 'Filters the results to schedule service earnings for specific types of services. Possible values: * Class * Appointment' schema: type: string example: example-value - name: request.staffId in: query required: false description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID. schema: type: integer format: int32 example: 123456 - name: request.startDateTime in: query required: false description: "The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to 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/GetScheduledServiceEarningsResponse' examples: Getscheduledserviceearnings200Example: summary: Default getScheduledServiceEarnings 200 example x-microcks-default: true value: PaginationResponse: {} ScheduledServiceEarnings: &id095 - {} '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/payroll/timecards: get: tags: - Payroll summary: Mindbody This Endpoint Returns Information for All Locations. the **View description: This endpoint returns information for all locations. The **View reports for all locations permission **is not supported for staff auth tokens. operationId: getTimeCards 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.endDateTime in: query required: false description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.
Default: **Today’s date** * If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date. * If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date." 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.locationId in: query required: false description: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.staffId in: query required: false description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID. schema: type: integer format: int32 example: 123456 - name: request.startDateTime in: query required: false description: "The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to 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/GetTimeCardsResponse' examples: Gettimecards200Example: summary: Default getTimeCards 200 example x-microcks-default: true value: PaginationResponse: {} TimeCards: &id103 - {} '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/payroll/tips: get: tags: - Payroll summary: Mindbody A Staff Authorization Token is Not Required for This Endpoint, but if description: A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, the endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members. This endpoint returns information for all locations.The** View reports for all locations **permission is not supported for staff auth tokens. operationId: getTips 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.endDateTime in: query required: false description: "The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.
Default: **Today’s date** * If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date. * If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date." 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.locationId in: query required: false description: A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.staffId in: query required: false description: A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID. schema: type: integer format: int32 example: 123456 - name: request.startDateTime in: query required: false description: "The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days. * If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply. * If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to 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/GetTipsResponse' examples: Gettips200Example: summary: Default getTips 200 example x-microcks-default: true value: PaginationResponse: {} Tips: &id104 - {} '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/pickaspot/v1/class: get: tags: - Pick A Spot summary: Mindbody This Endpoint Supports Pagination. See Pagination Object for a description: This endpoint supports pagination. See Pagination object for a description. operationId: getClassList 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPickASpotClassResponse' examples: Getclasslist200Example: summary: Default getClassList 200 example x-microcks-default: true value: classes: &id006 - {} pagination: {} responseDetails: {} '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/pickaspot/v1/class/{classId}: get: tags: - Pick A Spot summary: Mindbody Get a Class Filtered by ClassId description: Get a class filtered by classId. operationId: getClass parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: classId in: path required: true description: The request template parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPickASpotClassResponse' examples: Getclass200Example: summary: Default getClass 200 example x-microcks-default: true value: classes: *id006 pagination: {} responseDetails: {} '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/pickaspot/v1/reservation/{pathInfo}: get: tags: - Pick A Spot summary: Mindbody Retrieves Reservation for Pick a Spot description: Retrieves reservation for Pick a Spot. operationId: getReservation parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: pathInfo in: path required: true description: The request template parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetReservationResponse' examples: Getreservation200Example: summary: Default getReservation 200 example x-microcks-default: true value: Reservations: &id090 - {} Pagination: {} ResponseDetails: {} '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: [] put: tags: - Pick A Spot summary: Mindbody A User Token is Required for This Endpoint description: A user token is required for this endpoint. This endpoint updates a single reservation. operationId: updateReservation parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: pathInfo in: path required: true description: The request template parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateReservationResponse' examples: Updatereservation200Example: summary: Default updateReservation 200 example x-microcks-default: true value: Reservation: {} ResponseDetails: {} '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: [] post: tags: - Pick A Spot summary: Mindbody Creates a Spot Reservation for a Given Pick-a-spot Class. the Actual description: 'Creates a spot reservation for a given pick-a-spot class. The actual class visit must be created prior to calling this endpoint. A user token is required for this endpoint. Sample request: POST /pickaspot/v1/reservation { "SiteId": -1147483363, "LocationId": 1, "ClassId": "64b14ac8c20ae8f0afd2d409", "ReservationExternalId": "44724", // this is a Visit.Id and should be linked to a specific class visit "MemberExternalId": "100000136", // this is Client''s UniqueId "SpotNumber": "5", "ReservationDisplayName": "ReservationDisplayName", // optional "ReservationType": "Member", // optional. Can be Member, Guest, Instructor, FamilyMember, "AutoConfirm": false, // optional. Default: false "AutoAssignSpot": false // optional. It will override the "SpotNumber" passed and auto assign one. Default: false }' operationId: createReservation parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: pathInfo in: path required: true description: The request template parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CreateReservationResponse' examples: Createreservation200Example: summary: Default createReservation 200 example x-microcks-default: true value: Reservation: {} ResponseDetails: {} '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: [] delete: tags: - Pick A Spot summary: Mindbody A User Token is Required for This Endpoint description: A user token is required for this endpoint. This endpoint deletes a single reservation. operationId: deleteReservation parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: pathInfo in: path required: true description: The request template parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/HttpContent' examples: Deletereservation200Example: summary: Default deleteReservation 200 example x-microcks-default: true value: Headers: &id108 - {} '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/sale/acceptedcardtypes: get: tags: - Sale summary: Mindbody Gets a List of Card Types That the Site Accepts. You Can Also Use `GET description: 'Gets a list of card types that the site accepts. You can also use `GET Sites` to return the Site object, which contains individual accepted card types for requested sites. This endpoint has no query parameters.The response returns a list of strings. Possible values are: * Visa * MasterCard * Discover * AMEX' operationId: getAcceptedCardTypes 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 responses: '200': description: OK '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/sale/alternativepaymentmethods: get: tags: - Sale summary: Mindbody Get Alternative and Local Payment Methods That Are Allowed for a Site description: 'Get alternative and local payment methods that are allowed for a site. These payment methods can later be used in `Initiate Checkout Shopping Cart Using Alternative Payments` and `Initiate Purchase Contract Using Alternative Payments` to make the payment. The currently supported alternative payments are: - iDEAL - Apple Pay **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98.' operationId: getAlternativePaymentMethods 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.clientId in: query required: false description: The client ID schema: type: string example: example-value - name: request.locationId in: query required: false description: 'The location ID Default: **null** (Online store location)' schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetAlternativePaymentMethodsResponse' examples: Getalternativepaymentmethods200Example: summary: Default getAlternativePaymentMethods 200 example x-microcks-default: true value: PaymentMethods: &id045 - {} '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/sale/contracts: get: tags: - Sale summary: Mindbody Returns the Contracts and Autopay Options That Are Available on a description: Returns the contracts and autopay options that are available on a location-by-location basis. Depending on the configurations established by the site, this endpoint returns options that can be used to sign up clients for recurring payments for services offered by the business. operationId: getContracts parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.locationId in: query required: true description: The ID of the location that has the requested contracts and AutoPay options. schema: type: integer format: int32 example: 123456 - 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.contractIds in: query required: false description: When included, the response only contains details about the specified contract IDs. schema: type: array items: type: integer format: int32 example: - 1 - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.promoCode in: query required: false description: PromoCode to apply schema: type: string example: example-value - name: request.soldOnline in: query required: false description: 'When `true`, the response only contains details about contracts and AutoPay options that can be sold online. When `false`, all contracts are returned. Default: **false**' schema: type: boolean example: true - name: request.uniqueClientId in: query required: false description: The ID of the client. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetContractsResponse' examples: Getcontracts200Example: summary: Default getContracts 200 example x-microcks-default: true value: PaginationResponse: {} Contracts: &id071 - {} '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/sale/custompaymentmethods: get: tags: - Sale summary: Mindbody Get Payment Methods That Can Be Used to Pay for Sales at a Site description: Get payment methods that can be used to pay for sales at a site. operationId: getCustomPaymentMethods 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetCustomPaymentMethodsResponse' examples: Getcustompaymentmethods200Example: summary: Default getCustomPaymentMethods 200 example x-microcks-default: true value: PaginationResponse: {} PaymentMethods: &id075 - {} '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/sale/giftcardbalance: get: tags: - Sale summary: "Mindbody Returns a Gift Card’s Remaining Balance" description: "Returns a gift card’s remaining balance." operationId: getGiftCardBalance 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: barcodeId in: query required: false description: The barcode ID of the gift card for which you want the balance. schema: type: string example: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetGiftCardBalanceResponse' examples: Getgiftcardbalance200Example: summary: Default getGiftCardBalance 200 example x-microcks-default: true value: BarcodeId: example-value RemainingBalance: 49.99 '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/sale/giftcards: get: tags: - Sale summary: Mindbody Returns Information About Gift Cards That Can Be Purchased description: Returns information about gift cards that can be purchased. operationId: getGiftCards 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.ids in: query required: false description: 'Filters the results to the requested gift card IDs.
Default: **all** gift cards.' schema: type: array items: type: integer format: int32 example: - 1 - name: request.includeCustomLayouts in: query required: false description: 'When `true`, includes custom gift card layouts.
When `false`, includes only system layouts. Default: **false**' schema: type: boolean example: true - 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.locationId in: query required: false description: When included, returns gift cards that are sold at the provided location ID. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.soldOnline in: query required: false description: 'When `true`, only returns gift cards that are sold online.
Default: **false**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetGiftCardResponse' examples: Getgiftcards200Example: summary: Default getGiftCards 200 example x-microcks-default: true value: PaginationResponse: {} GiftCards: &id078 - {} '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/sale/packages: get: tags: - Sale summary: Mindbody A Package is Typically Used to Combine Multiple Services And/or description: A package is typically used to combine multiple services and/or products into a single offering. Staff members can check out multiple appointments while selling the package, and can discount the items included. For example, a spa might bundle a massage, a pedicure, a manicure, a facial, and a few selected beauty products into a package. operationId: getPackages 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: type: integer format: int32 example: 1 - name: request.locationId in: query required: false description: 'The location ID to use to determine the tax for the products that this request returns.
Default: **online store**' schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.packageIds in: query required: false description: A list of the packages IDs to filter by. schema: type: array items: type: integer format: int32 example: - 1 - name: request.sellOnline in: query required: false description: 'When `true`, only returns products that can be sold online.
When `false`, all products are returned.
Default: **false**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPackagesResponse' examples: Getpackages200Example: summary: Default getPackages 200 example x-microcks-default: true value: Packages: &id082 - {} PaginationResponse: {} '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/sale/products: get: tags: - Sale summary: Mindbody Get Retail Products Available for Purchase at a Site description: Get retail products available for purchase at a site. operationId: getProducts 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.categoryIds in: query required: false description: A list of revenue category IDs to filter by. Use this ID when calling the GET Categories endpoint. schema: type: array items: type: integer format: int32 example: - 1 - 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.locationId in: query required: false description: 'The location ID to use to determine the tax for the products that this request returns.
Default: **online store**' schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.productIds in: query required: false description: The barcode number of the product to be filter by. schema: type: array items: type: string example: - example-value - name: request.searchText in: query required: false description: A search filter, used for searching by term. schema: type: string example: example-value - name: request.secondaryCategoryIds in: query required: false description: A list of secondary categories to filter by. Use this ID when calling the GET Categories endpoint. schema: type: array items: type: integer format: int32 example: - 1 - name: request.sellOnline in: query required: false description: 'When `true`, only products that can be sold online are returned.
When `false`, all products are returned.
Default: **false**' schema: type: boolean example: true - name: request.subCategoryIds in: query required: false description: A list of subcategory IDs to filter by. Use this ID when calling the GET Categories endpoint. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetProductsResponse' examples: Getproducts200Example: summary: Default getProducts 200 example x-microcks-default: true value: PaginationResponse: {} Products: &id007 - {} '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: [] put: tags: - Sale summary: Mindbody Update Retail Products Available for Purchase at a Site description: Update retail products available for purchase at a site. operationId: updateProducts 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: type: array items: $ref: '#/components/schemas/UpdateProductRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetProductsResponse' examples: Updateproducts200Example: summary: Default updateProducts 200 example x-microcks-default: true value: PaginationResponse: {} Products: *id007 '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/sale/productsinventory: get: tags: - Sale summary: Mindbody Get Retail Products Inventory Data Available at a Site description: Get retail products inventory data available at a site. operationId: getProductsInventory 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.barcodeIds in: query required: false description: When included, the response only contains details about the specified Barcode Ids. schema: type: array items: type: string example: - example-value - 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: When included, the response only contains details about the specified location Ids. 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.productIds in: query required: false description: When included, the response only contains details about the specified product Ids. schema: type: array items: type: string example: - example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetProductsInventoryResponse' examples: Getproductsinventory200Example: summary: Default getProductsInventory 200 example x-microcks-default: true value: PaginationResponse: {} ProductsInventory: &id084 - {} '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/sale/purchasecontractstatus: get: tags: - Sale summary: Mindbody Fetches the Status of an Initiate Purchase Contract Given AccessToken description: 'Fetches the status of an initiate purchase contract given accessToken. This endpoint complements the `Initiate Purchase Contract Using Alternative Payments` endpoint. `Initiate Purchase Contract Using Alternative Payments` endpoint will capture the intent to purchase a contract, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the `Initiate Purchase Contract Using Alternative Payments` endpoint. You can then invoke this endpoint to obtain the `PurchaseContractResponse`. **For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/purchase-a-contract) The currently supported alternative payments are: - iDEAL - Apple Pay' operationId: getPurchaseContractStatus parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: accessToken in: query required: true description: The request query parameter. 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PurchaseContractResponse' examples: Getpurchasecontractstatus200Example: summary: Default getPurchaseContractStatus 200 example x-microcks-default: true value: ClientId: example-value UniqueClientId: 123456 LocationId: 123456 ContractId: 123456 ClientContractId: 123456 Totals: {} PaymentProcessingFailures: &id011 - {} '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/sale/sales: get: tags: - Sale summary: Mindbody Get Sales Completed at a Site description: Get sales completed at a site. operationId: getSales 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.endSaleDateTime in: query required: false description: Filters results to sales that happened before this date and time. 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.paymentMethodId in: query required: false description: Filters results to sales paid for by the given payment method ID which indicates payment method(s) (i.e. cash, VISA, AMEX, Check, etc.). schema: type: integer format: int32 example: 123456 - name: request.saleId in: query required: false description: The sale ID associated with the particular item. It Filters results to the requested sale ID. schema: type: integer format: int32 example: 123456 - name: request.startSaleDateTime in: query required: false description: Filters results to sales that happened after this date and time. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetSalesResponse' examples: Getsales200Example: summary: Default getSales 200 example x-microcks-default: true value: PaginationResponse: {} Sales: &id093 - {} '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/sale/services: get: tags: - Sale summary: Mindbody Get Pricing Options Available for Purchase at a Site description: Get pricing options available for purchase at a site operationId: getServices 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.classId in: query required: false description: Filters to the pricing options for the specified class ID. schema: type: integer format: int32 example: 123456 - name: request.classScheduleId in: query required: false description: Filters to the pricing options for the specified class schedule ID. schema: type: integer format: int32 example: 123456 - name: request.hideRelatedPrograms in: query required: false description: 'When `true`, indicates that pricing options of related programs are omitted from the response.
Default: **false**' schema: type: boolean example: true - name: request.includeDiscontinued in: query required: false description: 'When `true`, indicates that the filtered pricing option list includes discontinued pricing options.
Default: **false**' schema: type: boolean example: true - name: request.includeSaleInContractOnly in: query required: false description: 'When `true`, indicates that the filtered pricing option list includes sale in contract only pricing options.
Default: **false**' schema: type: boolean example: true - 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.locationId in: query required: false description: When specified, for each returned pricing option, `TaxRate` and `TaxIncluded` are calculated according to the specified location. Note that this does not filter results to only services provided at the given location, and for locations where Value-Added Tax (VAT) rules apply, the `TaxRate` is set to zero. schema: type: integer format: int32 example: 123456 - 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: Filters to pricing options with the specified program IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.sellOnline in: query required: false description: 'When `true`, filters the pricing options to display only those available for online purchase. This parameter is only applicable in Business Mode (when a staff authentication header is included) and ignored in Consumer Mode (when no authentication header is passed).
Default: `false` (for staff users)
Business Mode: This parameter controls the filtering behavior. Staff users can set this to `true` to show only pricing options that can be sold online, or `false` to show all available pr' schema: type: boolean example: true - name: request.serviceIds in: query required: false description: Filters to the pricing options with the specified IDs. In this context, service and pricing option are used interchangeably. These are the `PurchasedItems[].Id` returned from GET Sales. schema: type: array items: type: string example: - example-value - name: request.sessionTypeIds in: query required: false description: Filters to the pricing options with the specified session types IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.staffId in: query required: false description: Sets `Price` and `OnlinePrice` to the particular pricing of a specific staff member, if allowed by the business. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetServicesResponse' examples: Getservices200Example: summary: Default getServices 200 example x-microcks-default: true value: PaginationResponse: {} Services: &id097 - {} '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: [] put: tags: - Sale summary: Mindbody Update Unit Price and Online Price of Provided Services description: Update unit price and online price of provided services. operationId: updateServices 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: type: array items: $ref: '#/components/schemas/UpdateServiceRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateServiceResponse' examples: Updateservices200Example: summary: Default updateServices 200 example x-microcks-default: true value: Services: &id127 - {} '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/sale/transactions: get: tags: - Sale summary: Mindbody This Endpoint Returns a List of Transaction Details of Processed Sales description: This endpoint returns a list of transaction details of processed sales. operationId: getTransactions 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.clientId in: query required: false description: Filters results to the requested client ID. schema: type: integer format: int32 example: 123456 - 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.locationId in: query required: false description: Filters the transaction results with the ID number associated with the location of the sale. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.saleId in: query required: false description: Filters the transaction results with the ID number associated with the sale. schema: type: integer format: int32 example: 123456 - name: request.status in: query required: false description: Filters the transaction results by the estimated transaction status. schema: type: string example: example-value - name: request.transactionEndDateTime in: query required: false description: "Filters the transaction results that happpened before this date and time. Default: **today’s date**" schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.transactionId in: query required: false description: Filters the transaction results with the ID number generated when the sale is processed. schema: type: integer format: int32 example: 123456 - name: request.transactionStartDateTime in: query required: false description: "Filters the transaction results that happpened after this date and time. 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/GetTransactionsResponse' examples: Gettransactions200Example: summary: Default getTransactions 200 example x-microcks-default: true value: PaginationResponse: {} Transactions: &id105 - {} '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/sale/checkoutshoppingcart: post: tags: - Sale summary: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You description: "This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases: * a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID * a retail product, after calling `GET Products` and choosing a specific retail product’s ID * a package, after calling `GET Packages` and choosing a specific package’s ID * a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip The documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items. This endpoint had been updated to support Strong Customer Authentication (SCA). **Note :** Protect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!" operationId: checkoutShoppingCart 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/CheckoutShoppingCartRequest' examples: CheckoutshoppingcartRequestExample: summary: Default checkoutShoppingCart request example x-microcks-default: true value: Items: &id032 - {} Payments: &id033 - {} CartId: example-value ClientId: example-value UniqueClientId: 123456 PayerClientId: example-value UniquePayerClientId: 123456 Test: true InStore: true CalculateTax: true PromotionCode: example-value SendEmail: true LocationId: 123456 Image: example-value ImageFileName: example-value ConsumerPresent: true PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 TransactionIds: &id034 - 1 IsBillingPostalCodeRequired: true EnforceLocationRestrictions: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CheckoutShoppingCartResponse' examples: Checkoutshoppingcart200Example: summary: Default checkoutShoppingCart 200 example x-microcks-default: true value: ShoppingCart: {} Classes: &id008 - {} Appointments: &id009 - {} Enrollments: &id010 - {} '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/sale/completecheckoutshoppingcart: post: tags: - Sale summary: Mindbody This Endpoint Complements the InitiateCheckoutShoppintCart Endpoint description: 'This endpoint complements the InitiateCheckoutShoppintCart endpoint. Please visit its documentation to understand further. The currently supported alternative payments are: - iDEAL - Apple Pay **How to use :** InitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse. **For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/checkout-shopping-cart-using-alternative-payments) **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - Protect yourself from processor fees. Remember to always protect your web forms that leverage POST InitiateCheckoutShoppingCart or POST CompleteCheckoutShoppingCart with a CAPTCHA!' operationId: completeCheckoutShoppingCartUsingAlternativePayments 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/CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest' examples: CompletecheckoutshoppingcartusingalternativepaymentsRequestExample: summary: Default completeCheckoutShoppingCartUsingAlternativePayments request example x-microcks-default: true value: AccessToken: example-value ClientId: example-value Test: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CheckoutShoppingCartResponse' examples: Completecheckoutshoppingcartusingalternativepayments200Example: summary: Default completeCheckoutShoppingCartUsingAlternativePayments 200 example x-microcks-default: true value: ShoppingCart: {} Classes: *id008 Appointments: *id009 Enrollments: *id010 '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/sale/initiatecheckoutshoppingcart: post: tags: - Sale summary: Mindbody This Endpoint Provides a Wide Range of Functionality. for Example, You description: "This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases: * a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID * a retail product, after calling `GET Products` and choosing a specific retail product’s ID * a package, after calling `GET Packages` and choosing a specific package’s ID * a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip The documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items. The currently supported alternative payments are: - iDEAL - Apple Pay **How to use :** InitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse. **For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/checkout-shopping-cart-using-alternative-payments) **Notes:** - This endpoint is only available for Studios on " operationId: initiateCheckoutShoppingCartUsingAlternativePayments 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/InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest' examples: InitiatecheckoutshoppingcartusingalternativepaymentsRequestExample: summary: Default initiateCheckoutShoppingCartUsingAlternativePayments request example x-microcks-default: true value: ClientId: example-value Items: &id109 - {} Payments: &id110 - {} PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 CartId: example-value PayerClientId: example-value Test: true InStore: true CalculateTax: true PromotionCode: example-value SendEmail: true LocationId: 123456 TransactionIds: &id111 - 1 IsBillingPostalCodeRequired: true EnforceLocationRestrictions: true responses: '200': description: OK '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/sale/initiatepurchasecontract: post: tags: - Sale summary: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the description: 'Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with allowed alternative and local payment methods returned from `Get Alternative Payment Method`. The client must exist at the site specified before this call is made. The currently supported alternative payments are: - iDEAL - Apple Pay **For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public -api#/http/tutorials/purchase-a-contract) **Notes:** - This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor. - This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98. - This endpoint only supports those payment methods as obtained from the GetAlternativePaymentMethods endpoint. - Protect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!' operationId: initiatePurchaseContractUsingAlternativePayments 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/InitiatePurchaseContractRequest' examples: InitiatepurchasecontractusingalternativepaymentsRequestExample: summary: Default initiatePurchaseContractUsingAlternativePayments request example x-microcks-default: true value: ClientId: example-value ContractId: 123456 PaymentMethodId: 123456 Test: true LocationId: 123456 PromotionCode: example-value PromotionCodes: &id112 - example-value SendNotifications: true SalesRepId: 123456 PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 responses: '200': description: OK '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/sale/purchaseaccountcredit: post: tags: - Sale summary: Mindbody Allows a Client to Purchase Account Credit from a Business description: Allows a client to purchase account credit from a business. operationId: purchaseAccountCredit 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/PurchaseAccountCreditRequest' examples: PurchaseaccountcreditRequestExample: summary: Default purchaseAccountCredit request example x-microcks-default: true value: ClientId: example-value Test: true LocationId: 123456 SendEmailReceipt: true SalesRepId: 123456 ConsumerPresent: true PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 PaymentInfo: {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PurchaseAccountCreditResponse' examples: Purchaseaccountcredit200Example: summary: Default purchaseAccountCredit 200 example x-microcks-default: true value: AmountPaid: 49.99 ClientId: example-value SaleId: 123456 EmailReceipt: true PaymentProcessingFailures: &id113 - {} '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/sale/purchasecontract: post: tags: - Sale summary: Mindbody Allows a Client to Sign Up for a Contract or Autopay Using the description: "Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with a new credit card or with a stored credit card. The client must exist at the site specified before this call is made. This endpoint allows a developer to specify whether a client pays now or pays on the `StartDate`. If you are building a client-facing experience, you should talk with the business owner to understand the owner’s policies before you give clients a choice of the two payment types. This endpoint also allows a developer to specify a `ProrateDate`. If the date is passed, the Totals returned will always include the pro-rate amount for instant payment, like: - `FirstPaymentOccurs` = `Instant` => returns instant payment total for the contract + pro-rate amount. - `FirstPaymentOccurs` = `StartDate` => returns pro-rate amount + contract amount requiring instant payment. The rest of the contract will be due on `StartDate`. - Pro-rate amount payment on `StartDate` is not supported by this endpoint. This endpoint has been updated to support Strong Customer Authentication (SCA). **Note:** Protect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!" operationId: purchaseContract 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/PurchaseContractRequest' examples: PurchasecontractRequestExample: summary: Default purchaseContract request example x-microcks-default: true value: ContractId: 123456 Test: true LocationId: 123456 ClientId: example-value UniqueClientId: 123456 StartDate: '2026-05-28T14:30:00Z' FirstPaymentOccurs: example-value ClientSignature: example-value PromotionCode: example-value PromotionCodes: &id114 - example-value CreditCardInfo: {} StoredCardInfo: {} SendNotifications: true SalesRepId: 123456 UseDirectDebit: true UseAccountCredit: true ConsumerPresent: true PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 ProrateDate: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PurchaseContractResponse' examples: Purchasecontract200Example: summary: Default purchaseContract 200 example x-microcks-default: true value: ClientId: example-value UniqueClientId: 123456 LocationId: 123456 ContractId: 123456 ClientContractId: 123456 Totals: {} PaymentProcessingFailures: *id011 '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/sale/purchasegiftcard: post: tags: - Sale summary: Mindbody Allows a Client to Purchase a Gift Card from a Business in a Variety description: Allows a client to purchase a gift card from a business in a variety of designs. The card can be emailed to the recipient on a specific day, and a card title and a personal message can be added. **Note** Protect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA! operationId: purchaseGiftCard 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/PurchaseGiftCardRequest' examples: PurchasegiftcardRequestExample: summary: Default purchaseGiftCard request example x-microcks-default: true value: LocationId: 123456 PurchaserClientId: example-value GiftCardId: 123456 Test: true LayoutId: 123456 SendEmailReceipt: true RecipientEmail: kinlane@example.com RecipientName: example-value Title: example-value GiftMessage: example-value DeliveryDate: '2026-05-28T14:30:00Z' PaymentInfo: {} SalesRepId: 123456 ConsumerPresent: true PaymentAuthenticationCallbackUrl: https://example.mindbodyonline.com/resource/abc123 BarcodeId: example-value SenderName: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PurchaseGiftCardResponse' examples: Purchasegiftcard200Example: summary: Default purchaseGiftCard 200 example x-microcks-default: true value: BarcodeId: example-value Value: 1.0 AmountPaid: 49.99 FromName: example-value LayoutId: 123456 EmailReceipt: true PurchaserClientId: example-value PurchaserEmail: kinlane@example.com RecipientEmail: kinlane@example.com SaleId: 123456 PaymentProcessingFailures: &id115 - {} '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/sale/returnsale: post: tags: - Sale summary: Mindbody Return a Comped Sale for a Specified Sale ID in Business Mode. the description: Return a comped sale for a specified sale ID in business mode. The sale is returnable only if it is a sale of a service, product or gift card and it has not been used. Currently, only the comp payment method is supported. operationId: returnSale 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/ReturnSaleRequest' examples: ReturnsaleRequestExample: summary: Default returnSale request example x-microcks-default: true value: SaleId: 123456 ReturnReason: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReturnSaleResponse' examples: Returnsale200Example: summary: Default returnSale 200 example x-microcks-default: true value: ReturnSaleID: 1 TrainerID: 1 Amount: 49.99 '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/sale/updateproductprice: post: tags: - Sale summary: Mindbody This Endpoint Updates the Retail Price and an Online Price for a description: This endpoint updates the retail price and an online price for a product. Passing at least one of them is mandatory. operationId: updateProductPrice 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/UpdateProductPriceRequest' examples: UpdateproductpriceRequestExample: summary: Default updateProductPrice request example x-microcks-default: true value: BarcodeId: example-value Price: 49.99 OnlinePrice: 49.99 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateProductPriceResponse' examples: Updateproductprice200Example: summary: Default updateProductPrice 200 example x-microcks-default: true value: Product: {} '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/sale/updatesaledate: put: tags: - Sale summary: Mindbody This Endpoint Updates the SaleDate and Returns the Details of the Sale description: This endpoint updates the SaleDate and returns the details of the sale. operationId: updateSaleDate 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/UpdateSaleDateRequest' examples: UpdatesaledateRequestExample: summary: Default updateSaleDate request example x-microcks-default: true value: SaleID: 1 SaleDate: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateSaleDateResponse' examples: Updatesaledate200Example: summary: Default updateSaleDate 200 example x-microcks-default: true value: Sale: {} '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/site/activationcode: get: tags: - Site summary: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer description: Before you can use this endpoint, MINDBODY must approve your developer account for live access. If you have finished testing in the sandbox and are ready to begin working with MINDBODY customers, log into your account and request to go live. See [Accessing Business Data From MINDBODY](https://developers.mindbodyonline.com/PublicDocumentation/V6# accessing-business-data) for more information about the activation code and how to use it. Once you are approved, this endpoint returns an activation code.This endpoint supports only one site per call. operationId: getActivationCode parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: authorization in: header required: false description: A staff user authorization token. schema: type: string example: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetActivationCodeResponse' examples: Getactivationcode200Example: summary: Default getActivationCode 200 example x-microcks-default: true value: ActivationCode: example-value ActivationLink: example-value '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/site/categories: get: tags: - Site summary: Mindbody Gets the Categories description: Gets the categories. operationId: getCategories 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.active in: query required: false description: 'When `true`, the response only contains categories which are activated. When `false`, only deactivated categories are returned. Default: **All Categories**' schema: type: boolean example: true - name: request.categoryIds in: query required: false description: When included, the response only contains details about the specified category Ids. schema: type: array items: type: integer format: int32 example: - 1 - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.service in: query required: false description: 'When `true`, the response only contains details about Revenue Categories. When `false`, only Product Revenue Categories are returned. Default: **All Categories**' schema: type: boolean example: true - name: request.subCategoryIds in: query required: false description: When included, the response only contains details about the specified subcategory Ids. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetCategoriesResponse' examples: Getcategories200Example: summary: Default getCategories 200 example x-microcks-default: true value: PaginationResponse: {} Categories: &id049 - {} '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/site/genders: get: tags: - Site summary: Mindbody The Endpoint Returns a List of Configured Client Gender Options for a description: The endpoint returns a list of configured client gender options for a site. Custom gender options are assignable to client genders only. Currently, custom values returned from this endpoint cannot be used as input for other endpoints to specify the genders of staff or client preferences. operationId: getGenders 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetGendersResponse' examples: Getgenders200Example: summary: Default getGenders 200 example x-microcks-default: true value: GenderOptions: &id077 - {} '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/site/liabilitywaiver: get: tags: - Site summary: Mindbody Gets Liability Waiver Content at the Specified Business description: Gets Liability Waiver content at the specified business. This endpoint requires staff user credentials. operationId: getLiabilityWaiver 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetLiabilityWaiverResponse' examples: Getliabilitywaiver200Example: summary: Default getLiabilityWaiver 200 example x-microcks-default: true value: LiabilityWaiver: example-value '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/site/locations: get: tags: - Site summary: Mindbody Get Locations for a Site description: Get locations for a site. operationId: getLocations 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetLocationsResponse' examples: Getlocations200Example: summary: Default getLocations 200 example x-microcks-default: true value: PaginationResponse: {} Locations: &id079 - {} '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/site/memberships: get: tags: - Site summary: Mindbody Get the Memberships at a Site description: Get the memberships at a site. operationId: getMemberships 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.membershipIds in: query required: false description: "The requested membership IDs.
Default: **all** IDs that the authenticated user’s access level allows." schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetMembershipsResponse' examples: Getmemberships200Example: summary: Default getMemberships 200 example x-microcks-default: true value: Memberships: &id080 - {} '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/site/mobileproviders: get: tags: - Site summary: Mindbody Get the List of Mobile Providers That Are Supported by the Business description: Get the list of mobile providers that are supported by the business. operationId: getMobileProviders 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.active in: query required: false description: 'When `true`, the response only contains mobile providers which are activated. When `false`, only deactivated mobile providers are returned. Default: **All Mobile Providers**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetMobileProvidersResponse' examples: Getmobileproviders200Example: summary: Default getMobileProviders 200 example x-microcks-default: true value: MobileProviders: &id081 - {} '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/site/paymenttypes: get: tags: - Site summary: Mindbody Get Payment Types for a Site description: Get payment types for a site. operationId: getPaymentTypes 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.active in: query required: false description: 'When `true`, the response only contains payment types which are activated. When `false`, only deactivated payment types are returned. Default: **All Payment Types**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPaymentTypesResponse' examples: Getpaymenttypes200Example: summary: Default getPaymentTypes 200 example x-microcks-default: true value: PaymentTypes: &id083 - {} '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/site/programs: get: tags: - Site summary: Mindbody Get Service Categories Offered at a Site description: Get service categories offered at a site. operationId: getPrograms 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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.onlineOnly in: query required: false description: 'If `true`, filters results to show only those programs that are shown online.
If `false`, all programs are returned.
Default: **false**' schema: type: boolean example: true - name: request.programIds in: query required: false description: Program Ids to filter for schema: type: array items: type: integer format: int32 example: - 1 - name: request.scheduleType in: query required: false description: 'A schedule type used to filter the returned results. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival' schema: $ref: '#/components/schemas/RequestScheduleTypeEnum' example: {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetProgramsResponse' examples: Getprograms200Example: summary: Default getPrograms 200 example x-microcks-default: true value: PaginationResponse: {} Programs: &id085 - {} '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/site/promocodes: get: tags: - Site summary: Mindbody Gets a List of Promocodes at the Specified Business. This Endpoint description: Gets a list of promocodes at the specified business. This endpoint requires staff user credentials. This staff member should have enabled the Set up promotions / **Semester discounts** staff permission. operationId: getPromoCodes 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.activeOnly in: query required: false description: 'If true, filters results to show only promocodes that are active. If **false**, all promocodes are returned. Default: **true**' schema: type: boolean example: true - name: request.endDate in: query required: false description: Filters results to promocodes that were activated before this date. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' - name: request.lastModifiedDate in: query required: false description: Filters results to promocodes that were modified on or after this date. 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.onlineOnly in: query required: false description: 'If `true`, filters results to show only promocodes that can be used for online sale. If `false`, all promocodes are returned. Default: **false**' schema: type: boolean example: true - name: request.startDate in: query required: false description: Filters results to promocodes that were activated after this date. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetPromoCodesResponse' examples: Getpromocodes200Example: summary: Default getPromoCodes 200 example x-microcks-default: true value: PaginationResponse: {} PromoCodes: &id086 - {} '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/site/prospectstages: get: tags: - Site summary: Mindbody Get the List of Prospect Stages That Represent the Prospect Stage description: Get the list of prospect stages that represent the prospect stage options for prospective clients. operationId: getProspectStages 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.active in: query required: false description: 'When `true`, the response only contains prospect stages which are activated. When `false`, only deactivated prospect stages are returned. Default: **All Prospect Stages**' schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetProspectStagesResponse' examples: Getprospectstages200Example: summary: Default getProspectStages 200 example x-microcks-default: true value: ProspectStages: &id087 - {} '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/site/relationships: get: tags: - Site summary: Mindbody This Endpoint Retrieves the Business Site Relationships description: This endpoint retrieves the business site relationships. operationId: getRelationships 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.active in: query required: false description: 'When `true`, the response only contains relationships which are activated. When `false`, only deactivated relationships are returned. Default: **All Relationships**' schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetRelationshipsResponse' examples: Getrelationships200Example: summary: Default getRelationships 200 example x-microcks-default: true value: PaginationResponse: {} Relationships: &id088 - {} '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/site/resourceavailabilities: get: tags: - Site summary: Mindbody Get Resource Availabilities Used at a Site description: Get resource availabilities used at a site. operationId: getResourceAvailabilities 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.endDate in: query required: false description: End date. If default, StartDate is used. 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: Filter by location ids (optional) 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: Filter by program ids (optional) schema: type: array items: type: integer format: int32 example: - 1 - name: request.resourceIds in: query required: false description: Filter on resourceIds schema: type: array items: type: integer format: int32 example: - 1 - name: request.scheduleTypes in: query required: false description: Filter by schedule types (optional) schema: type: array items: $ref: '#/components/schemas/RequestScheduleTypeEnum' example: - {} - name: request.startDate in: query required: false description: Start time schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetResourceAvailabilitiesResponse' examples: Getresourceavailabilities200Example: summary: Default getResourceAvailabilities 200 example x-microcks-default: true value: PaginationResponse: {} ResourceAvailabilities: &id091 - {} '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/site/resources: get: tags: - Site summary: Mindbody Get Resources Used at a Site description: Get resources used at a site. operationId: getResources 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.includeInactive in: query required: false description: Enable to include inactive schema: type: boolean example: true - 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: Filter by location ids (optional) 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: Filter by program ids (optional) schema: type: array items: type: integer format: int32 example: - 1 - name: request.resourceIds in: query required: false description: Filter on resourceIds schema: type: array items: type: integer format: int32 example: - 1 - name: request.scheduleTypes in: query required: false description: Filter by schedule types (optional) schema: type: array items: $ref: '#/components/schemas/RequestScheduleTypeEnum' example: - {} responses: '200': description: OK '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/site/sessiontypes: get: tags: - Site summary: Mindbody Get the Session Types Used at a Site description: Get the session types used at a site. operationId: getSessionTypes 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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.onlineOnly in: query required: false description: 'When `true`, indicates that only the session types that can be booked online should be returned.
Default: **false**' schema: type: boolean example: true - name: request.programIDs in: query required: false description: Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetSessionTypesResponse' examples: Getsessiontypes200Example: summary: Default getSessionTypes 200 example x-microcks-default: true value: PaginationResponse: {} SessionTypes: &id098 - {} '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/site/sites: get: tags: - Site summary: Mindbody Gets a List of Sites That the Developer Has Permission to View description: 'Gets a list of sites that the developer has permission to view. * Passing in no `SiteIds` returns all sites that the developer has access to. * Passing in one `SiteIds` returns more detailed information about the specified site. Important Behavior Notice: When calling GetSites without specifying a SiteId, or when passing multiple SiteIds, the response will include only limited data for each site. This is expected behavior designed to help identify accessible sites without returning full site-level configuration details. To retrieve complete information for a specific site, please make a separate GetSites request using a single SiteId. This design helps reduce payload size for multi-site queries, but we recognize it may require additional requests when full detail is needed. If your integration depends on full site-level data, we recommend retrieving the list of site IDs first, then querying each one individually as needed.' operationId: getSites parameters: - name: version in: path required: true description: version of the api. 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.includeLeadChannels in: query required: false description: This is an optional parameter to get lead channels for a Site. schema: type: boolean example: true - name: request.includePerStaffPricing in: query required: false description: Include whether or not studios have per staff pricing enabled. schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.siteIds in: query required: false description: List of the requested site IDs. When omitted, returns all sites that the source has access to. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetSitesResponse' examples: Getsites200Example: summary: Default getSites 200 example x-microcks-default: true value: PaginationResponse: {} Sites: &id099 - {} '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/site/addclientindex: post: tags: - Site summary: Mindbody Creates a New Client Index Record at the Specified Business description: Creates a new client index record at the specified business. This endpoint requires staff user credentials. operationId: addClientIndex 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/AddSiteClientIndexRequest' examples: AddclientindexRequestExample: summary: Default addClientIndex request example x-microcks-default: true value: ClientIndexName: example-value Active: true ShowOnNewClient: true ShowOnEnrollmentRoster: true EditOnEnrollmentRoster: true SortOrder: 1 ShowInConsumerMode: true RequiredConsumerMode: true RequiredBizMode: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddSiteClientIndexResponse' examples: Addclientindex200Example: summary: Default addClientIndex 200 example x-microcks-default: true value: ClientIndexID: 1 ClientIndexName: example-value Active: true ShowOnNewClient: true ShowOnEnrollmentRoster: true EditOnEnrollmentRoster: true SortOrder: 1 ShowInConsumerMode: true RequiredConsumerMode: true RequiredBizMode: true '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/site/addpromocode: post: tags: - Site summary: Mindbody Creates a New Promocode Record at the Specified Business description: Creates a new promocode record at the specified business. This endpoint requires staff user credentials. This staff memeber should have enabled the **Set up promotions / Semester discounts** staff permission. operationId: addPromoCode 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/AddPromoCodeRequest' examples: AddpromocodeRequestExample: summary: Default addPromoCode request example x-microcks-default: true value: Code: example-value Name: Sunset Yoga Studio Active: true Discount: {} ActivationDate: '2026-05-28T14:30:00Z' ExpirationDate: '2026-05-28T14:30:00Z' MaxUses: 1 DaysAfterCloseDate: 1 AllowOnline: true DaysValid: &id027 - example-value ApplicableItems: &id028 - {} responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddPromoCodeResponse' examples: Addpromocode200Example: summary: Default addPromoCode 200 example x-microcks-default: true value: PromoCode: {} '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/site/deactivatepromocode: post: tags: - Site summary: Mindbody Deactivates an Existing Promocode Record at the Specified Business description: Deactivates an existing promocode record at the specified business. This endpoint requires staff user credentials. This staff memeber should have enabled the **Set up promotions / Semester discounts** staff permission. operationId: deactivatePromoCode 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/DeactivatePromoCodeRequest' examples: DeactivatepromocodeRequestExample: summary: Default deactivatePromoCode request example x-microcks-default: true value: PromotionId: 123456 responses: '200': description: OK '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/site/updateclientindex: post: tags: - Site summary: Mindbody Updates an Exisitng Client Index Record at the Specified Business description: Updates an exisitng client index record at the specified business. This endpoint requires staff user credentials. operationId: updateClientIndex 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/UpdateSiteClientIndexRequest' examples: UpdateclientindexRequestExample: summary: Default updateClientIndex request example x-microcks-default: true value: ClientIndexID: 1 ClientIndexName: example-value Active: true ShowOnNewClient: true ShowOnEnrollmentRoster: true EditOnEnrollmentRoster: true SortOrder: 1 ShowInConsumerMode: true RequiredConsumerMode: true RequiredBizMode: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateSiteClientIndexResponse' examples: Updateclientindex200Example: summary: Default updateClientIndex 200 example x-microcks-default: true value: ClientIndexID: 1 ClientIndexName: example-value Active: true ShowOnNewClient: true ShowOnEnrollmentRoster: true EditOnEnrollmentRoster: true SortOrder: 1 ShowInConsumerMode: true RequiredConsumerMode: true RequiredBizMode: true '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/staff/imageurl: get: tags: - Staff summary: Mindbody Retrieves the Available Image URLs for a Specified Staff Member, description: "Retrieves the available image URLs for a specified staff member, including desktop and mobile versions.
The resolution of these images is determined by the Mindbody product at the time the image is uploaded. Staff images are automatically resized within Core (typically around 200×151 pixels), and this endpoint surfaces only the stored versions. The API does not resize or limit the images itself .
For more information about how image sizes are managed in Mindbody product, refer to the related support article: [link here](https://support.mindbodyonline.com/s/article/203253783-Staff-prof iles-Creating-logins-updating-info-and-enabling-settings?language=en_US )." operationId: getStaffImageUrl 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.staffId in: query required: false description: The ID of the staff member whose image URL details you want to retrieve. schema: type: integer format: int32 example: 123456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetStaffImageURLResponse' examples: Getstaffimageurl200Example: summary: Default getStaffImageUrl 200 example x-microcks-default: true value: ImageURL: example-value MobileImageURL: example-value '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/staff/salesreps: get: tags: - Staff summary: Mindbody This Endpoint Returns the Basic Details of the Staffs That Are Marked description: This endpoint returns the basic details of the staffs that are marked as sales reps. operationId: getSalesReps 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.activeOnly in: query required: false description: 'When `true`, will return only active reps data. Default : **false**' schema: type: boolean example: true - 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.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.salesRepNumbers in: query required: false description: This is the list of the sales rep numbers for which the salesrep data will be fetched. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetSalesRepsResponse' examples: Getsalesreps200Example: summary: Default getSalesReps 200 example x-microcks-default: true value: PaginationResponse: {} SalesReps: &id092 - {} '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/staff/sessiontypes: get: tags: - Staff summary: Mindbody Gets a List of Active Session Types for a Specific Staff Member. a description: Gets a list of active session types for a specific staff member. A staff user token must be included with staff assigned the ManageStaffPayRates permission. operationId: getStaffSessionTypes parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.staffId in: query required: true description: The ID of the staff member whose session types you want to return. schema: type: integer format: int32 example: 123456 - 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.limit in: query required: false description: Number of results to include, defaults to 100 schema: 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.onlineOnly in: query required: false description: 'When `true`, indicates that only the session types that can be booked online should be returned. Default: **false**' schema: type: boolean example: true - name: request.programIds in: query required: false description: Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return. schema: type: array items: type: integer format: int32 example: - 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetStaffSessionTypesResponse' examples: Getstaffsessiontypes200Example: summary: Default getStaffSessionTypes 200 example x-microcks-default: true value: PaginationResponse: {} StaffSessionTypes: &id102 - {} '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/staff/staff: get: tags: - Staff summary: Mindbody When a User Token is Not Passed with the Request or the Passed User description: '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 * EmpID' operationId: getStaff 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.filters in: query required: false description: 'Filters to apply to the search. Possible values are: * StaffViewable * AppointmentInstructor * ClassInstructor * Male * Female' schema: type: array items: type: string example: - example-value - 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.locationId in: query required: false description: Return only staff members that are available at the specified location. You must supply a valid `SessionTypeID` and `StartDateTime` to use this parameter. schema: type: integer format: int32 example: 123456 - name: request.offset in: query required: false description: Page offset, defaults to 0. schema: type: integer format: int32 example: 1 - name: request.sessionTypeId in: query required: false description: Return only staff members that are available for the specified session type. You must supply a valid `StartDateTime` and `LocationID` to use this parameter. schema: type: integer format: int32 example: 123456 - name: request.staffIds in: query required: false description: A list of the requested staff IDs. schema: type: array items: type: integer format: int32 example: - 1 - name: request.startDateTime in: query required: false description: Return only staff members that are available at the specified date and time. You must supply a valid `SessionTypeID` and `LocationID` to use this parameter. schema: type: string format: date-time example: '2026-05-28T14:30:00Z' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetStaffResponse' examples: Getstaff200Example: summary: Default getStaff 200 example x-microcks-default: true value: PaginationResponse: {} StaffMembers: &id101 - {} '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/staff/staffpermissions: get: tags: - Staff summary: Mindbody Get Configured Staff Permissions for a Staff Member description: Get configured staff permissions for a staff member. operationId: getStaffPermissions parameters: - name: version in: path required: true description: version of the api. schema: type: string example: example-value - name: request.staffId in: query required: true description: The ID of the staff member whose permissions you want to return. schema: type: integer format: int32 example: 123456 - 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GetStaffPermissionsResponse' examples: Getstaffpermissions200Example: summary: Default getStaffPermissions 200 example x-microcks-default: true value: UserGroup: {} '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/staff/addstaff: post: tags: - Staff summary: Mindbody Creates a New Staff Member Record at the Specified Business. the description: Creates a new staff member record at the specified business. The `FirstName` and `LastName` parameters are always required for this request. operationId: addStaff 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/AddStaffRequest' examples: AddstaffRequestExample: summary: Default addStaff request example x-microcks-default: true value: FirstName: Alex LastName: Lane Email: kinlane@example.com IsMale: true HomePhone: '+15551234567' WorkPhone: '+15551234567' MobilePhone: '+15551234567' Bio: example-value Address: 123 Market St Address2: 123 Market St City: San Francisco State: CA Country: US PostalCode: '94110' ClassAssistant: true ClassAssistant2: true IndependentContractor: true AppointmentInstructor: true AlwaysAllowDoubleBooking: true ClassTeacher: true EmploymentStart: '2026-05-28T14:30:00Z' EmploymentEnd: '2026-05-28T14:30:00Z' SortOrder: 1 ProviderIDs: &id031 - example-value Notes: Example note for Mindbody Public API. EmpID: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddStaffResponse' examples: Addstaff200Example: summary: Default addStaff 200 example x-microcks-default: true value: Staff: {} '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/staff/assignsessiontype: post: tags: - Staff summary: Mindbody Assigns a Staff Member to an Appointment Session Type with Staff description: Assigns a staff member to an appointment session type with staff specific properties such as time length and pay rate. A staff user token must be included with staff assigned the ManageStaffPayRates permission. operationId: assignStaffSessionType 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/AssignStaffSessionTypeRequest' examples: AssignstaffsessiontypeRequestExample: summary: Default assignStaffSessionType request example x-microcks-default: true value: StaffId: 123456 SessionTypeId: 123456 Active: true TimeLength: 1 PrepTime: 1 FinishTime: 1 PayRateType: example-value PayRateAmount: 49.99 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AssignStaffSessionTypeResponse' examples: Assignstaffsessiontype200Example: summary: Default assignStaffSessionType 200 example x-microcks-default: true value: StaffId: 123456 SessionTypeId: 123456 PayRateType: example-value PayRateAmount: 49.99 TimeLength: 1 PrepTime: 1 FinishTime: 1 Active: true '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/staff/staffavailability: post: tags: - Staff summary: Mindbody Enables to Add Staff Availability or Unavailability for a Given Staff description: Enables to add staff availability or unavailability for a given staff member. operationId: addStaffAvailability 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/AddStaffAvailabilityRequest' examples: AddstaffavailabilityRequestExample: summary: Default addStaffAvailability request example x-microcks-default: true value: StaffId: 123456 IsAvailability: true DaysOfWeek: &id029 - example-value StartTime: example-value EndTime: example-value StartDate: example-value EndDate: example-value Description: Example note for Mindbody Public API. ProgramIds: &id030 - 1 LocationId: 123456 Status: Active responses: '200': description: OK '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/staff/updatestaff: post: tags: - Staff summary: Mindbody Updates an Existing Staff Member Record at the Specified Business. the description: Updates an existing staff member record at the specified business. The ID is a required parameters for this request. operationId: updateStaff 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/UpdateStaffRequest' examples: UpdatestaffRequestExample: summary: Default updateStaff request example x-microcks-default: true value: ID: 1 FirstName: Alex LastName: Lane Email: kinlane@example.com IsMale: true HomePhone: '+15551234567' WorkPhone: '+15551234567' MobilePhone: '+15551234567' Bio: example-value Address: 123 Market St Address2: 123 Market St City: San Francisco State: CA Country: US PostalCode: '94110' ClassAssistant: true ClassAssistant2: true IndependentContractor: true AppointmentInstructor: true AlwaysAllowDoubleBooking: true ClassTeacher: true EmploymentStart: '2026-05-28T14:30:00Z' EmploymentEnd: '2026-05-28T14:30:00Z' SortOrder: 1 ProviderIDs: &id128 - example-value Active: true Notes: Example note for Mindbody Public API. EmpID: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateStaffResponse' examples: Updatestaff200Example: summary: Default updateStaff 200 example x-microcks-default: true value: Staff: {} '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/staff/updatestaffpermissions: post: tags: - Staff summary: Mindbody Assigns a Permission Group to a Staff Member. a Staff User Token Must description: Assigns a permission group to a staff member. A staff user token must be included with staff assigned the ManageStaffPayRates permission. operationId: updateStaffPermissions 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/UpdateStaffPermissionsRequest' examples: UpdatestaffpermissionsRequestExample: summary: Default updateStaffPermissions request example x-microcks-default: true value: StaffId: 123456 PermissionGroupName: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateStaffPermissionsResponse' examples: Updatestaffpermissions200Example: summary: Default updateStaffPermissions 200 example x-microcks-default: true value: UserGroup: {} '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/usertoken/issue: post: tags: - User Token summary: Mindbody When Users Interact with Your Public API Integration as Staff Members, description: When users interact with your Public API integration as staff members, they need to get a staff user token for authentication. You can use the issue endpoint to get a staff user token, then pass the token in the headers for all of your requests. operationId: issueToken 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IssueRequest' examples: IssuetokenRequestExample: summary: Default issueToken request example x-microcks-default: true value: Username: example-value Password: example-value responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IssueResponse' examples: Issuetoken200Example: summary: Default issueToken 200 example x-microcks-default: true value: TokenType: example-value AccessToken: example-value Expires: '2026-05-28T14:30:00Z' User: {} '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/usertoken/renew: post: tags: - User Token summary: Mindbody Renews a Token. Can Be Used to Extend the Lifetime of a Token description: 'Renews a token. Can be used to extend the lifetime of a token. Current lifetime expansion: 24hrs from current expiration, up to 7 renewals.' operationId: renewToken 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 responses: '200': description: OK '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/usertoken/revoke: delete: tags: - User Token summary: Mindbody Revokes the User Token in the Authorization Header description: Revokes the user token in the Authorization header. operationId: revokeToken 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 responses: '200': description: OK '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: 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. schemas: Action11Enum: type: string description: Action11Enum enumeration. enum: - Earned - Redeemed - Returned - Removed - LateCanceled Action1Enum: type: string description: Action1Enum enumeration. enum: - None - Added - Updated - Failed - Removed Action8Enum: type: string description: Action8Enum enumeration. enum: - None - Added - Updated - Failed - Removed ActionEnum: type: string description: ActionEnum enumeration. enum: - None - Added - Updated - Failed - Removed ActivationTypeEnum: type: string description: ActivationTypeEnum enumeration. enum: - OnFirstVisit - OnPurchase AddAppointmentAddOnRequest: type: object description: Implementation of the 'AddAppointmentAddOnRequest' model. Creates an add-on for an appointment properties: ApplyPayment: type: boolean description: 'When `true`, indicates that a payment should be applied to the appointment. Currently only ApplyPayment=false is implemented. Default: **true**' example: true AppointmentId: type: integer format: int32 description: The appointment ID the add-on is getting added to. example: 123456 SessionTypeId: type: integer format: int32 description: The session type associated with the new appointment add-on. example: 123456 StaffId: type: integer format: int32 description: 'The ID of the staff member who is adding the new appointment add-on. Default: staff member performing the appointment.' example: 123456 Test: type: boolean description: 'When `true`, indicates that the method is to be validated, but no new appointment add-on data is added. Default: **false**' example: true AddAppointmentAddOnResponse: type: object description: Implementation of the 'AddAppointmentAddOnResponse' model. properties: AppointmentId: type: integer format: int32 description: This is the id of the main appointment we added on to example: 123456 AddOnAppointmentId: type: integer format: int32 description: This is the id for the newly created add-on appointment example: 123456 AddAppointmentOutcome: type: object description: Implementation of the 'AddAppointmentOutcome' model. Contains information about an appointment creation outcome. properties: Appointment: $ref: '#/components/schemas/Appointment' description: The appointment details if created. Error: $ref: '#/components/schemas/ApiError' description: The error message if the appointment creation failed. Request: $ref: '#/components/schemas/AddAppointmentRequest' description: The request details for the appointment creation. AddAppointmentRequest: type: object description: Implementation of the 'AddAppointmentRequest' model. Represents a request to add a new appointment, including details such as client information, appointment timing, location, and additional preferences. properties: ClientId: type: string description: The RRSID of the client for whom the new appointment is being made. example: example-value LocationId: type: integer format: int32 description: The ID of the location where the new appointment is to take place. example: 123456 SessionTypeId: type: integer format: int32 description: The session type associated with the new appointment. example: 123456 StaffId: type: integer format: int32 description: The ID of the staff member who is adding the new appointment. example: 123456 StartDateTime: type: string format: date-time description: The start date and time of the new appointment. example: '2026-05-28T14:30:00Z' ApplyPayment: type: boolean description: 'When `true`, indicates that a payment should be applied to the appointment.
Default: **true**' example: true Duration: type: integer format: int32 description: The duration of the appointment. This parameter is used to change the default duration of an appointment. example: 1 EndDateTime: type: string format: date-time description: "The end date and time of the new appointment.
Default: **StartDateTime**, offset by the staff member’s default appointment duration." example: '2026-05-28T14:30:00Z' GenderPreference: type: string description: "The client’s service provider gender preference." example: example-value Notes: type: string description: Any general notes about this appointment. example: Example note for Mindbody Public API. ProviderId: type: string description: If a user has Complementary and Alternative Medicine features enabled, this parameter assigns a provider ID to the appointment. example: example-value ResourceIds: type: array items: type: integer format: int32 description: A list of resource IDs to associate with the new appointment. example: *id012 SendEmail: type: boolean description: 'Whether to send client an email for cancellations. An email is sent only if the client has an email address and automatic emails have been set up.
Default: **false**' example: true StaffRequested: type: boolean description: When `true`, indicates that the staff member was requested specifically by the client. example: true Test: type: boolean description: 'When true, indicates that the method is to be validated, but no new appointment data is added.
Default: **false**' 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 IsRequest: type: boolean description: 'Indicates whether to add an appointment request for review. If `true`, the appointment will be added as a request, bypassing the `IsWaitlist` parameter and two validations: 1. If a consumer is adding the appointment for another person. 2. If a staff member without permission to add appointments for other staff members is adding the appointment for another staff member. This also allows anonymous calls (without an authentication token) to this endpoint. The `AllowClientsToBookAppointments` option' example: true PartnerExternalId: type: string description: Optional external key for api partners. example: example-value AddAppointmentRequestId: type: integer format: int32 description: A unique identifier for tracking the AddAppointmentRequest. This ID is not stored and is used to match each request with its corresponding response. The request object will also be returned in the response, with the same ID value. - For single requests, this value will be ignored. - For multiple requests, if no value is provided, the system will generate an identifier ranging from 0 to (number of requests - 1). example: 123456 AddAppointmentResponse: type: object description: Implementation of the 'AddAppointmentResponse' model. properties: Appointment: $ref: '#/components/schemas/Appointment' description: Contains information about the appointment. AddArrivalRequest: type: object description: Implementation of the 'AddArrivalRequest' model. properties: ClientId: type: string description: The ID of the requested client. example: example-value LocationId: type: integer format: int32 description: The ID of the location for the requested arrival. example: 123456 ArrivalTypeId: type: integer format: int32 description: 'The ID of the arrival program (service category) under which this arrival is to be logged. If this is not provided, the program ID of the first arrival pricing option found will be used. OPTIONAL: will take first payment found if not provided Default: **null**' example: 123456 LeadChannelId: type: integer format: int32 description: The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management. If this is not supplied then it wont save anything. This parameters required to track the lead channel if new client added while adding arrival of client on non home location. example: 123456 Test: type: boolean description: 'When `true`, indicates that the arrival log is to be validated, but no new arrival data is added. When `false`, the arrival is logged and the database is affected. Default: **false**' example: true AddArrivalResponse: type: object description: Implementation of the 'AddArrivalResponse' model. properties: ArrivalAdded: type: boolean description: When `true`, indicates that the arrival was added to the database. example: true ClientService: $ref: '#/components/schemas/ClientService' description: "Contains information about the pricing option being used to pay for the client’s current service session." AddAvailabilitiesRequest: type: object description: Implementation of the 'AddAvailabilitiesRequest' model. properties: Test: type: boolean description: When `true`, the request ensures that its parameters are valid without affecting real data. When `false`, the request performs as intended and may affect live client data. (optional) Defaults to false. example: true LocationID: type: integer format: int32 description: Location of availability.
Not used when IsUnavailable is `true`. example: 1 StaffIDs: type: array items: type: integer format: int32 description: A list of requested staff IDs.
(optional) Defaults to staff ID of user credentials. Use 0 for all. example: *id013 ProgramIDs: type: array items: type: integer format: int32 description: A list of program IDs.
(optional) Defaults to all.
Not used when IsUnavailable is true. example: *id014 StartDateTime: type: string format: date-time description: The start date and time of the new availabilities or unavailabilities. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: The end date and time of the new availabilities or unavailabilities. example: '2026-05-28T14:30:00Z' DaysOfWeek: type: array items: $ref: '#/components/schemas/DaysOfWeekEnum' description: The days of the week to set.
(optional) Defaults to all. example: *id015 UnavailableDescription: type: string description: Description of unavalability.
Only used when IsUnavailable is true. example: Example note for Mindbody Public API. IsUnavailable: type: boolean description: 'When `true`, indicates that unavailability is getting added. When `false`, indicates that availability is getting added. Default: **false**' example: true PublicDisplay: $ref: '#/components/schemas/PublicDisplay1Enum' description: Sets the public display of the availability.
(optional) Defaults to Show. AddAvailabilitiesResponse: type: object description: Implementation of the 'AddAvailabilitiesResponse' model. Add Availabilities Response Model properties: StaffMembers: type: array items: $ref: '#/components/schemas/Staff1' description: Contains information about the staff. example: *id016 Errors: type: array items: $ref: '#/components/schemas/ApiError1' description: Contains information about the error. example: *id017 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: *id005 ShowToPublic: type: boolean description: 'Allow clients to see this schedule Default: **true**' example: true AddClientDirectDebitInfoRequest: type: object description: Implementation of the 'AddClientDirectDebitInfoRequest' model. properties: Test: type: boolean description: 'When `true`, indicates that test mode is enabled. The information is to be validated, but no data will be added or updated. Default: **false**' example: true ClientId: type: string description: The ID of the client being updated example: example-value NameOnAccount: type: string description: The name on the bank account being added example: example-value RoutingNumber: type: string description: The routing number of the bank account being added example: example-value AccountNumber: type: string description: The bank account number example: example-value AccountType: type: string description: 'The account type. Possible values: * Checking * Savings' example: example-value AddClientDirectDebitInfoResponse: type: object description: Implementation of the 'AddClientDirectDebitInfoResponse' model. properties: ClientId: type: string description: The ID of the client being updated example: example-value NameOnAccount: type: string description: The name on the bank account being added example: example-value RoutingNumber: type: string description: The routing number of the bank account being added example: example-value AccountNumber: type: string description: The bank account number example: example-value AccountType: type: string description: 'The account type. Possible values: * Checking * Savings' example: example-value AddClientRequest: type: object description: Implementation of the 'AddClientRequest' model. properties: FirstName: type: string description: "The client’s first name. You must specify a first name when you add a client." example: Alex LastName: type: string description: "The client’s last name. You must specify a last name when you add a client." example: Lane 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 Action: $ref: '#/components/schemas/Action1Enum' description: The action taken. Active: type: boolean description: When `true`, indicates that the client is active at the site.
When `false`, indicates that the client is not active at the site. example: true 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 ApptGenderPrefMale: type: boolean description: 'When `true`, indicates that the client prefers services to be provided by a male service provider.
When `false`, indicates that the client prefers services to be provided by a female service provider.
When `null`, indicates that the client has no preference. Default: **null**' example: true BirthDate: type: string format: date-time description: "The client’s date of birth." example: '2026-05-28T14:30:00Z' City: type: string description: "The client’s city." example: San Francisco ClientCreditCard: $ref: '#/components/schemas/ClientCreditCard' description: "Contains information about the client’s credit card." ClientIndexes: type: array items: $ref: '#/components/schemas/AssignedClientIndex' description: Contains a list of the indexes and client index values to be assigned to the client. 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: *id018 ClientRelationships: type: array items: $ref: '#/components/schemas/ClientRelationship' description: Contains information about client relationships that were added or updated for the client. This parameter does not include all of the relationships assigned to the client, only the ones passed in the request. example: *id019 Country: type: string description: The country in which the client is located. example: US CreationDate: type: string format: date-time description: "The date when the client was added to the business, either by the client from the online store or by a staff member at the subscriber’s business. 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: *id020 Email: type: string description: "The client’s email address." example: kinlane@example.com EmergencyContactInfoEmail: type: string description: "The email address of the client’s emergency contact.
For more information, see [Children’s program features(emergency contact information)](https://support.mindbodyonline.com/s/article/20325928 3-Children-s-program-features-emergency-contact-information?languag e=en_US)." example: kinlane@example.com EmergencyContactInfoName: type: string description: "The name of the client’s emergency contact." example: example-value 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, for example, mother or spouse." example: example-value 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' Gender: type: string description: "The client’s gender." example: example-value HomeLocation: $ref: '#/components/schemas/Location' description: "Sets the client’s home location to the passed location, based on its ID." HomePhone: type: string description: "The client’s home phone number." example: '+15551234567' 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.
If the business owner has enabled the setting to default new client as a Prospect, the isProspect value will always be true. Otherwise,
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 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. 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' Liability: $ref: '#/components/schemas/Liability' description: "Contains the client’s liability agreement information for the business." LiabilityRelease: type: boolean description: "When `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. When `false`, sets the client’s liability information as follows: * `IsReleased` is set to `false`. * `AgreementDate` is set to `null`" example: true MembershipIcon: type: integer format: int32 description: "The ID of the membership icon displayed next to the client’s name, if the client has a membership on their account." example: 1 MiddleName: type: string description: "The client’s middle name." example: example-value MobilePhone: type: string description: "The client’s mobile phone number." example: '+15551234567' MobileProvider: type: integer format: int32 description: The client's mobile provider. example: 1 NewId: type: string description: "The new RSSID to be used for the client. Use `NewId` to assign a specific alphanumeric value to be a client’s ID. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested value is already in use, the call returns an error. Note: NewId value cannot fall within the reserved default ID range (100000000 -> 101000000)" example: example-value 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. PhotoUrl: type: string description: "The URL for the client’s photo, if one has been uploaded." example: https://example.mindbodyonline.com/resource/abc123 PostalCode: type: string description: "The client’s postal code." example: '94110' 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). RedAlert: type: string description: Contains any red alert information entered by the business owner for the client. 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 `GET ClientReferralTypes` endpoint.
For more information, see [Referral types and referral subtypes](https://support.mindbodyonline.com/s/article/203259393-Re ferral-types-and-referral-subtypes?language=en_US). example: example-value SalesReps: type: array items: $ref: '#/components/schemas/SalesRep' description: Contains information about the sales representatives to be assigned to the new client. example: *id021 SiteId: type: integer format: int32 description: The ID of the site. example: -99 State: type: string description: "The client’s state." example: CA Status: type: string description: "The client’s status." example: Active Test: type: boolean description: 'When `true`, indicates that test mode is enabled. The method is validated, but no client data is added or updated.
Default: **false**' example: true 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 WorkExtension: type: string description: "The client’s work phone extension number." example: example-value WorkPhone: type: string description: "The client’s work phone number." example: '+15551234567' YellowAlert: type: string description: Contains any yellow alert information entered by the business owner for the client. example: example-value SendScheduleEmails: type: boolean description: 'When `true`, indicates that the client opts to receive schedule emails. Default : **false**' example: true SendAccountEmails: type: boolean description: 'When `true`, indicates that the client opts to receive account emails. Default : **false**' example: true SendPromotionalEmails: type: boolean description: 'When `true`, indicates that the client opts to receive promotional emails. Default : **false**' example: true SendScheduleTexts: type: boolean description: When `true`, indicates that the client opts to receive schedule texts. example: true SendAccountTexts: type: boolean description: When `true`, indicates that the client opts to receive account texts. example: true SendPromotionalTexts: type: boolean description: When `true`, indicates that the client opts to receive promotional texts. example: true LockerNumber: type: string description: The clients locker number. example: example-value ReactivateInactiveClient: type: boolean description: When `true`, indicates that the client opts to reactive existing Inactive client. example: true LeadChannelId: type: integer format: int32 description: The ID of the LeadChannel from LeadManagement. This parameter is required by LeadManagement to track the LeadChannel from where the new client is added. If this value is not supplied then it won't save anything. example: 123456 AddClientResponse: type: object description: Implementation of the 'AddClientResponse' model. properties: Client: $ref: '#/components/schemas/Client' description: Contains information about the client. AddClientToClassRequest: type: object description: Implementation of the 'AddClientToClassRequest' model. properties: ClientId: type: string description: The ID of the client who is being booked into the class example: example-value ClassId: type: integer format: int32 description: The ID of the class into which the client is being booked example: 123456 Test: type: boolean description: 'When `true`, indicates that input information is validated, but not committed.
When `false`, the information is committed and the database is affected.
Default: **false**' example: true RequirePayment: type: boolean description: "When `true`, the client must have an active, usable pricing option on their account.
When `false` or omitted, an active pricing option is not required to complete the client’s booking." example: true Waitlist: type: boolean description: When `true`, indicates that the client should be added to a specific class waiting list.
When `false`, the client should not be added to the waiting list. example: true SendEmail: type: boolean description: "When `true`, the subscriber’s configured Booking Confirmation automatic email is sent to the client. Note that an email is sent only if the client has an email address and automatic emails have been set up.
When `false`, indicates that the client does not receive emails.
Default: **false** **Note**: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent. When the Authorization header is passed and the SendEmail is set to `false`, then a" example: true WaitlistEntryId: type: integer format: int32 description: The ID of the waiting list entry from which you are moving a client into a class. example: 123456 ClientServiceId: type: integer format: int32 description: "The ID of the pricing option on the client’s account that you want to use to pay for this booking, if payment is required at the time of the update." example: 123456 CrossRegionalBooking: type: boolean description: When `true`, cross regional series are checked and used if applicable. example: true CrossRegionalBookingClientServiceSiteId: type: integer format: int32 description: If the request is cross regional, use a purchased pricing option from this specified site. If omitted, an attempt is made to use an applicable pricing option from the local site. example: 123456 UniqueId: type: integer format: int32 description: The UniqueID of the client who is being booked into the class example: 123456 AddClientToClassResponse: type: object description: Implementation of the 'AddClientToClassResponse' model. properties: Visit: $ref: '#/components/schemas/AddClientToClassVisit' description: Contains information about the created visit. AddClientToClassVisit: type: object description: Implementation of the 'AddClientToClassVisit' model. properties: AppointmentId: type: integer format: int32 description: "The appointment’s ID." example: 123456 AppointmentGenderPreference: $ref: '#/components/schemas/AppointmentGenderPreference1Enum' description: The gender of staff member with whom the client prefers to book appointments. 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 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 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 ID of the client's pricing option applied to the class visit. example: 123456 ServiceName: type: string description: The name of the pricing option applied to the class visit. example: example-value ProductId: type: integer format: int32 description: The business' ID of the type of pricing option used to pay for the class visit. 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. CrossRegionalBookingPerformed: type: boolean description: When `true`, indicates that the client is paying for the visit using a pricing option from one of their associated cross-regional profiles. example: true SiteId: type: integer format: int32 description: The ID of the business from which cross-regional payment is applied. example: -99 WaitlistEntryId: type: integer format: int32 description: 'When this value is not null, it indicates that the client is on the waiting list for the requested class. The only additional fields that are populated when this is not null are: * ClassId * ClientId You can call GET WaitlistEntries using `WaitlistEntryId` to obtain more data about this waiting list entry.' example: 123456 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: *id022 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 AddContactLogRequest: type: object description: Implementation of the 'AddContactLogRequest' model. properties: ClientId: type: string description: The ID of the client whose contact log is being added. example: example-value ContactMethod: type: string description: How the client wants to be contacted. example: example-value AssignedToStaffId: type: integer format: int32 description: The ID of the staff member to whom the contact log is assigned. example: 123456 Text: type: string description: The body of the contact log. example: example-value FollowupByDate: type: string format: date-time description: The date by which the assigned staff member should complete this contact log. example: '2026-05-28T14:30:00Z' ContactName: type: string description: The name of the person to be contacted by the assigned staff member. example: example-value IsComplete: type: boolean description: "When `true`, indicates that the contact log is complete. When `false`, indicates the contact log isn’t complete." example: true Comments: type: array items: type: string description: Any comments on the contact log. example: *id023 Types: type: array items: $ref: '#/components/schemas/AddContactLogType' description: The contact log types used to tag this contact log. example: *id024 Test: type: boolean description: "When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.
When `false`, the database is updated." example: true AddContactLogType: type: object description: Implementation of the 'AddContactLogType' model. Defines what sort of subtypes we want to add to this contact log type properties: Id: type: integer format: int32 description: "The contact log type’s ID." example: 123456 SubTypes: type: array items: type: integer format: int32 description: A list of the subtype IDs used to tag this contact log type. example: - 1 AddFormulaNoteRequest: type: object description: Implementation of the 'AddFormulaNoteRequest' model. properties: ClientId: type: string description: The ID of the client who needs to have a formula note added. example: example-value Note: type: string description: The new formula note text. example: example-value AppointmentId: type: integer format: int32 description: The appointment ID that the formula note is related to. example: 123456 AddMultipleAppointmentsRequest: type: object description: Implementation of the 'AddMultipleAppointmentsRequest' model. Request to add multiple appointments. properties: AddAppointmentRequests: type: array items: $ref: '#/components/schemas/AddAppointmentRequest' description: List of appointment requests to be added. example: *id025 AddMultipleAppointmentsResponse: type: object description: Implementation of the 'AddMultipleAppointmentsResponse' model. Represents the response for adding multiple appointments. properties: AddAppointmentOutcomes: type: array items: $ref: '#/components/schemas/AddAppointmentOutcome' description: Contains information about the created appointments. example: *id026 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 AddOnSmall1: type: object description: Implementation of the 'AddOnSmall1' model. properties: Id: type: integer format: int32 description: The unique ID of the appointment add on. example: 123456 Name: type: string description: The Name of the appointment add on. example: Sunset Yoga Studio StaffId: type: integer format: int32 description: The unique ID of the staff on appointment. example: 123456 TypeId: type: integer format: int32 description: The ID of the session type of this appointment. example: 123456 AddPromoCodeRequest: type: object description: Implementation of the 'AddPromoCodeRequest' model. properties: Code: type: string description: The code of the promocode. example: example-value Name: type: string description: The name of the promocode. example: Sunset Yoga Studio Active: type: boolean description: 'Indicates that promocode is active. Default: **true**' example: true Discount: $ref: '#/components/schemas/Discount' description: Discount info ActivationDate: type: string format: date-time description: "The date of the promocode activation. Default: **today’s date**" example: '2026-05-28T14:30:00Z' ExpirationDate: type: string format: date-time description: "The date of the promocode expiration. Default: **a months from today’s date**" example: '2026-05-28T14:30:00Z' MaxUses: type: integer format: int32 description: The maximun number of uses. A use is considered a single sale. example: 1 DaysAfterCloseDate: type: integer format: int32 description: The number of days a client has to use a promocode after they are no longer a prospect. example: 1 AllowOnline: type: boolean description: 'Indicates if promocode can be redeemed online in consumer mode. Default: **false**' example: true DaysValid: type: array items: type: string description: 'Indicates what days of the week promocode is valid. Defaults to 7 days of the week. Possible values are: * Monday * Tuesday * Wednesday * Thursday * Friday * Saturday * Sunday' example: *id027 ApplicableItems: type: array items: $ref: '#/components/schemas/ApplicableItem' description: Contains information about a promocode applicable items. See ApplicableItems for a details of the `ApplicableItems` object. example: *id028 AddPromoCodeResponse: type: object description: Implementation of the 'AddPromoCodeResponse' model. properties: PromoCode: $ref: '#/components/schemas/PromoCode' description: Contains information about PromoCode AddSiteClientIndexRequest: type: object description: Implementation of the 'AddSiteClientIndexRequest' model. properties: ClientIndexName: type: string description: The name of the client index. example: example-value Active: type: boolean description: Indicates if Client Index is Active example: true ShowOnNewClient: type: boolean description: Indicates if Client Index is shown on a new client profile example: true ShowOnEnrollmentRoster: type: boolean description: Indicates if Client Index is shown on Enrollement Roster example: true EditOnEnrollmentRoster: type: boolean description: Indicates if Client Index can be edited on Enrollement Roster example: true SortOrder: type: integer format: int32 description: Indicates sort order example: 1 ShowInConsumerMode: type: boolean description: Indicates if Client Index is shown in consumer mode. example: true RequiredConsumerMode: type: boolean description: Indicates if the index is required when creating profiles in consumer mode. example: true RequiredBizMode: type: boolean description: Indicates if the index is required when creating profiles in business mode. example: true AddSiteClientIndexResponse: type: object description: Implementation of the 'AddSiteClientIndexResponse' model. properties: ClientIndexID: type: integer format: int32 description: ID of the client index. example: 1 ClientIndexName: type: string description: The name of the client index. example: example-value Active: type: boolean description: Indicates if Client Index is Active example: true ShowOnNewClient: type: boolean description: Indicates if Client Index is shown on a new client profile example: true ShowOnEnrollmentRoster: type: boolean description: Indicates if Client Index is shown on Enrollement Roster example: true EditOnEnrollmentRoster: type: boolean description: Indicates if Client Index can be edited on Enrollement Roster example: true SortOrder: type: integer format: int32 description: Indicates sort order example: 1 ShowInConsumerMode: type: boolean description: Indicates if Client Index is shown in consumer mode. example: true RequiredConsumerMode: type: boolean description: Indicates if the index is required when creating profiles in consumer mode. example: true RequiredBizMode: type: boolean description: Indicates if the index is required when creating profiles in business mode. example: true AddStaffAvailabilityRequest: type: object description: Implementation of the 'AddStaffAvailabilityRequest' model. Add Staff Availability/Unavailability Schedule properties: StaffId: type: integer format: int32 description: The ID of the staff member that availability or unavailability will be added. example: 123456 IsAvailability: type: boolean description: When `true`, indicates that availability will be added,
When `false`, indicates that unavailability will be added. example: true DaysOfWeek: type: array items: type: string description: The days of the week. Must contain at least one of the following Sunday, Monday, Tuesday etc. example: *id029 StartTime: type: string description: The start time of the schedule. Must be in HH:MM:SS format. example: example-value EndTime: type: string description: The end time of the schedule. Must be in HH:MM:SS format. example: example-value StartDate: type: string description: The start date of the schedule. Must be in YYYY-MM-DD format. example: example-value EndDate: type: string description: The end date of the schedule. Must be in YYYY-MM-DD format. example: example-value Description: type: string description: The description of the unavailability, ex. Lunch, Vacation. Required if IsAvailability passed as `false`. Omit if IsAvailability passed as `true`. example: Example note for Mindbody Public API. ProgramIds: type: array items: type: integer format: int32 description: A list of program IDs. Must be a valid active schedulable Program ID. Required if IsAvailability passed as `true`. Omit if IsAvailability passed as `false`. example: *id030 LocationId: type: integer format: int32 description: The ID of the location where the availability is added. Required if IsAvailability passed as `true`. Omit if IsAvailability passed as `false`. example: 123456 Status: type: string description: 'The status of availability or unavailability. Possible values are: * Masked * Hidden * Public Default: Public' example: Active AddStaffRequest: type: object description: Implementation of the 'AddStaffRequest' model. properties: FirstName: type: string description: The staff member first name. You must specify a first name when you add a staff member. example: Alex LastName: type: string description: The staff member last name. You must specify a last name when you add a staff member. example: Lane Email: type: string description: "The staff member’s email address." example: kinlane@example.com IsMale: type: boolean description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female. example: true HomePhone: type: string description: "The staff member’s home phone number." example: '+15551234567' WorkPhone: type: string description: "The staff member’s work phone number." example: '+15551234567' MobilePhone: type: string description: "The staff member’s mobile phone number." example: '+15551234567' Bio: type: string description: "The staff member’s biography. This string contains HTML." example: example-value Address: type: string description: The first line of the staff member street address. example: 123 Market St Address2: type: string description: The second line of the staff member street address, if needed. example: 123 Market St City: type: string description: "The staff member’s city." example: San Francisco State: type: string description: "The staff member’s state." example: CA Country: type: string description: "The staff member’s country." example: US PostalCode: type: string description: "The staff member’s postal code." example: '94110' ClassAssistant: type: boolean description: Is the staff an assistant example: true ClassAssistant2: type: boolean description: Is the staff an assistant2 example: true 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 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 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 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' 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 ProviderIDs: type: array items: type: string description: A list of providerIDs for the staff. In the US it is one per staff and is numeric, otherwise it can be a list and is alpha-numeric for more information see Provider IDs example: *id031 Notes: type: string description: The staff member private notes. example: Example note for Mindbody Public API. EmpID: type: string description: The custom staff ID assigned to the staff member. example: example-value AddStaffResponse: type: object description: Implementation of the 'AddStaffResponse' model. properties: Staff: $ref: '#/components/schemas/Staff' description: Contains information about the staff AllowedPermissionEnum: type: string description: AllowedPermissionEnum enumeration. enum: - ManageClassAndEventDescriptions - ManageClassSchedules - ScheduleFreeClassesAndEvents - ScheduleResourcesForClassesAndEvents - SubstituteClassAndEventTeachers - BulkEditClassSchedules - AddStaffMembers - ManagePersonalInfoForStaff - ManageStaffSettings - ManageStaffLogins - ManageStaffSchedules - ManageStaffPayRates - AccessBusinessInformationScreen - AccessGeneralSetupOptionsScreen - AccessNewsEventsScreen - ManageHolidays - ClassAndEventOptionsScreen - AppointmentOptionsScreen - AccessMediaManagementScreen - AccessMembershipSetupScreen - ManagePaymentMethods - ManageRoomNumbers - AccessResourceManagementScreen - AccessResourcesSchedulingTab - AccessLinksScreen - BulkCancelClientReservations - FindDuplicateClients - MergeDuplicateClients - ManageAutoEmails - ManageRevenueCategoriesForServices - ManageRevenueCategoriesForProducts - AccessActiveSessionTimesScreen - AccessClassSessionTypeScreens - AccessServiceCategoriesScreen - ManageSubscriberPricing - AddIntroOffersOnAcquisitionDashboard - ManageMindbodyNetworkSettings - ManageProducts - ViewProductCost - ManageMembershipSettingsForPricing - ManagePromotionCodes - EditSales - PrintProductBarcodes - MakeSales - AddProductsOnRetailScreen - EditSaleDateOnRetailScreen - EditSalePriceCountOnRetailScreen - EditActivationDateOnRetailScreen - ApplyCustomDiscountsOnRetailScreen - PayForAnotherClientOnRetailScreen - VoidEditPastSales - RefundSales - RefundSalesToCreditCards - LocationSwitching - PullReportsForAllLocations - LogInventory - AdjustInventory - TransferInventory - ManagePurchaseOrders - ManageLocationLocalization - ManagePermissionGroups - ManageConstantContactSettings - AccessServicesPricingScreen - ManageSemesters - ManageRetentionMarketing - ManageSubscriberSetupChecklist - ViewClassAndEventReservations - BookClassesAndEvents - BookClassesAndEventsInThePast - BookClassesAndEventsWithoutPayment - CancelClassesAndEvents - ManageClassNotes - ViewAppointmentSchedule - ViewPersonalAppointmentSchedule - EditPersonalAppointmentSchedule - ViewAppointmentDetails - ManageAppointmentRequests - BookAppointmentsForOtherStaffMembers - BookAppointmentsInThePast - ChangeAppointmentDetails - UseAnyAppointmentAsAnAddon - ChangeAppointmentDuration - CancelAppointments - ApplyPaymentToAppointments - CheckOutAppointments - OverrideAssignedPricing - ManageAppointmentColors - ViewAllLocationOnClientLookupScreen - AddClient - ViewClientProfileScreen - EditClientProfileScreen - AssignClientIndexes - ManageClientSuspensions - ViewClientPastVisits - ViewClientAccountAndPurchaseHistory - EditClientServiceDurationAndAssignedVisits - EditClientServiceSessionCount - IgnoreServiceCategoriesWhenReassigningPayment - ViewClientAutoPaySchedules - ManageClientAutoPaySchedules - ViewClientDocuments - AddClientDocuments - DeleteClientDocuments - ViewClientFutureVisits - ViewClientBillingInformation - EditClientBillingInformation - ManageClientLogins - UnassignClientGiftCards - IgnoreCancellationPolicy - LaunchSignInScreen - DeleteAndTerminateClientContracts - ReleaseContractDeposits - AutoRenewAndSuspendContracts - ManageClassTests - ScheduleClassTests - ManageClientRequiredFields - ManageClientAlerts - ManageClientTypesAndClientIndexes - ManageClientReferralTypes - ManageClientRelationshipTypes - ManageClientGenders - ClientAcquisitionAndAnalyticsDashboards - ViewRetentionMarketingDashboard - ExportReports - ManageTaggedClients - StaffPhoneBookReport - ScheduleAtAGlanceReportForAllStaff - PersonalScheduleAtAGlanceReport - AttendanceWithRevenueReport - CancellationsReport - PersonalCancellationsReport - AccountBalancesReport - BulkAutoPaySchedulingFromAccountBalancesReport - EventInvoicesReport - CashDrawerReportCurrentDate - CashDrawerReportAnyDate - DailyCloseoutReport - SalesReports - SalesBySupplierAndProductReports - PromoteFeesReport - GiftCardsReport - InventoryReports - MarketingReports - AnalysisReports - ClientIndexesReports - PayrollReportsForAllStaff - PersonalPayrollReports - StaffPerformanceReports - OnlineMetricsReport - RetentionManagementReport - EntryLogsReport - StaffActivityLogReport - MembershipReport - ManageOnlineOrdersReport - TasksReport - ClockSelfInAndOut - ClockOthersInAndOut - AccessTimeclockReport - ManageTimeClocks - ManageTimeClockTasks - ManageContactLogTypes - ViewContactLogs - AddContactLogs - EditOtherStaffMemberContactLogs - DeleteContactLogs - ContactLogAnalysisReport - SalesForecastReport - ViewAllClients - ManageClientSalesReps - CreateRetailTickets - EditRetailTickets - ManageTaskAssignments - MerchantAccountReports - VoidCreditCardTransactions - SettleCreditCardTransactions - UseStoredCreditCards - ManageAutoPays - ViewPersonalReviews - ViewOthersReviews - ViewClientNamesOnReviewReport - EmailClientsFromReviewReport - FlagReviewForRemoval - RespondPubliclyToReviews AlternativePaymentMethod: type: object description: Implementation of the 'AlternativePaymentMethod' model. DTO object for alternative payment methods. properties: Id: type: integer format: int32 description: The ID of the alternative payment method. example: 123456 Name: type: string description: The name of the alternative payment method. example: Sunset Yoga Studio 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 Amenity1: type: object description: Implementation of the 'Amenity1' model. A specific amenity at a location properties: Id: type: integer format: int32 description: The identifying ID of the amenity. example: 123456 Name: type: string description: The name of the amenity (e.g. "Lockers" or "Food/Drink"). example: Sunset Yoga Studio ApiError: type: object description: Implementation of the 'ApiError' model. properties: Message: type: string description: The model property of type str. example: example-value Code: type: string description: The model property of type str. example: example-value ApiError1: type: object description: Implementation of the 'ApiError1' model. properties: Message: type: string description: The text of the message. Each message is specific to the error that caused it. For example, if the the error type is `InvalidFileFormat`, the message could say "The photo you attempted to upload is not a supported file type." example: example-value Code: type: string description: The type of error that occurred, for example, `ClientNotFound` or `InvalidClassId`. example: example-value ApplicableItem: type: object description: Implementation of the 'ApplicableItem' model. Item that will be applied to a promo code properties: Type: type: string description: 'Type of a promo code The promotional item type. Possible values are: * ServiceCategory * RevenueCategory * Supplier * Item' example: example-value Id: type: integer format: int32 description: The promotional item ID. example: 123456 Name: type: string description: The promotional item name. example: Sunset Yoga Studio 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. Appointment1: type: object description: Implementation of the 'Appointment1' model. An appointment properties: GenderPreference: type: string description: Prefered gender of appointment. example: example-value Duration: type: integer format: int32 description: Duration of appointment. example: 1 ProviderId: type: string description: If a user has Complementary and Alternative Medicine features enabled, this will allow a Provider ID to be assigned to an appointment. example: example-value Id: type: integer format: int32 description: The unique ID of the appointment. example: 123456 Status: $ref: '#/components/schemas/Status1Enum' description: The status of this appointment. StartDateTime: type: string format: date-time description: The date and time the appointment will start. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: The date and time the appointment will end. example: '2026-05-28T14:30:00Z' Notes: type: string description: The appointment notes. example: Example note for Mindbody Public API. PartnerExternalId: type: string description: Optional external key for api partners. example: example-value StaffRequested: type: boolean description: Whether the staff member was requested specifically by the client. example: true ProgramId: type: integer format: int32 description: The ID of the program this appointment belongs to. example: 123456 WaitlistEntryId: type: integer format: int32 description: The ID of the appointment waitlist. 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 will take place. example: 123456 StaffId: type: integer format: int32 description: The ID of the staff member instructing this appointment. example: 123456 ClientId: type: string description: The RSSID of the client booked for this appointment. example: example-value FirstAppointment: type: boolean description: Whether this is the client's first appointment at the site. example: true ClientServiceId: type: integer format: int32 description: The ID of the pass on the client's account that is paying for this appointment. example: 123456 Resources: type: array items: $ref: '#/components/schemas/Resource' description: The resources this appointment is using. example: - {} AddOns: type: array items: $ref: '#/components/schemas/AddOnSmall1' description: The Add-Ons Associated with this appointment example: - {} IsWaitlist: type: boolean description: Whether to add appointment to waitlist. example: true OnlineDescription: type: string description: Online Description associated with the appointment example: Example note for Mindbody Public API. AppointmentAddOn: type: object description: Implementation of the 'AppointmentAddOn' model. properties: Id: type: integer format: int32 description: The ID of this add-on. example: 123456 Name: type: string description: The name of this add-on. example: Sunset Yoga Studio NumDeducted: type: integer format: int32 description: The number of sessions that this add-on deducts from the pricing option used to pay for this add-on. example: 1 CategoryId: type: integer format: int32 description: "This ID of this add-on’s category." example: 123456 Category: type: string description: "The name of this add-on’s category." example: example-value AppointmentGenderPreference1Enum: type: string description: AppointmentGenderPreference1Enum enumeration. enum: - None - Female - Male AppointmentGenderPreferenceEnum: type: string description: AppointmentGenderPreferenceEnum enumeration. enum: - None - Female - Male AppointmentOption: type: object description: Implementation of the 'AppointmentOption' model. An appointment option name/value pair properties: DisplayName: type: string description: The name displayed for this appointment option. example: example-value Name: type: string description: The name given to this option. example: Sunset Yoga Studio Value: type: string description: The value of the option. example: example-value Type: type: string description: The data type of the option value. example: example-value 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 AppointmentStatusEnum: type: string description: AppointmentStatusEnum enumeration. enum: - None - Requested - Booked - Completed - Confirmed - Arrived - NoShow - Cancelled - LateCancelled AssignStaffSessionTypeRequest: type: object description: Implementation of the 'AssignStaffSessionTypeRequest' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member session type is getting assigned to. The staff member must be assignable to appointments or already be assigned to the session type in the request. example: 123456 SessionTypeId: type: integer format: int32 description: The ID of the session type that is getting assigned to the staff member. The session type must be an appointment. example: 123456 Active: type: boolean description: Indicates if assignment is active. Passing `false` is equivalent to deleting the assignment. example: true TimeLength: type: integer format: int32 description: The staff specific amount of time that a session of this type typically lasts. example: 1 PrepTime: type: integer format: int32 description: Prep time in minutes example: 1 FinishTime: type: integer format: int32 description: Finish time in minutes example: 1 PayRateType: type: string description: 'The pay rate type. Can be one of the following (case insensitive): Percent Flat No Pay If PayRateType is not provided in the request and the request is creating a completely new assignment (not editing an existing active or inactive assignment), then the staff member default pay rate and pay rate amount are used to create the assignment. Otherwise, the existing assignment values are used for any optional request parameters not included in the request.' example: example-value PayRateAmount: type: number format: double description: The pay rate amount for the specific staff member. It is parsed according to the PayRateType. example: 49.99 AssignStaffSessionTypeResponse: type: object description: Implementation of the 'AssignStaffSessionTypeResponse' model. properties: StaffId: type: integer format: int32 description: Staff member assigned to the session type example: 123456 SessionTypeId: type: integer format: int32 description: The session type the staff member is assigned to example: 123456 PayRateType: type: string description: 'The pay rate type name Can be: "Flat", "Percent", or "No Pay"' example: example-value PayRateAmount: type: number format: double description: The pay rate amount. It is interpreted based on the value of PayRateTypeId example: 49.99 TimeLength: type: integer format: int32 description: The staff specific amount of time that a session of this type typically lasts. example: 1 PrepTime: type: integer format: int32 description: Prep time in minutes example: 1 FinishTime: type: integer format: int32 description: Finish time in minutes example: 1 Active: type: boolean description: Whether this association is active example: true 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 AutopaySchedule: type: object description: Implementation of the 'AutopaySchedule' model. properties: FrequencyType: type: string description: 'Defines how often clients are charged. Possible values are: * SetNumberOfAutopays * MonthToMonth' example: example-value FrequencyValue: type: integer format: int32 description: The interval of AutoPay frequency, combined with `FrequencyTimeUnit`. This value is null if `FrequencyType` is `MonthToMonth`. example: 1 FrequencyTimeUnit: type: string description: 'Defines the time unit that sets how often to run the AutoPay, combined with `FrequencyValue`. This value is null if `FrequencyType` is `MonthToMonth`. Possible values are: * Weekly * Monthly * Yearly' example: example-value AutopayStatusEnum: type: string description: AutopayStatusEnum enumeration. enum: - Active - Inactive - Suspended 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: - {} Availability1: type: object description: Implementation of the 'Availability1' model. The availability of a specific staff properties: Id: type: integer format: int32 description: Id of the availability example: 123456 Staff: $ref: '#/components/schemas/Staff1' description: Availabilities staff. SessionType: $ref: '#/components/schemas/SessionType1' description: Availabilities session type. Programs: type: array items: $ref: '#/components/schemas/Program1' description: Availabilities program list. example: - {} StartDateTime: type: string format: date-time description: Availabilities start date and time. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: Availabilities end date and time. example: '2026-05-28T14:30:00Z' BookableEndDateTime: type: string format: date-time description: Availabilities bookable end date and time. example: '2026-05-28T14:30:00Z' Location: $ref: '#/components/schemas/Location1' description: Availabilities location. PrepTime: type: integer format: int32 description: Appointment prep time example: 1 FinishTime: type: integer format: int32 description: Appointment finish time example: 1 IsMasked: type: boolean description: The model property of type bool. example: true ShowPublic: type: boolean description: The model property of type bool. example: true ResourceAvailabilities: type: array items: $ref: '#/components/schemas/ResourceAvailability1' description: List of resource availabilities that can be booked with this session type. example: - {} BookingStatusEnum: type: string description: BookingStatusEnum enumeration. enum: - PaymentRequired - BookAndPayLater - Free 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' CancelSingleClassRequest: type: object description: Implementation of the 'CancelSingleClassRequest' model. properties: ClassID: type: integer format: int32 description: Class ID to lookup. example: 1 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 SendClientEmail: type: boolean description: When `true`, sends the client an automatic email about the cancellation, if the client has opted to receive email. example: true SendStaffEmail: type: boolean description: When `true`, sends the staff an automatic email about the cancellation, if the staff has opted to receive email. example: true CancelSingleClassResponse: type: object description: Implementation of the 'CancelSingleClassResponse' model. properties: Class: $ref: '#/components/schemas/Class' description: A resulting class. CartItem: type: object description: Implementation of the 'CartItem' model. properties: Item: $ref: '#/components/schemas/Any' description: A purchased item; either a pricing option or a retail product. SalesNotes: type: string description: Sales Notes for the Product Purcahsed example: Example note for Mindbody Public API. DiscountAmount: type: number format: double description: The amount of the discount applied to the item. example: 49.99 VisitIds: type: array items: type: integer format: int32 description: "The IDs of the booked classes, enrollments, or courses that were reconciled by this cart item. This list is only returned if a valid visit ID was passed in the request’s `VisitIds` list." example: - 1 AppointmentIds: type: array items: type: integer format: int32 description: Gets or sets the item. example: - 1 Appointments: type: array items: $ref: '#/components/schemas/Appointment' description: "The IDs of the appointments that were reconciled by this cart item. This list is only returned if a valid appointment ID was passed in the request’s `AppointmentIds` list." example: - {} Id: type: integer format: int32 description: "The item’s ID in the current cart." example: 123456 Quantity: type: integer format: int32 description: The quantity of the item being purchased. example: 10 Category: type: object description: Implementation of the 'Category' model. properties: Id: type: integer format: int32 description: The category Id used for api calls. example: 123456 CategoryName: type: string description: Category Name example: example-value Description: type: string description: Category Description example: Example note for Mindbody Public API. Service: type: boolean description: Category service example: true Active: type: boolean description: Check if Category is active. example: true IsPrimary: type: boolean description: Check if Category is of primary type. example: true IsSecondary: type: boolean description: Check if Category is of secondary type. example: true CreatedDateTimeUTC: type: string format: date-time description: Category Created DateTime UTC example: '2026-05-28T14:30:00Z' ModifiedDateTimeUTC: type: string format: date-time description: Category Modified DateTime UTC example: '2026-05-28T14:30:00Z' SubCategories: type: array items: $ref: '#/components/schemas/SubCategory' description: Contains the SubCategory objects, each of which describes the subcategories for a category. example: - {} TotalCount: type: integer format: int32 description: Get total number of rows example: 10 CheckoutAlternativePaymentInfo: type: object description: Implementation of the 'CheckoutAlternativePaymentInfo' model. Request object to capture Alternative Payment information. properties: PaymentMethodId: type: integer format: int32 description: 'The type of alternative payment. Possible values are: * 997 - Indicates that this payment item is iDEAL. * 801 - Indicates that this payment item is Apple Pay.' example: 123456 Amount: type: number format: double description: The amount to be paid example: 49.99 CheckoutAppointmentBookingRequest: type: object description: Implementation of the 'CheckoutAppointmentBookingRequest' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member who is to provide the service being booked. example: 123456 LocationId: type: integer format: int32 description: The ID of the location where the appointment is to take place. example: 123456 SessionTypeId: type: integer format: int32 description: The ID of the session type of this appointment. example: 123456 Resources: type: array items: $ref: '#/components/schemas/ResourceSlim' description: Contains information about the resources to be used for the appointment. example: - {} StartDateTime: type: string format: date-time description: "The date and time that the appointment is to start in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss." example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: "The date and time that the appointment is to end in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss." example: '2026-05-28T14:30:00Z' ProviderId: type: string description: The National Provider Identifier (NPI) of the staff member who is to provide the service. For an explanation of Provider IDs, see [Provider IDs](https://support.mindbodyonline.com/s/article/204075743-Provide r-IDs?language=en_US). example: example-value CheckoutItem: type: object description: Implementation of the 'CheckoutItem' model. properties: Type: type: string description: 'The type of item. Possible values are: * Service - Indicates that this item is a pricing option. * Product - Indicates that this item is a retail product. * Package - Indicates that this item is a package. * Tip - Indicates that this item is a tip.' example: example-value Metadata: type: string description: Contains information about the item to be purchased. See [Cart Item Metadata](https://developers.mindbodyonline.com/PublicDocumentation /V6#cart-item-metadata) for more information. example: example-value CheckoutItemWrapper: type: object description: Implementation of the 'CheckoutItemWrapper' model. properties: Item: $ref: '#/components/schemas/CheckoutItem' description: Information about an item in the cart. SalesNotes: type: string description: Sales Notes for the product example: Example note for Mindbody Public API. DiscountAmount: type: number format: double description: The amount the item is discounted. This parameter is ignored for packages. example: 49.99 AppointmentBookingRequests: type: array items: $ref: '#/components/schemas/CheckoutAppointmentBookingRequest' description: A list of appointments to be booked then paid for by this item. This parameter applies only to pricing option items. example: - {} EnrollmentIds: type: array items: type: integer format: int32 description: A list of enrollment IDs that this item is to pay for. This parameter applies only to pricing option items. example: - 1 ClassIds: type: array items: type: integer format: int32 description: A list of class IDs that this item is to pay for. This parameter applies only to pricing option items. example: - 1 CourseIds: type: array items: type: integer format: int32 description: A list of course IDs that this item is to pay for. This parameter applies only to pricing option items. example: - 1 VisitIds: type: array items: type: integer format: int32 description: A list of visit IDs that this item is to pay for. This parameter applies only to pricing option items. example: - 1 AppointmentIds: type: array items: type: integer format: int32 description: A list of appointment IDs that this item is to reconcile. example: - 1 Id: type: integer format: int32 description: "The item’s unique ID within the cart." example: 123456 Quantity: type: integer format: int32 description: The number of this item to be purchased. example: 10 CheckoutPaymentInfo: type: object description: Implementation of the 'CheckoutPaymentInfo' model. properties: Type: type: string description: "The type of payment. Possible values are: * CreditCard - Indicates that this payment item is a credit card. * StoredCard - Indicates that this payment item is a credit card stored on the client’s account. * DirectDebit - Indicates that this payment item is a direct debit. * EncryptedTrackData - Indicates that this payment item is a swiped credit card. * TrackData - Indicates that this payment item is a swiped credit card. * DebitAccount - Indicates that funds should be debited from the client’s " example: example-value Metadata: type: string description: "Contains information about the cart’s payments. Possible values vary according to the Type property, as below: * CreditCard Keys - amount, creditCardNumber, expMonth, expYear, cvv, billingName, billingAddress, billingCity, billingState, billingPostalCode, saveInfo, cardId * StoredCard Keys - amount, lastFour * DirectDebit Keys - amount * EncryptedTrackData Keys - amount, trackData * TrackData Keys - amount, trackData * DebitAccount Keys - amount * Custom Keys - amount, id * Comp Keys - amount * " example: example-value CheckoutShoppingCartRequest: type: object description: Implementation of the 'CheckoutShoppingCartRequest' model. properties: Items: type: array items: $ref: '#/components/schemas/CheckoutItemWrapper' description: A list of the items in the cart. example: *id032 Payments: type: array items: $ref: '#/components/schemas/CheckoutPaymentInfo' description: A list of payment information objects to be applied to payment against the items in the cart. example: *id033 CartId: type: string description: The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one. example: example-value ClientId: type: string description: The RSSID of the client making the purchase. A 'ClientId' OR 'UniqueClientId' must be specified to complete a sale. example: example-value UniqueClientId: type: integer format: int32 description: 'The UniqueId of the client making the purchase. A ''ClientId'' OR ''UniqueClientId'' must be specified to complete a sale. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' example: 123456 PayerClientId: type: string description: The RSSID of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the 'ClientId' or 'UniqueClientId' fields. example: example-value UniquePayerClientId: type: integer format: int32 description: 'The UniqueId of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the ''ClientId'' or ''UniqueClientId'' field. Note: you need to provide the ''UniquePayerClientId'' OR the ''PayerClientId''. If both are provided, the ''UniquePayerClientId'' takes precedence.' example: 123456 Test: type: boolean description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**' example: true InStore: type: boolean description: "When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.
When `false`, indicates that the cart is to be completed by a client from the business’ online store.
Default: **false**" example: true CalculateTax: type: boolean description: 'When `true`, indicates that the tax should be calculated. When `false`, indicates that the tax should not be calculated. Default: **true**' example: true PromotionCode: type: string description: Promotion code to be applied to the cart. example: example-value SendEmail: type: boolean description: 'When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.
Default: **false**' example: true LocationId: type: integer format: int32 description: 'The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (the online store)' example: 123456 Image: type: string description: The byte array data of the signature image. example: example-value ImageFileName: type: string description: The name of the signature image being uploaded. example: example-value ConsumerPresent: type: boolean description: When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be `false` as that could very likely lead to a bank declining all transactions for the merchant. Defaults to `false`. example: true PaymentAuthenticationCallbackUrl: type: string description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is `true` example: https://example.mindbodyonline.com/resource/abc123 TransactionIds: type: array items: type: integer format: int32 description: The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions example: *id034 IsBillingPostalCodeRequired: type: boolean description: the flag to check billing post code is required or not. example: true EnforceLocationRestrictions: type: boolean description: 'When `true`, enforces "sell at" location restrictions on the cart items. When `false`, "sell at" location restrictions are not enforced. Default: **false**' example: true CheckoutShoppingCartResponse: type: object description: Implementation of the 'CheckoutShoppingCartResponse' model. The API Response model for Checkout Shopping Cart APIs properties: ShoppingCart: $ref: '#/components/schemas/ShoppingCart' description: Contains information about the shopping cart. Classes: type: array items: $ref: '#/components/schemas/Class' description: Contains information about the classes. example: *id008 Appointments: type: array items: $ref: '#/components/schemas/Appointment' description: Contains information about the appointments. example: *id009 Enrollments: type: array items: $ref: '#/components/schemas/ClassSchedule' description: Contains information about enrollment class schedules. example: *id010 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. ClassClientDetail: type: object description: Implementation of the 'ClassClientDetail' model. Class Client Detail Object properties: ClientIds: type: array items: type: string description: The RSSID of the clients to remove from the specified classes. example: - example-value ClassId: type: integer format: int32 description: The ID of the classes that you want to remove the clients from. 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 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: *id035 Clients: type: array items: $ref: '#/components/schemas/Client' description: Contains information about clients. example: *id036 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 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). ClientArrival: type: object description: Implementation of the 'ClientArrival' model. properties: ArrivalProgramID: type: integer format: int32 description: Arrival program id example: 1 ArrivalProgramName: type: string description: Arrival program name example: example-value CanAccess: type: boolean description: Property to check client can access arrival service. example: true LocationsIDs: type: array items: type: integer format: int32 description: List of locations where arrival service can availed example: - 1 ClientContract: type: object description: Implementation of the 'ClientContract' model. A client contract. properties: PayerClientId: type: integer format: int32 description: The ID of the client who holds the contract. example: 123456 AgreementDate: type: string format: date-time description: The date on which the contract was signed. example: '2026-05-28T14:30:00Z' AutopayStatus: $ref: '#/components/schemas/AutopayStatusEnum' description: "The status of the client’s autopay." AutoRenewing: type: boolean description: Determines if the contract is auto-renewing. example: true FirstAutoPay: type: number format: double description: The amount of the first autopay transaction. example: 1.0 LastAutoPay: type: number format: double description: The amount of the last autopay transaction. example: 1.0 NormalAutoPay: type: number format: double description: The amount of the normal recurring autopay transaction. example: 1.0 IsMonthToMonth: type: boolean description: Indicates if the contract renews on a month-to-month basis. example: true AutoRenewClientContractID: type: integer format: int32 description: The ID of the contract that this one auto-renews from. example: 1 ContractText: type: string description: The full text of the contract. example: example-value ContractAutoRenewed: type: boolean description: Indicates whether the contract was auto-renewed from a previous one. example: true ContractName: type: string description: The name of the contract. example: example-value EndDate: type: string format: date-time description: The date that the contract expires. example: '2026-05-28T14:30:00Z' Id: type: integer format: int32 description: The unique ID of the sale of the contract. Each time a contract is sold, this ID increases sequentially. example: 123456 OriginationLocationId: type: integer format: int32 description: The ID of the location where the contract was issued. example: 123456 StartDate: type: string format: date-time description: The date that the contract became active. example: '2026-05-28T14:30:00Z' SiteId: type: integer format: int32 description: The ID of the site where the contract was issued. example: -99 UpcomingAutopayEvents: type: array items: $ref: '#/components/schemas/UpcomingAutopayEvent' description: Contains details of the autopay events. example: - {} ContractID: type: integer format: int32 description: The ID of the contract. example: 1 TerminationDate: type: string format: date-time description: The date that the contract was terminated. example: '2026-05-28T14:30:00Z' MinimumCommitmentValue: type: integer format: int32 description: Minimum commitment value. example: 1 MinimumCommitmentUnit: $ref: '#/components/schemas/MinimumCommitmentUnitEnum' description: Minimum commitment unit type. MinimumCommitmentEndDate: type: string format: date-time description: The earliest date a contract termination can take effect if a minimum commitment applies. This represents the last day the client is obligated to remain on the contract. Returned even if the commitment has already been fulfilled. example: '2026-05-28T14:30:00Z' 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 ClientDocument: type: object description: Implementation of the 'ClientDocument' model. properties: FileName: type: string description: "The name of the file to be used on the client’s documents page when it is uploaded." example: example-value MediaType: type: string description: 'The type of file or file extension. Possible values are: * pdf * jpg * jpeg * tif * tiff * png * doc * docx * bmp * txt * rtf * xlsx * xls * gif * zip * ppt * pptx * mov' example: example-value Buffer: type: string description: "A Base64-encoded string representation of the file’s byte array." example: example-value ClientDuplicate: type: object description: Implementation of the 'ClientDuplicate' model. A client record that is considered a duplicate based on matching of the client's first name, last name, AND email fields properties: 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 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 FirstName: type: string description: "The client’s first name." example: Alex LastName: type: string description: "The client’s last name." example: Lane Email: type: string description: "The client’s email address." example: kinlane@example.com ClientIndex: type: object description: Implementation of the 'ClientIndex' model. A client index. properties: Id: type: integer format: int32 description: The unique ID of the client index. example: 123456 Name: type: string description: The name of the client index. example: Sunset Yoga Studio RequiredBusinessMode: type: boolean description: When `true`, indicates that the index is required when creating profiles in business mode. example: true RequiredConsumerMode: type: boolean description: When `true`, indicates that the index is required when creating profiles in consumer mode. example: true Values: type: array items: $ref: '#/components/schemas/ClientIndexValue' description: Contains a list with a single object representing the index value assigned to the client index. example: - {} Action: $ref: '#/components/schemas/Action8Enum' description: The action performed on this object. ClientIndexValue: type: object description: Implementation of the 'ClientIndexValue' model. A client index value. properties: Active: type: boolean description: For this call, this value is always `false` and can be ignored. When `false`, indicates that the index value has been deactivated and cannot be assigned to its parent index. example: true Id: type: integer format: int32 description: "The index value’s ID." example: 123456 Name: type: string description: The name of the client index value. example: Sunset Yoga Studio ClientMembership: type: object description: Implementation of the 'ClientMembership' model. properties: RestrictedLocations: type: array items: $ref: '#/components/schemas/Location' description: The locations that the membership is restricted to, if any. Please note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization. example: - {} IconCode: type: string description: Text code that represents the `MembershipIcon`. example: example-value MembershipId: type: integer format: int32 description: The membership's ID. example: 123456 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 ClientMemberships: type: object description: Implementation of the 'ClientMemberships' model. properties: ClientId: type: string description: ID of the client. example: example-value Memberships: type: array items: $ref: '#/components/schemas/ClientMembership' description: Contains information about the Client Memberships details. example: - {} ErrorMessage: type: string description: The model property of type str. example: example-value ClientPurchaseRecord: type: object description: Implementation of the 'ClientPurchaseRecord' model. A record of a specific client purchase properties: Sale: $ref: '#/components/schemas/Sale' description: Contains details about the sale and payment for a purchase event. Description: type: string description: The item name and description. example: Example note for Mindbody Public API. AccountPayment: type: boolean description: If `true`, the item was a payment credited to an account. example: true Price: type: number format: double description: The price paid for the item. example: 49.99 AmountPaid: type: number format: double description: The amount paid for the item. example: 49.99 Discount: type: number format: double description: The discount amount that was applied to the item. example: 1.0 Tax: type: number format: double description: The amount of tax that was applied to the item. example: 1.0 Returned: type: boolean description: The return status of the item. If `true`, this item was returned. example: true Quantity: type: integer format: int32 description: The quantity of the item purchased. example: 10 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 ClientRewardTransaction: type: object description: Implementation of the 'ClientRewardTransaction' model. Contains information about the transaction details. properties: ActionDateTime: type: string format: date-time description: The date and time when the points were earned or redeemed in the site local time zone. example: '2026-05-28T14:30:00Z' Action: $ref: '#/components/schemas/Action11Enum' description: Indicates if rewards were earned or redeemed. Source: type: string description: The source of the reward transaction. example: example-value SourceID: type: integer format: int32 description: The unique identifier in the MINDBODY system for the **Source**. example: 1 ExpirationDateTime: type: string format: date-time description: The date and time when earned points expire. This is calculated based on site and client rewards settings. This date will be in the site local time zone and may be **null**. example: '2026-05-28T14:30:00Z' Points: type: integer format: int32 description: The amount of points the client earned or redeemed. example: 1 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 ClientServiceWithActivationType: type: object description: 'Implementation of the ''ClientServiceWithActivationType'' model. Represents a pricing option (service) on a client''s account, including activation behavior details. This model extends ClientService to include additional fields that describe how and when the pricing option becomes active for use. For more information about pricing option activation, see the following support articles: - [How to change a pricing option activation date set to begin on the client''s first visit](https://support.mindbodyonline.com/s/article/203268693-How-do-I-adju st-a-pricing-option-that-activates-on-the-date-of-client-s-first-visit-to-c over-a-visit-before-its-activation-date) - [How to set offset activation dates for contracts](https://support.mindbodyonline.com/s/article/Offset-Activation) - [How do I expire or terminate an unused pricing option that activates on the date of the first visit](https://support.mindbodyonline.com/s/article/How-do-I-expire-termina te-an-unused-pricing-option-that-activates-on-d' properties: ActivationType: $ref: '#/components/schemas/ActivationTypeEnum' description: 'Specifies how this pricing option is configured to activate. This value reflects the activation behavior defined in the Core system when the pricing option was created. Use this field to determine whether the ActiveDate represents the purchase date or a future date pending the client''s first visit. Possible values: - OnFirstVisit: The pricing option activates on the client''s first visit (check-in) after purchase. The ActiveDate is set to the date of that first visit. Until the client checks in, ' CannotPayForClassesBeforeActivation: type: boolean description: 'Indicates whether the site enforces activation date restrictions for booking. This value reflects the site-level setting "EnforceActivationDates" (also known as "Check Activation Dates") for the subscriber identified by SiteId. When integrating with booking workflows, use this field in conjunction with ActivationType to determine if a pricing option can be applied for a booking: - true: The site enforces activation dates. The client cannot use this pricing option to pay for classes or appointmen' example: true 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 ClientSuspensionInfo: type: object description: Implementation of the 'ClientSuspensionInfo' model. A Client DTO with Suspension Information properties: BookingSuspended: type: boolean description: When 'true', indicates that the client is suspended from booking example: true SuspensionStartDate: type: string description: Indicates the Date that BookingSuspension starts 'YYYY-MM-DD' example: example-value SuspensionEndDate: type: string description: Indicates the Date that BookingSuspension ends 'YYYY-MM-DD' 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 ClientWithSuspensionInfo: type: object description: Implementation of the 'ClientWithSuspensionInfo' model. A Client DTO with Suspension Information properties: SuspensionInfo: $ref: '#/components/schemas/ClientSuspensionInfo' description: Contains information about the client account suspension. If **Scheduling Suspensions** setting in General Settings and Options is disabled, this field will be null for GetClients and return validation error for UpdateClient. 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). Color: type: object description: Implementation of the 'Color' model. A color used by products. properties: Id: type: integer format: int32 description: The unique ID of the product color. example: 123456 Name: type: string description: The name of the color of product. example: Sunset Yoga Studio CommissionDetail: type: object description: Implementation of the 'CommissionDetail' model. properties: CommissionType: type: string description: 'The type of commission earned. Possible values are: * ItemStandardPercentageCommission * ItemStandardFlatCommission * ItemPromotionalPercentageCommission * ItemPromotionalFlatCommission * StaffStandardPercentageCommission * StaffStandardFlatCommission * StaffPromotionalPercentageCommission * StaffPromotionalFlatCommission' example: example-value CommissionEarnings: type: number format: double description: The portion of `Earnings` earned by this `CommissionType`. example: 1.0 CommissionPayrollPurchaseEvent: type: object description: Implementation of the 'CommissionPayrollPurchaseEvent' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member who earned commissions. example: 123456 SaleDateTime: type: string format: date-time description: The date and time when the sale occurred. example: '2026-05-28T14:30:00Z' SaleId: type: integer format: int32 description: "The sale’s ID." example: 123456 SaleType: type: string description: The Sales type. When this is "Purchase" indicates that this sale paid commission to a staff. When this is "Return" example: example-value ProductId: type: integer format: int32 description: The product ID of the item for which the staff earned commissions. example: 123456 EarningsDetails: type: array items: $ref: '#/components/schemas/CommissionDetail' description: Contains information about which commissions the staff earned for this item. example: - {} Earnings: type: number format: double description: The total commissions earned by the staff for this item. example: 1.0 CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest: type: object description: Implementation of the 'CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest' model. The API Request model for Complete Checkout Shopping Cart API. properties: AccessToken: type: string description: The Access Token generated during Pre-Payment step. example: example-value ClientId: type: string description: The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale. example: example-value Test: type: boolean description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**' example: true ContactLog: type: object description: Implementation of the 'ContactLog' model. A contact log. properties: Id: type: integer format: int32 description: "The contact log’s ID." example: 123456 Text: type: string description: "The contact log’s body text." example: example-value CreatedDateTime: type: string format: date-time description: The local date and time when the contact log was created. example: '2026-05-28T14:30:00Z' FollowupByDate: type: string format: date-time description: The date by which the assigned staff member should close or follow up on this contact log. example: '2026-05-28T14:30:00Z' ContactMethod: type: string description: The method by which the client wants to be contacted. example: example-value ContactName: type: string description: The name of the client to contact. example: example-value Client: $ref: '#/components/schemas/Client' description: Information about the client to whom the contact log belongs. CreatedBy: $ref: '#/components/schemas/Staff' description: Information about the staff member who created the contact log. AssignedTo: $ref: '#/components/schemas/Staff' description: Information about the staff member to whom the contact log is assigned for follow up. Comments: type: array items: $ref: '#/components/schemas/ContactLogComment' description: Information about the comment. example: *id003 Types: type: array items: $ref: '#/components/schemas/ContactLogType' description: Information about the type of contact log. example: *id004 ContactLogComment: type: object description: Implementation of the 'ContactLogComment' model. A contact log comment. properties: Id: type: integer format: int32 description: "The comment’s ID." example: 123456 Text: type: string description: "The comment’s body text." example: example-value CreatedDateTime: type: string format: date-time description: The local time when the comment was created. example: '2026-05-28T14:30:00Z' CreatedBy: $ref: '#/components/schemas/Staff' description: Information about the staff member who created the comment. ContactLogSubType: type: object description: Implementation of the 'ContactLogSubType' model. A contact log subtype. properties: Id: type: integer format: int32 description: The unique ID of the subtype example: 123456 Name: type: string description: The name of the subcontactlog Type. example: Sunset Yoga Studio ContactLogType: type: object description: Implementation of the 'ContactLogType' model. A contact log type. properties: Id: type: integer format: int32 description: The Id of the contactlog Type. example: 123456 Name: type: string description: The name of the contactlog Type. example: Sunset Yoga Studio SubTypes: type: array items: $ref: '#/components/schemas/ContactLogSubType' description: Contains the SubType objects, each of which describes the subtypes for a contactlog Type. example: - {} ContentFormatEnum: type: string description: ContentFormatEnum enumeration. enum: - InPerson - Mindbody - Other Contract: type: object description: Implementation of the 'Contract' model. properties: Id: type: integer format: int32 description: "The contract’s ID at the subscriber’s business." example: 123456 Name: type: string description: The name of the contract. example: Sunset Yoga Studio Description: type: string description: A description of the contract. example: Example note for Mindbody Public API. AssignsMembershipId: type: integer format: int32 description: The ID of the membership that was assigned to the client when the client signed up for a contract. example: 123456 AssignsMembershipName: type: string description: The name of the membership that was assigned to the client when the client signed up for this contract. example: example-value SoldOnline: type: boolean description: When `true`, indicates that this membership is intended to be shown to clients in client experiences.
When `false`, this contract should only be shown to staff members. example: true ContractItems: type: array items: $ref: '#/components/schemas/ContractItem' description: Contains information about the items in the contract. example: *id037 IntroOffer: type: string description: 'Defines whether this contract is treated as an introductory offer. If this is an introductory offer, then clients are always charged a set number of times rather than month to month, using their AutoPays. Possible values are: * None * NewConsumer * NewAndReturningConsumer' example: example-value AutopaySchedule: $ref: '#/components/schemas/AutopaySchedule' description: Contains information about the AutoPay schedule. This parameter is null if `AutopayTriggerType` has a value of `PricingOptionRunsOutOrExpires`. NumberOfAutopays: type: integer format: int32 description: The number of times that the AutoPay is to be run. This value is null if `FrequencyType` is `MonthToMonth`. example: 1 AutopayTriggerType: type: string description: 'Defines whether the AutoPay, if applicable to this contract, runs on a set schedule or when the pricing option runs out or expires. Possible values are: * OnSetSchedule * PricingOptionRunsOutOrExpires' example: example-value ActionUponCompletionOfAutopays: type: string description: 'The renewal action to be taken when this AutoPay is completed. Possible values are: * ContractExpires * ContractAutomaticallyRenews' example: example-value ClientsChargedOn: type: string description: 'The value that indicates when clients are charged. Possible values are: * OnSaleDate * FirstOfTheMonth * FifteenthOfTheMonth * LastDayOfTheMonth * FirstOrFifteenthOfTheMonth * FirstOrSixteenthOfTheMonth * FifteenthOrEndOfTheMonth * SpecificDate' example: example-value ClientsChargedOnSpecificDate: type: string format: date-time description: If `ClientsChargedOn` is defined as a specific date, this property holds the value of that date. Otherwise, this property is null. example: '2026-05-28T14:30:00Z' DiscountAmount: type: number format: double description: The calculated discount applied to the items in this contract. example: 49.99 DepositAmount: type: number format: double description: The amount of the deposit required for this contract. example: 49.99 FirstAutopayFree: type: boolean description: When `true`, indicates that the first payment for the AutoPay is free. example: true LastAutopayFree: type: boolean description: When `true`, indicates that the last payment for the AutoPay is free. example: true ClientTerminateOnline: type: boolean description: When `true`, indicates that the client can terminate this contract on the Internet. example: true MembershipTypeRestrictions: type: array items: $ref: '#/components/schemas/MembershipTypeRestriction' description: Contains information about the memberships that can purchase this contract. If null, then no membership restrictions exist, and anyone can purchase the contract. example: *id038 LocationPurchaseRestrictionIds: type: array items: type: integer format: int32 description: The IDs of the locations where this contract may be sold. If there are no restrictions, this value is null. example: *id039 LocationPurchaseRestrictionNames: type: array items: type: string description: Location names where the contract may be purchased. If this value is null, there are no restrictions. example: *id040 AgreementTerms: type: string description: Business-defined terms and conditions for the contract. example: example-value RequiresElectronicConfirmation: type: boolean description: When `true`, clients who purchase the contract are prompted to agree to the terms of the contract the next time that they log in. example: true AutopayEnabled: type: boolean description: "When `true`, this contract establishes an AutoPay on the client’s account." example: true FirstPaymentAmountSubtotal: type: number format: double description: The subtotal of the amount that the client is to be charged when signing up for the contract. example: 49.99 FirstPaymentAmountTax: type: number format: double description: The amount of tax that the client is to be charged when signing up for the contract. example: 49.99 FirstPaymentAmountTotal: type: number format: double description: The total amount that the client is to be charged when signing up for the contract. example: 49.99 RecurringPaymentAmountSubtotal: type: number format: double description: The subtotal amount that the client is to be charged on an ongoing basis. example: 49.99 RecurringPaymentAmountTax: type: number format: double description: The amount of tax the client is to be charged on an ongoing basis. example: 49.99 RecurringPaymentAmountTotal: type: number format: double description: The total amount that the client is to be charged on an ongoing basis. example: 49.99 TotalContractAmountSubtotal: type: number format: double description: The subtotal amount that the client is to be charged over the lifespan of the contract. example: 49.99 TotalContractAmountTax: type: number format: double description: The total amount of tax the client is to be charged over the lifespan of the contract. example: 49.99 TotalContractAmountTotal: type: number format: double description: The total amount the client is to be charged over the lifespan of the contract. example: 49.99 PromoPaymentAmountSubtotal: type: number format: double description: Subtotal promotional period example: 49.99 PromoPaymentAmountTax: type: number format: double description: Taxes of promotional period example: 49.99 PromoPaymentAmountTotal: type: number format: double description: Total of promotional period example: 49.99 NumberOfPromoAutopays: type: integer format: int32 description: Number of times that the AutoPay runs under the promotional period example: 1 ContractItem: type: object description: Implementation of the 'ContractItem' model. properties: Id: type: string description: The ID of the item. example: example-value Name: type: string description: The name of the item. example: Sunset Yoga Studio Description: type: string description: A description of the item. example: Example note for Mindbody Public API. Type: type: string description: The type of the item. example: example-value Price: type: number format: double description: The price of the item. example: 49.99 Quantity: type: integer format: int32 description: The quantity of the item. example: 10 OneTimeItem: type: boolean description: When `true`, indicates that the item is charged only once.
When `false`, indicates that the item is charged multiple times. example: true CopyCreditCardRequest: type: object description: Implementation of the 'CopyCreditCardRequest' model. crosssite/copycreditcard properties: SourceSiteId: type: integer format: int32 description: The siteId of the source clientId. example: 123456 SourceClientId: type: string description: The clientId at the source siteId. example: example-value SourceUniqueClientId: type: integer format: int32 description: The unique clidnetId at the source siteId. example: 123456 TargetSiteId: type: integer format: int32 description: The siteId of the target clientId. example: 123456 TargetClientId: type: string description: The clientId at the target siteId. example: example-value TargetUniqueClientId: type: integer format: int32 description: The unique clidnetId at the target siteId. example: 123456 CopyCreditCardResponse: type: object description: Implementation of the 'CopyCreditCardResponse' model. crosssite/copycreditcard properties: CopiedFrom: $ref: '#/components/schemas/CopyCreditCardResponseClient' description: Copied from CopiedTo: $ref: '#/components/schemas/CopyCreditCardResponseClient' description: Copied To CopyCreditCardResponseClient: type: object description: Implementation of the 'CopyCreditCardResponseClient' model. properties: ClientId: type: string description: ClientId example: example-value UniqueId: type: integer format: int32 description: UniqeuId example: 123456 SiteId: type: integer format: int32 description: SiteId example: -99 FirstName: type: string description: First name of ClientId example: Alex LastName: type: string description: Last name of ClientId example: Lane 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 CreateReservationResponse: type: object description: Implementation of the 'CreateReservationResponse' model. Contains information about the create reservation response. properties: Reservation: $ref: '#/components/schemas/Reservation' description: Contains information about the reservation details. ResponseDetails: $ref: '#/components/schemas/ResponseDetails' description: Contains information about the response details, e.g. status, transactionId. CreditCardInfo: type: object description: Implementation of the 'CreditCardInfo' model. Information about an individual credit card properties: CreditCardNumber: type: string description: The model property of type str. example: example-value ExpMonth: type: string description: The model property of type str. example: example-value ExpYear: type: string description: The model property of type str. example: example-value BillingName: type: string description: The model property of type str. example: example-value BillingAddress: type: string description: The model property of type str. example: 123 Market St BillingCity: type: string description: The model property of type str. example: example-value BillingState: type: string description: The model property of type str. example: example-value BillingPostalCode: type: string description: The model property of type str. example: example-value SaveInfo: type: boolean description: The model property of type bool. example: true CardId: type: string description: Card Id of a stored instruments card example: example-value CVV: type: string description: CVV of the card example: example-value CrossRegionalClientAssociation: type: object description: Implementation of the 'CrossRegionalClientAssociation' model. A client cross region association properties: SiteId: type: integer format: int32 description: The ID of the site to which the client belongs. example: -99 ClientId: type: string description: "The client’s RSSID." example: example-value UniqueId: type: integer format: int32 description: "The client’s unique ID." example: 123456 SiteIsActive: type: boolean description: Indicates if site is active example: true CustomClientField: type: object description: Implementation of the 'CustomClientField' model. A custom client field properties: 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 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 CustomPaymentMethod: type: object description: Implementation of the 'CustomPaymentMethod' model. properties: Id: type: integer format: int32 description: The ID of the custom payment method. example: 123456 Name: type: string description: The name of the custom payment method. example: Sunset Yoga Studio DaysOfWeekEnum: type: string description: DaysOfWeekEnum enumeration. enum: - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday DaysValidEnum: type: string description: DaysValidEnum enumeration. enum: - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday DeactivatePromoCodeRequest: type: object description: Implementation of the 'DeactivatePromoCodeRequest' model. properties: PromotionId: type: integer format: int32 description: The promocodeID example: 123456 DeniedPermissionEnum: type: string description: DeniedPermissionEnum enumeration. enum: - ManageClassAndEventDescriptions - ManageClassSchedules - ScheduleFreeClassesAndEvents - ScheduleResourcesForClassesAndEvents - SubstituteClassAndEventTeachers - BulkEditClassSchedules - AddStaffMembers - ManagePersonalInfoForStaff - ManageStaffSettings - ManageStaffLogins - ManageStaffSchedules - ManageStaffPayRates - AccessBusinessInformationScreen - AccessGeneralSetupOptionsScreen - AccessNewsEventsScreen - ManageHolidays - ClassAndEventOptionsScreen - AppointmentOptionsScreen - AccessMediaManagementScreen - AccessMembershipSetupScreen - ManagePaymentMethods - ManageRoomNumbers - AccessResourceManagementScreen - AccessResourcesSchedulingTab - AccessLinksScreen - BulkCancelClientReservations - FindDuplicateClients - MergeDuplicateClients - ManageAutoEmails - ManageRevenueCategoriesForServices - ManageRevenueCategoriesForProducts - AccessActiveSessionTimesScreen - AccessClassSessionTypeScreens - AccessServiceCategoriesScreen - ManageSubscriberPricing - AddIntroOffersOnAcquisitionDashboard - ManageMindbodyNetworkSettings - ManageProducts - ViewProductCost - ManageMembershipSettingsForPricing - ManagePromotionCodes - EditSales - PrintProductBarcodes - MakeSales - AddProductsOnRetailScreen - EditSaleDateOnRetailScreen - EditSalePriceCountOnRetailScreen - EditActivationDateOnRetailScreen - ApplyCustomDiscountsOnRetailScreen - PayForAnotherClientOnRetailScreen - VoidEditPastSales - RefundSales - RefundSalesToCreditCards - LocationSwitching - PullReportsForAllLocations - LogInventory - AdjustInventory - TransferInventory - ManagePurchaseOrders - ManageLocationLocalization - ManagePermissionGroups - ManageConstantContactSettings - AccessServicesPricingScreen - ManageSemesters - ManageRetentionMarketing - ManageSubscriberSetupChecklist - ViewClassAndEventReservations - BookClassesAndEvents - BookClassesAndEventsInThePast - BookClassesAndEventsWithoutPayment - CancelClassesAndEvents - ManageClassNotes - ViewAppointmentSchedule - ViewPersonalAppointmentSchedule - EditPersonalAppointmentSchedule - ViewAppointmentDetails - ManageAppointmentRequests - BookAppointmentsForOtherStaffMembers - BookAppointmentsInThePast - ChangeAppointmentDetails - UseAnyAppointmentAsAnAddon - ChangeAppointmentDuration - CancelAppointments - ApplyPaymentToAppointments - CheckOutAppointments - OverrideAssignedPricing - ManageAppointmentColors - ViewAllLocationOnClientLookupScreen - AddClient - ViewClientProfileScreen - EditClientProfileScreen - AssignClientIndexes - ManageClientSuspensions - ViewClientPastVisits - ViewClientAccountAndPurchaseHistory - EditClientServiceDurationAndAssignedVisits - EditClientServiceSessionCount - IgnoreServiceCategoriesWhenReassigningPayment - ViewClientAutoPaySchedules - ManageClientAutoPaySchedules - ViewClientDocuments - AddClientDocuments - DeleteClientDocuments - ViewClientFutureVisits - ViewClientBillingInformation - EditClientBillingInformation - ManageClientLogins - UnassignClientGiftCards - IgnoreCancellationPolicy - LaunchSignInScreen - DeleteAndTerminateClientContracts - ReleaseContractDeposits - AutoRenewAndSuspendContracts - ManageClassTests - ScheduleClassTests - ManageClientRequiredFields - ManageClientAlerts - ManageClientTypesAndClientIndexes - ManageClientReferralTypes - ManageClientRelationshipTypes - ManageClientGenders - ClientAcquisitionAndAnalyticsDashboards - ViewRetentionMarketingDashboard - ExportReports - ManageTaggedClients - StaffPhoneBookReport - ScheduleAtAGlanceReportForAllStaff - PersonalScheduleAtAGlanceReport - AttendanceWithRevenueReport - CancellationsReport - PersonalCancellationsReport - AccountBalancesReport - BulkAutoPaySchedulingFromAccountBalancesReport - EventInvoicesReport - CashDrawerReportCurrentDate - CashDrawerReportAnyDate - DailyCloseoutReport - SalesReports - SalesBySupplierAndProductReports - PromoteFeesReport - GiftCardsReport - InventoryReports - MarketingReports - AnalysisReports - ClientIndexesReports - PayrollReportsForAllStaff - PersonalPayrollReports - StaffPerformanceReports - OnlineMetricsReport - RetentionManagementReport - EntryLogsReport - StaffActivityLogReport - MembershipReport - ManageOnlineOrdersReport - TasksReport - ClockSelfInAndOut - ClockOthersInAndOut - AccessTimeclockReport - ManageTimeClocks - ManageTimeClockTasks - ManageContactLogTypes - ViewContactLogs - AddContactLogs - EditOtherStaffMemberContactLogs - DeleteContactLogs - ContactLogAnalysisReport - SalesForecastReport - ViewAllClients - ManageClientSalesReps - CreateRetailTickets - EditRetailTickets - ManageTaskAssignments - MerchantAccountReports - VoidCreditCardTransactions - SettleCreditCardTransactions - UseStoredCreditCards - ManageAutoPays - ViewPersonalReviews - ViewOthersReviews - ViewClientNamesOnReviewReport - EmailClientsFromReviewReport - FlagReviewForRemoval - RespondPubliclyToReviews DirectDebitInfo: type: object description: Implementation of the 'DirectDebitInfo' model. properties: NameOnAccount: type: string description: The name on the bank account. example: example-value RoutingNumber: type: string description: The routing number for the bank. example: example-value AccountNumber: type: string description: The last four of the bank account number. example: example-value AccountType: type: string description: 'The account type. Possible values: * Checking * Savings' example: example-value Discount: type: object description: Implementation of the 'Discount' model. Discount for a promo code properties: Type: type: string description: Type of discount percentage/amount example: example-value Amount: type: number format: double description: Amount of discount example: 49.99 FormulaNoteResponse: type: object description: Implementation of the 'FormulaNoteResponse' model. An individual Client Formula Note. properties: Id: type: integer format: int32 description: The formula note ID. example: 123456 ClientId: type: string description: The unique Id of the client for the formula note. This is the unique ID for the client in the site where the formula note originated. This is different than the ClientId specified in the request, which is the id for the client assigned by the business. example: example-value AppointmentId: type: integer format: int32 description: The appointment ID that the formula note is related to. example: 123456 EntryDate: type: string format: date-time description: The date formula note was created. example: '2026-05-28T14:30:00Z' Note: type: string description: The new formula note text. example: example-value SiteId: type: integer format: int32 description: The site Id. example: -99 SiteName: type: string description: The site name. example: example-value StaffFirstName: type: string description: The first name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null. example: example-value StaffLastName: type: string description: The last name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null. example: example-value StaffDisplayName: type: string description: The display name of the staff for the optional associated appointment. If no appointment ID is provided, or no display name is specified for the staff member, this will be null. example: example-value FrequencyTypeEnum: type: string description: FrequencyTypeEnum enumeration. enum: - Daily - Weekly - Monthly GenderOption: type: object description: Implementation of the 'GenderOption' model. A gender option available at a site properties: Id: type: integer format: int32 description: The id of the gender option. example: 123456 Name: type: string description: The value that describes this gender option. example: Sunset Yoga Studio IsActive: type: boolean description: When `true`, this indicates that the gender option is active and may be assigned to a client. example: true IsDefault: type: boolean description: When true, this indicates that this is the default gender option at the site. example: true GenderPreferenceEnum: type: string description: GenderPreferenceEnum enumeration. enum: - None - Female - Male GetActivationCodeResponse: type: object description: Implementation of the 'GetActivationCodeResponse' model. properties: ActivationCode: type: string description: "An activation code used to provide access to a site’s business data through MINDBODY." example: example-value ActivationLink: type: string description: A link to the Manage Credentials screen. example: example-value GetActiveClientMembershipsResponse: type: object description: Implementation of the 'GetActiveClientMembershipsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClientMemberships: type: array items: $ref: '#/components/schemas/ClientMembership' description: Details about the requested memberships. example: *id041 GetActiveClientsMembershipsResponse: type: object description: Implementation of the 'GetActiveClientsMembershipsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClientMemberships: type: array items: $ref: '#/components/schemas/ClientMemberships' description: Details about the requested memberships. example: *id042 GetActiveSessionTimesResponse: type: object description: Implementation of the 'GetActiveSessionTimesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ActiveSessionTimes: type: array items: type: string description: 'List of available start times for active sessions. Note the following: * The times returned represent possibilities for scheduling a session, not necessarily currently scheduled sessions. * The response includes either all schedule types or those filtered by supplying `ScheduleType` or `SessionTypeIds`. * Each session has an associated schedule type, but when you supply `SessionTypeIds`, they may map to one or more of the schedule types.' example: *id043 GetAddOnsResponse: type: object description: Implementation of the 'GetAddOnsResponse' model. Get AddOns Response Model properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. AddOns: type: array items: $ref: '#/components/schemas/AppointmentAddOn' description: A list of available add-ons. example: *id044 GetAlternativePaymentMethodsResponse: type: object description: Implementation of the 'GetAlternativePaymentMethodsResponse' model. Response for the GetAlternativePaymentMethods method. properties: PaymentMethods: type: array items: $ref: '#/components/schemas/AlternativePaymentMethod' description: Contains information about the alternative payment methods. example: *id045 GetAppointmentOptionsResponse: type: object description: Implementation of the 'GetAppointmentOptionsResponse' model. properties: Options: type: array items: $ref: '#/components/schemas/AppointmentOption' description: Contains information about the appointment options. example: *id046 GetAvailableDatesResponse: type: object description: Implementation of the 'GetAvailableDatesResponse' model. properties: AvailableDates: type: array items: type: string format: date-time description: A list of dates where scheduled appointment availability was found after applying request filters. example: *id047 GetBookableItemsResponse: type: object description: Implementation of the 'GetBookableItemsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Availabilities: type: array items: $ref: '#/components/schemas/Availability' description: Contains information about the availabilities for appointment booking. example: *id048 GetCategoriesResponse: type: object description: Implementation of the 'GetCategoriesResponse' model. Get Categories Response Model properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Categories: type: array items: $ref: '#/components/schemas/Category' description: Contains the Category objects, each of which describes the categories for a site. example: *id049 GetClassDescriptionsResponse: type: object description: Implementation of the 'GetClassDescriptionsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClassDescriptions: type: array items: $ref: '#/components/schemas/ClassDescription' description: Contains information about the class descriptions. example: *id050 GetClassSchedulesResponse: type: object description: Implementation of the 'GetClassSchedulesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClassSchedules: type: array items: $ref: '#/components/schemas/ClassSchedule' description: Contains information about the class schedules. example: *id051 GetClassVisitsResponse: type: object description: Implementation of the 'GetClassVisitsResponse' model. properties: Class: $ref: '#/components/schemas/Class' description: Contains class and booking information. GetClassesResponse: type: object description: Implementation of the 'GetClassesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Classes: type: array items: $ref: '#/components/schemas/Class' description: A list of the requested classes. example: *id052 GetClientAccountBalancesResponse: type: object description: Implementation of the 'GetClientAccountBalancesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Clients: type: array items: $ref: '#/components/schemas/Client' description: A list of clients. example: *id053 GetClientCompleteInfoResponse: type: object description: Implementation of the 'GetClientCompleteInfoResponse' model. Contains information about the requested client. properties: Client: $ref: '#/components/schemas/ClientWithSuspensionInfo' description: Contains information about the requested client. ClientServices: type: array items: $ref: '#/components/schemas/ClientServiceWithActivationType' description: Contains information about client pricing options, including activation behavior details. Each item includes ActivationType and CannotPayForClassesBeforeActivation fields to help determine booking eligibility based on the pricing option's activation configuration. example: *id054 ClientContracts: type: array items: $ref: '#/components/schemas/ClientContract' description: Contains information about client contract. example: *id055 ClientMemberships: type: array items: $ref: '#/components/schemas/ClientMembership' description: Contains information about client Memberships. example: *id056 ClientArrivals: type: array items: $ref: '#/components/schemas/ClientArrival' description: Contains information about client arrival services. example: *id057 GetClientContractsResponse: type: object description: Implementation of the 'GetClientContractsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Contracts: type: array items: $ref: '#/components/schemas/ClientContract' description: "Contains the details of the client’s contract." example: *id058 GetClientDuplicatesResponse: type: object description: Implementation of the 'GetClientDuplicatesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClientDuplicates: type: array items: $ref: '#/components/schemas/ClientDuplicate' description: The requested clients. example: *id059 GetClientFormulaNotesResponse: type: object description: Implementation of the 'GetClientFormulaNotesResponse' model. Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. FormulaNotes: type: array items: $ref: '#/components/schemas/FormulaNoteResponse' description: "Contains details about the client’s formula." example: *id060 GetClientIndexesResponse: type: object description: Implementation of the 'GetClientIndexesResponse' model. properties: ClientIndexes: type: array items: $ref: '#/components/schemas/ClientIndex' description: Contains information about the client indexes. example: *id061 GetClientPurchasesResponse: type: object description: Implementation of the 'GetClientPurchasesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Purchases: type: array items: $ref: '#/components/schemas/ClientPurchaseRecord' description: Contains information that describes the item sold and the payment. example: *id062 GetClientReferralTypesResponse: type: object description: Implementation of the 'GetClientReferralTypesResponse' model. properties: ReferralTypes: type: array items: type: string description: The list of available referral types. example: *id063 GetClientRewardsResponse: type: object description: Implementation of the 'GetClientRewardsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Balance: type: integer format: int32 description: The total rewards points available to the indicated client after the above transaction. example: 1 Transactions: type: array items: $ref: '#/components/schemas/ClientRewardTransaction' description: Contains information about the reward transaction details. example: *id002 GetClientScheduleResponse: type: object description: Implementation of the 'GetClientScheduleResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Visits: type: array items: $ref: '#/components/schemas/VisitWithWaitlistInfo' description: Contains information about client visits including waitlist entries info example: *id064 GetClientServicesResponse: type: object description: Implementation of the 'GetClientServicesResponse' model. Contains the response for the GetClientServices endpoint. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ClientServices: type: array items: $ref: '#/components/schemas/ClientServiceWithActivationType' description: Contains information about client pricing options, including activation behavior details. Each item includes ActivationType and CannotPayForClassesBeforeActivation fields to help determine booking eligibility based on the pricing option's activation configuration. example: *id065 GetClientVisitsResponse: type: object description: Implementation of the 'GetClientVisitsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Visits: type: array items: $ref: '#/components/schemas/Visit' description: Contains information about client visits. example: *id066 GetClientsResponse: type: object description: Implementation of the 'GetClientsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination properties to use. Clients: type: array items: $ref: '#/components/schemas/ClientWithSuspensionInfo' description: The requested clients. example: *id067 GetCommissionsResponse: type: object description: Implementation of the 'GetCommissionsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Commissions: type: array items: $ref: '#/components/schemas/CommissionPayrollPurchaseEvent' description: Contains information about commissions earned by staff for sales within the given date range. Results are ordered by `SaleId`, then by `StaffId`. example: *id068 GetContactLogTypesResponse: type: object description: Implementation of the 'GetContactLogTypesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ContactLogTypes: type: array items: $ref: '#/components/schemas/ContactLogType' description: The requested Active ContactLogTypes example: *id069 GetContactLogsResponse: type: object description: Implementation of the 'GetContactLogsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ContactLogs: type: array items: $ref: '#/components/schemas/ContactLog' description: Contains the information about the contact logs. example: *id070 GetContractsResponse: type: object description: Implementation of the 'GetContractsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Contracts: type: array items: $ref: '#/components/schemas/Contract' description: Contains information about each contract. example: *id071 GetCoursesReponse: type: object description: Implementation of the 'GetCoursesReponse' model. This is the response class for the get courses API properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: This is the pgaination response Courses: type: array items: $ref: '#/components/schemas/Course' description: This is the list course data example: *id072 GetCrossRegionalClientAssociationsResponse: type: object description: Implementation of the 'GetCrossRegionalClientAssociationsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. CrossRegionalClientAssociations: type: array items: $ref: '#/components/schemas/CrossRegionalClientAssociation' description: "Contains information about the client’s cross regional associations." example: *id073 GetCustomClientFieldsResponse: type: object description: Implementation of the 'GetCustomClientFieldsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. CustomClientFields: type: array items: $ref: '#/components/schemas/CustomClientField' description: Contains information about the available custom client fields. example: *id074 GetCustomPaymentMethodsResponse: type: object description: Implementation of the 'GetCustomPaymentMethodsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. PaymentMethods: type: array items: $ref: '#/components/schemas/CustomPaymentMethod' description: Contains information about the custom payment methods. example: *id075 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: *id076 GetGendersResponse: type: object description: Implementation of the 'GetGendersResponse' model. properties: GenderOptions: type: array items: $ref: '#/components/schemas/GenderOption' description: A list of the gender options and their properties at the site example: *id077 GetGiftCardBalanceResponse: type: object description: Implementation of the 'GetGiftCardBalanceResponse' model. properties: BarcodeId: type: string description: The gift card's barcode ID. example: example-value RemainingBalance: type: number format: double description: The gift card's remaining balance. example: 49.99 GetGiftCardResponse: type: object description: Implementation of the 'GetGiftCardResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. GiftCards: type: array items: $ref: '#/components/schemas/GiftCard' description: Contains information about the gift cards. example: *id078 GetLiabilityWaiverResponse: type: object description: Implementation of the 'GetLiabilityWaiverResponse' model. properties: LiabilityWaiver: type: string description: Contains Liability Waiver text for a site example: example-value GetLocationsResponse: type: object description: Implementation of the 'GetLocationsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Locations: type: array items: $ref: '#/components/schemas/Location' description: Contains information about the locations. example: *id079 GetMembershipsResponse: type: object description: Implementation of the 'GetMembershipsResponse' model. properties: Memberships: type: array items: $ref: '#/components/schemas/Membership' description: Details about the memberships. example: *id080 GetMobileProvidersResponse: type: object description: Implementation of the 'GetMobileProvidersResponse' model. Get Mobile Providers Response Object properties: MobileProviders: type: array items: $ref: '#/components/schemas/MobileProvider' description: A list of mobile providers. example: *id081 GetPackagesResponse: type: object description: Implementation of the 'GetPackagesResponse' model. properties: Packages: type: array items: $ref: '#/components/schemas/Package' description: Contains information about the resulting packages. example: *id082 PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. GetPaymentTypesResponse: type: object description: Implementation of the 'GetPaymentTypesResponse' model. Get Payment Types Response Model properties: PaymentTypes: type: array items: $ref: '#/components/schemas/PaymentType' description: The requested payment types. example: *id083 GetPickASpotClassResponse: type: object description: Implementation of the 'GetPickASpotClassResponse' model. Contains information about the get PickASpot class response. properties: classes: type: array items: $ref: '#/components/schemas/PickASpotClass' description: Contains information about the PickASpot classes. example: *id006 pagination: $ref: '#/components/schemas/Pagination' description: Contains information about the pagination used. responseDetails: $ref: '#/components/schemas/ResponseDetails' description: Contains information about the response details. GetProductsInventoryResponse: type: object description: Implementation of the 'GetProductsInventoryResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ProductsInventory: type: array items: $ref: '#/components/schemas/ProductsInventory' description: Contains information about the products inventory. example: *id084 GetProductsResponse: type: object description: Implementation of the 'GetProductsResponse' model. Represents the response object for retrieving products. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Products: type: array items: $ref: '#/components/schemas/Product' description: Contains information about the products. example: *id007 GetProgramsResponse: type: object description: Implementation of the 'GetProgramsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Programs: type: array items: $ref: '#/components/schemas/Program' description: Contains information about the programs. example: *id085 GetPromoCodesResponse: type: object description: Implementation of the 'GetPromoCodesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Pagination Response PromoCodes: type: array items: $ref: '#/components/schemas/PromoCode' description: Contains information about Promocodes at a site example: *id086 GetProspectStagesResponse: type: object description: Implementation of the 'GetProspectStagesResponse' model. Get Prospect Stages Response Model properties: ProspectStages: type: array items: $ref: '#/components/schemas/ProspectStage' description: List of Prospect Stages example: *id087 GetRelationshipsResponse: type: object description: Implementation of the 'GetRelationshipsResponse' model. Get Relationships Response Model properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Relationships: type: array items: $ref: '#/components/schemas/Relationship' description: A list of relationships. example: *id088 GetRequiredClientFieldsResponse: type: object description: Implementation of the 'GetRequiredClientFieldsResponse' model. properties: RequiredClientFields: type: array items: type: string description: A list of strings that maps to the client fields that are required by the site. example: *id089 GetReservationResponse: type: object description: Implementation of the 'GetReservationResponse' model. Contains information about the get reservation response properties: Reservations: type: array items: $ref: '#/components/schemas/Reservation' description: Contains information about the reservation details. example: *id090 Pagination: $ref: '#/components/schemas/Pagination' description: Contains information about the pagination used. ResponseDetails: $ref: '#/components/schemas/ResponseDetails' description: Contains information about the response details, e.g. status, transactionId. GetResourceAvailabilitiesResponse: type: object description: Implementation of the 'GetResourceAvailabilitiesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ResourceAvailabilities: type: array items: $ref: '#/components/schemas/ResourceAvailability' description: Contains information about resources as the business. example: *id091 GetSalesRepsResponse: type: object description: Implementation of the 'GetSalesRepsResponse' model. This is the response class for the get sales reps API properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. SalesReps: type: array items: $ref: '#/components/schemas/SalesRepResponse' description: This the list of sales reps and their details example: *id092 GetSalesResponse: type: object description: Implementation of the 'GetSalesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Sales: type: array items: $ref: '#/components/schemas/Sale' description: Contains the Sale objects, each of which describes the sale and payment for a purchase event. example: *id093 GetScheduleItemsResponse: type: object description: Implementation of the 'GetScheduleItemsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. StaffMembers: type: array items: $ref: '#/components/schemas/Staff' description: Contains information about staff members with schedule items. example: *id094 GetScheduledServiceEarningsResponse: type: object description: Implementation of the 'GetScheduledServiceEarningsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. ScheduledServiceEarnings: type: array items: $ref: '#/components/schemas/ScheduledServiceEarningsEvent' description: Contains the class payroll events. example: *id095 GetSemestersResponse: type: object description: Implementation of the 'GetSemestersResponse' model. Get Semesters Response Model properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Semesters: type: array items: $ref: '#/components/schemas/Semester' description: Contains the Semester objects, each of which describes the semesters for a site. example: *id096 GetServicesResponse: type: object description: Implementation of the 'GetServicesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Services: type: array items: $ref: '#/components/schemas/Service' description: Contains information about the services. example: *id097 GetSessionTypesResponse: type: object description: Implementation of the 'GetSessionTypesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination properties used. SessionTypes: type: array items: $ref: '#/components/schemas/SessionType' description: Contains information about sessions. example: *id098 GetSitesResponse: type: object description: Implementation of the 'GetSitesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Sites: type: array items: $ref: '#/components/schemas/Site' description: Contains information about the sites. example: *id099 GetStaffAppointmentsResponse: type: object description: Implementation of the 'GetStaffAppointmentsResponse' model. Get Staff Appointments Response Model properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Appointments: type: array items: $ref: '#/components/schemas/Appointment' description: Contains information about appointments and their details. example: *id100 GetStaffImageURLResponse: type: object description: Implementation of the 'GetStaffImageURLResponse' model. A response object returned from the GetStaffImgURL API. properties: ImageURL: type: string description: A staff member's image URL. example: example-value MobileImageURL: type: string description: A staff member's mobile image URL. example: example-value GetStaffPermissionsResponse: type: object description: Implementation of the 'GetStaffPermissionsResponse' model. properties: UserGroup: $ref: '#/components/schemas/StaffPermissionGroup' description: "Contains information about the requested staff member’s permission group." GetStaffResponse: type: object description: Implementation of the 'GetStaffResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: The model property of type PaginationResponse. StaffMembers: type: array items: $ref: '#/components/schemas/Staff' description: A list of staff members. See Staff for a description of the 'Staff' information. example: *id101 GetStaffSessionTypesResponse: type: object description: Implementation of the 'GetStaffSessionTypesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination properties used. StaffSessionTypes: type: array items: $ref: '#/components/schemas/StaffSessionType' description: Contains information about staff member session types. example: *id102 GetTimeCardsResponse: type: object description: Implementation of the 'GetTimeCardsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. TimeCards: type: array items: $ref: '#/components/schemas/TimeCardEvent' description: Information about time card entries, ordered by staff ID. example: *id103 GetTipsResponse: type: object description: Implementation of the 'GetTipsResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. See Pagination for a description of the Pagination information. Tips: type: array items: $ref: '#/components/schemas/Tip' description: Contains information about tips given to staff members within the given date range. Results are ordered by StaffId. example: *id104 GetTransactionsResponse: type: object description: Implementation of the 'GetTransactionsResponse' model. Get transactions response properties properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Transactions: type: array items: $ref: '#/components/schemas/Transaction' description: Contains the transaction objects, each of which describes the transaction details for a purchase event. example: *id105 GetUnavailabilitiesResponse: type: object description: Implementation of the 'GetUnavailabilitiesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Unavailabilities: type: array items: $ref: '#/components/schemas/UnavailabilityPlain' description: Contains information about unavailabilities example: *id106 GetWaitlistEntriesResponse: type: object description: Implementation of the 'GetWaitlistEntriesResponse' model. properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. WaitlistEntries: type: array items: $ref: '#/components/schemas/WaitlistEntry' description: Contains information about the waiting list entries. example: *id107 GiftCard: type: object description: Implementation of the 'GiftCard' model. properties: Id: type: integer format: int32 description: The gift card's `ProductID`. example: 123456 LocationIds: type: array items: type: integer format: int32 description: The IDs of the locations where the gift card is sold. example: - 1 Description: type: string description: A description of the gift card. example: Example note for Mindbody Public API. EditableByConsumer: type: boolean description: When `true`, indicates that the gift card can be edited by the client. example: true CardValue: type: number format: double description: The value of the gift card. example: 1.0 SalePrice: type: number format: double description: The sale price of the gift card, if applicable. example: 49.99 SoldOnline: type: boolean description: When `true`, indicates that the gift card is sold online. example: true MembershipRestrictionIds: type: array items: type: integer format: int32 description: A list of IDs for membership restrictions, if this card is restricted to members with certain types of memberships. example: - 1 GiftCardTerms: type: string description: The terms of the gift card. example: example-value ContactInfo: type: string description: Contact information for the gift card. example: example-value DisplayLogo: type: boolean description: When `true`, indicates that the logo should be displayed on the gift card. example: true Layouts: type: array items: $ref: '#/components/schemas/GiftCardLayout' description: A list of layouts available for the gift card. example: - {} GiftCardLayout: type: object description: Implementation of the 'GiftCardLayout' model. Gift card layout properties: LayoutId: type: integer format: int32 description: The ID of the layout. example: 123456 LayoutName: type: string description: The name of the layout. example: example-value LayoutUrl: type: string description: The URL of the layout. example: https://example.mindbodyonline.com/resource/abc123 HttpContent: type: object description: Implementation of the 'HttpContent' model. properties: Headers: type: array items: $ref: '#/components/schemas/M0CultureNeutralPublicKeyTokenB77a5c561934e089' description: The model property of type List[M0CultureNeutralPublicKeyTokenB77a5c561934e089]. example: *id108 InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest: type: object description: Implementation of the 'InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest' model. The API Request model for Initiate Checkout Shopping Cart API. properties: ClientId: type: string description: The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale. example: example-value Items: type: array items: $ref: '#/components/schemas/CheckoutItemWrapper' description: A list of the items in the cart. example: *id109 Payments: type: array items: $ref: '#/components/schemas/CheckoutAlternativePaymentInfo' description: A list of payment information objects to be applied to payment against the items in the cart. example: *id110 PaymentAuthenticationCallbackUrl: type: string description: The URL consumer is redirected to after the payment. example: https://example.mindbodyonline.com/resource/abc123 CartId: type: string description: The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one. example: example-value PayerClientId: type: string description: The RSSID of the client paying for the purchase. This client needs to have a relationship of type "Pays for" with the client specified in the "ClientId" field. example: example-value Test: type: boolean description: 'When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.
When `false`, the transaction takes place and the database is affected.
Default: **false**' example: true InStore: type: boolean description: "When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.
When `false`, indicates that the cart is to be completed by a client from the business’ online store.
Default: **false**" example: true CalculateTax: type: boolean description: 'When `true`, indicates that the tax should be calculated. When `false`, indicates that the tax should not be calculated. Default: **true**' example: true PromotionCode: type: string description: Promotion code to be applied to the cart. example: example-value SendEmail: type: boolean description: 'When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.
Default: **false**' example: true LocationId: type: integer format: int32 description: 'The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (the online store)' example: 123456 TransactionIds: type: array items: type: integer format: int32 description: The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions example: *id111 IsBillingPostalCodeRequired: type: boolean description: the flag to check billing post code is required or not. example: true EnforceLocationRestrictions: type: boolean description: 'When `true`, enforces "sell at" location restrictions on the cart items. When `false`, "sell at" location restrictions are not enforced. Default: **false**' example: true InitiatePurchaseContractRequest: type: object description: Implementation of the 'InitiatePurchaseContractRequest' model. Request to initiate a purchase contract. properties: ClientId: type: string description: "The ID of the client. Note that this is not the same as the client’s unique ID." example: example-value ContractId: type: integer format: int32 description: The ID of the contract being purchased. example: 123456 PaymentMethodId: type: integer format: int32 description: 'The type of alternative payment. Possible values are: * 997 - Indicates that the payment method is iDEAL. * 801 - Indicates that the payment method is Apple Pay.' example: 123456 Test: type: boolean description: 'When `true`, the Public API validates input information, but does not commit it, so no client data is affected.
When `false` or omitted, the transaction is committed, and client data is affected.
This endpoint DOES NOT support the `Test` parameter.
Default: **false**' example: true LocationId: type: integer format: int32 description: 'The ID of the location where the client is purchasing the contract; used for AutoPays. If no location ID is supplied, it defaults to the online store, represented by a null value. Default: **null** (Online store location)' example: 123456 PromotionCode: type: string description: A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price. example: example-value PromotionCodes: type: array items: type: string description: Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price. example: *id112 SendNotifications: type: boolean description: 'When `true`, indicates that email and SMS notifications should be sent to the client after purchase.
Default: **true**' example: true SalesRepId: type: integer format: int32 description: The ID of the staff member to be marked as the sales rep for this contract sale. example: 123456 PaymentAuthenticationCallbackUrl: type: string description: The URL consumer is redirected to after the payment. example: https://example.mindbodyonline.com/resource/abc123 IssueRequest: type: object description: Implementation of the 'IssueRequest' model. POST UserToken/Issue request properties: Username: type: string description: "The staff member’s username." example: example-value Password: type: string description: "The staff member’s password." example: example-value IssueResponse: type: object description: Implementation of the 'IssueResponse' model. POST UserToken/Issue successful response properties: TokenType: type: string description: The model property of type str. example: example-value AccessToken: type: string description: The authentication token value. example: example-value Expires: type: string format: date-time description: Token expiration in UTC. example: '2026-05-28T14:30:00Z' User: $ref: '#/components/schemas/User' description: Contains information about the user represented by the access token. LeadChannel: type: object description: Implementation of the 'LeadChannel' model. properties: Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio SalespipelineId: type: integer format: int32 description: The model property of type int. example: 123456 UniversalCustomerId: type: string description: The model property of type uuid|str. example: example-value StudioId: type: integer format: int32 description: The model property of type int. 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. 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 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 Location1: type: object description: Implementation of the 'Location1' model. properties: BusinessId: type: integer format: int32 description: The model property of type int. example: 123456 SiteId: type: integer format: int32 description: The model property of type int. example: -99 BusinessDescription: type: string description: The model property of type str. example: Example note for Mindbody Public API. AdditionalImageURLs: type: array items: type: string description: The model property of type List[str]. example: - example-value FacilitySquareFeet: type: integer format: int32 description: The model property of type int. example: 1 ProSpaFinderSite: type: boolean description: The model property of type bool. example: true HasClasses: type: boolean description: The model property of type bool. example: true PhoneExtension: type: string description: The model property of type str. example: example-value Action: $ref: '#/components/schemas/ActionEnum' description: The model property of type ActionEnum. Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio Address: type: string description: The model property of type str. example: 123 Market St Address2: type: string description: The model property of type str. example: 123 Market St Tax1: type: number format: double description: The model property of type float. example: 1.0 Tax2: type: number format: double description: The model property of type float. example: 1.0 Tax3: type: number format: double description: The model property of type float. example: 1.0 Tax4: type: number format: double description: The model property of type float. example: 1.0 Tax5: type: number format: double description: The model property of type float. example: 1.0 Phone: type: string description: The model property of type str. example: '+15551234567' City: type: string description: The model property of type str. example: San Francisco StateProvCode: type: string description: The model property of type str. example: example-value PostalCode: type: string description: The model property of type str. example: '94110' Latitude: type: number format: double description: The model property of type float. example: 1.0 Longitude: type: number format: double description: The model property of type float. example: 1.0 DistanceInMiles: type: number format: double description: The model property of type float. example: 1.0 ImageURL: type: string description: The model property of type str. example: example-value Description: type: string description: The model property of type str. example: Example note for Mindbody Public API. HasSite: type: boolean description: The model property of type bool. example: true CanBook: type: boolean description: The model property of type bool. example: true NumberTreatmentRooms: type: integer format: int32 description: The model property of type int. example: 1 Active: type: boolean description: The model property of type bool. example: true InvActive: type: boolean description: The model property of type bool. example: true WsShow: type: boolean description: The model property of type bool. example: true Email: type: string description: The model property of type str. example: kinlane@example.com ContactName: type: string description: The model property of type str. example: example-value ShipAddress: type: string description: The model property of type str. example: 123 Market St ShipState: type: string description: The model property of type str. example: example-value ShipPostal: type: string description: The model property of type str. example: example-value ShipPhone: type: string description: The model property of type str. example: '+15551234567' ShipPOC: type: string description: The model property of type str. example: example-value TaxGrouping: type: boolean description: The model property of type bool. example: true LabelTax1: type: string description: The model property of type str. example: example-value LabelTax2: type: string description: The model property of type str. example: example-value LabelTax3: type: string description: The model property of type str. example: example-value LabelTax4: type: string description: The model property of type str. example: example-value LabelTax5: type: string description: The model property of type str. example: example-value WAC: type: boolean description: The model property of type bool. example: true ShipAddress2: type: string description: The model property of type str. example: 123 Market St MasterLocId: type: integer format: int32 description: The model property of type int. example: 123456 StreetAddress: type: string description: The model property of type str. example: 123 Market St Country: type: string description: The model property of type str. example: US Ext: type: string description: The model property of type str. example: example-value Amenities: type: array items: $ref: '#/components/schemas/Amenity1' description: The model property of type List[Amenity1]. example: - {} TotalNumberOfDeals: type: integer format: int32 description: The model property of type int. example: 1 TotalNumberOfRatings: type: integer format: int32 description: The model property of type int. example: 1 AverageRating: type: number format: double description: The model property of type float. example: 1.0 M0CultureNeutralPublicKeyTokenB77a5c561934e089: type: object description: Implementation of the '0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' model. properties: key: type: string description: The model property of type str. example: example-value value: type: array items: type: string description: The model property of type List[str]. example: - example-value Membership: type: object description: Implementation of the 'Membership' model. properties: MembershipId: type: integer format: int32 description: The membership id. example: 123456 MembershipName: type: string description: The membership name. example: example-value Priority: type: integer format: int32 description: The priority/sort order. example: 1 MemberRetailDiscount: type: number format: double description: The membership discount for retail as a percentage. example: 1.0 MemberServiceDiscount: type: number format: double description: The membership discount for services as a percentage. example: 1.0 AllowClientsToScheduleUnpaid: type: boolean description: Allow clients in this membership to schedule unpaid. example: true OnlineBookingRestrictedToMembersOnly: type: array items: $ref: '#/components/schemas/ProgramMembership' description: List of programs that are restricted to clients in this membership only. example: - {} DayOfMonthSchedulingOpensForNextMonth: type: integer format: int32 description: Day of month scheduling opens for next month. Unrestricted is a null value. example: 1 RestrictSelfSignInToMembersOnly: type: boolean description: Restrict self sign in to members only. example: true AllowMembersToBookAppointmentsWithoutPaying: type: boolean description: Allow members to book appointments without paying. example: true AllowMembersToPurchaseNonMembersServices: type: boolean description: Allow members to purchase non-members services. example: true AllowMembersToPurchaseNonMembersProducts: type: boolean description: Allow members to purchase non-members products. example: true IsActive: type: boolean description: Indicates if the membership is active. example: true EarlyAccessDaysBeforeSchedulingWindow: type: integer format: int32 description: Number of days before the scheduling window that members with this membership get early access. example: 1 MembershipTypeRestriction: type: object description: Implementation of the 'MembershipTypeRestriction' model. properties: Id: type: integer format: int32 description: The ID of the membership that is allowed to purchase the contract. example: 123456 Name: type: string description: The name of the membership type. example: Sunset Yoga Studio MergeClientsRequest: type: object description: Implementation of the 'MergeClientsRequest' model. Request for clients/mergeclients properties: SourceClientId: type: integer format: int32 description: The client that will be merged into TargetClientId example: 123456 TargetClientId: type: integer format: int32 description: The client that will remain example: 123456 MinimumCommitmentUnitEnum: type: string description: MinimumCommitmentUnitEnum enumeration. enum: - Weeks - Months - Years MobileProvider: type: object description: Implementation of the 'MobileProvider' model. properties: Id: type: integer format: int32 description: The model property of type int. example: 123456 Active: type: boolean description: The model property of type bool. example: true ProviderName: type: string description: The model property of type str. example: example-value ProviderAddress: type: string description: The model property of type str. example: 123 Market St Package: type: object description: Implementation of the 'Package' model. properties: Id: type: integer format: int32 description: The ID of the package. example: 123456 Name: type: string description: The name of the package. example: Sunset Yoga Studio DiscountPercentage: type: number format: double description: The discount percentage applied to the package. example: 1.0 SellOnline: type: boolean description: When `true`, only products that can be sold online are returned.
When `false`, all products are returned. example: true Services: type: array items: $ref: '#/components/schemas/Service' description: Information about the services in the packages. example: - {} Products: type: array items: $ref: '#/components/schemas/Product' description: Information about the products in the packages. example: - {} Pagination: type: object description: Implementation of the 'Pagination' model. Contains information about the pagination used. properties: PageNumber: type: integer format: int32 description: Page number of results in dataset. example: 1 PageSize: type: integer format: int32 description: Number of results returned in this response. example: 1 TotalResultCount: type: integer format: int32 description: Total number of results in dataset. example: 10 TotalPageCount: type: integer format: int32 description: Total number of page in dataset. example: 10 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 PaymentMethodEnum: type: string description: PaymentMethodEnum enumeration. enum: - Other - CreditCard - DebitAccount - ACH PaymentProcessingFailure: type: object description: Implementation of the 'PaymentProcessingFailure' model. Contains information about any payment processing failure. Specifically for when an SCA challenge is properties: Type: type: string description: Returned only if SCA challenge is indicated. example: example-value Message: type: string description: Returned only if SCA challenge is indicated. example: example-value AuthenticationRedirectUrl: type: string description: Returned only if SCA challenge is indicated. example: https://example.mindbodyonline.com/resource/abc123 PaymentType: type: object description: Implementation of the 'PaymentType' model. properties: Id: type: integer format: int32 description: The Payment Type Id used for api calls. example: 123456 PaymentTypeName: type: string description: Payment Type Name example: example-value Active: type: boolean description: Check if Payment type is active. example: true Fee: type: number format: double description: Payment type fee. example: 1.0 PickASpotClass: type: object description: Implementation of the 'PickASpotClass' model. Contains information about the PickASpot classes. properties: SiteId: type: integer format: int32 description: The unique ID of the Site. example: -99 LocationId: type: integer format: int32 description: The unique ID of the Location. example: 123456 ClassId: type: string description: The unique ID of the Class. example: example-value ClassExternalId: type: string description: The unique Class external ID. example: example-value ClassName: type: string description: Contains the class name. example: example-value ClassStartTime: type: string format: date-time description: Class start time. example: '2026-05-28T14:30:00Z' ClassEndTime: type: string format: date-time description: Class end time. example: '2026-05-28T14:30:00Z' ClassMaximumCapacity: type: integer format: int32 description: Contains information about the Class maximum capacity. example: 1 RoomId: type: string description: The unique Room ID. example: example-value Spots: $ref: '#/components/schemas/Spot' description: Contains information about the spot detail. Reservations: type: array items: $ref: '#/components/schemas/Reservation' description: Contains information about the reservation collection. example: - {} 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 Product: type: object description: Implementation of the 'Product' model. Represents a product. properties: ProductId: type: integer format: int32 description: The unique ID associated with product. example: 123456 Id: type: string description: The barcode number of the product. This is the `PurchasedItems[].BarcodeId` returned from GET Sales. example: example-value CategoryId: type: integer format: int32 description: The revenue category ID of the product. Use this ID when calling the GET Categories endpoint. example: 123456 SubCategoryId: type: integer format: int32 description: The SubCategory ID of the product. Use this ID when calling the GET Categories endpoint. example: 123456 SecondaryCategoryId: type: integer format: int32 description: The SecondaryCategory ID of the product. Use this ID when calling the GET Categories endpoint. example: 123456 Price: type: number format: double description: The price of the product. example: 49.99 TaxIncluded: type: number format: double description: If tax inclusive-pricing is enabled, this field shows how much tax was added to the price. To fetch this value `LocationId` must be passed as a query parameter. example: 1.0 TaxRate: type: number format: double description: The tax rate that was applied to this purchase. To fetch this value `LocationId` must be passed as a query parameter. example: 1.0 GroupId: type: integer format: int32 description: The unique ID of the product group. example: 123456 Name: type: string description: The name of the product. example: Sunset Yoga Studio OnlinePrice: type: number format: double description: The online price of the product. example: 49.99 ShortDescription: type: string description: A short text description of the product. example: Example note for Mindbody Public API. LongDescription: type: string description: A long, more detailed text description of the product. example: Example note for Mindbody Public API. TypeGroup: type: integer format: int32 description: The Type group of the product. example: 1 SupplierId: type: integer format: int32 description: The unique ID of the supplier of product. example: 123456 SupplierName: type: string description: The Supplier Name of the product. example: example-value ImageURL: type: string description: The URL of the image associated with this product. example: example-value Color: $ref: '#/components/schemas/Color' description: Contains information about color of the product. Size: $ref: '#/components/schemas/Size' description: Contains information about the size of the product. ManufacturerId: type: string description: The ID number attributed to the product by the manufacturer. example: example-value ProductsInventory: type: object description: Implementation of the 'ProductsInventory' model. properties: ProductId: type: integer format: int32 description: A ProductId of the product. example: 123456 BarcodeId: type: string description: The Id is barcode Id of the product. example: example-value LocationId: type: integer format: int32 description: The LocationId of the product. example: 123456 UnitsLogged: type: integer format: int32 description: UnitsLogged of the product. example: 1 UnitsSold: type: integer format: int32 description: UnitsSold of the product. example: 1 UnitsInStock: type: integer format: int32 description: The units in stock of the product example: 1 ReorderLevel: type: integer format: int32 description: ReorderLevel of the product. example: 1 MaxLevel: type: integer format: int32 description: MaxLevel of the product. example: 1 CreatedDateTimeUTC: type: string format: date-time description: CreatedDateTimeUTC of the product. example: '2026-05-28T14:30:00Z' ModifiedDateTimeUTC: type: string format: date-time description: ModifiedDateTimeUTC of the product. example: '2026-05-28T14:30:00Z' 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 Program1: type: object description: Implementation of the 'Program1' model. properties: CancelOffset: type: integer format: int32 description: The model property of type int. example: 10 Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio ScheduleType: $ref: '#/components/schemas/ScheduleType2Enum' description: The model property of type ScheduleType2Enum. ContentFormat: $ref: '#/components/schemas/ContentFormatEnum' description: The model property of type ContentFormatEnum. OnlineBookingDisabled: type: boolean description: The model property of type bool. example: true ScheduleOffset: type: integer format: int32 description: The model property of type int. example: 10 ScheduleOffsetEnd: type: integer format: int32 description: The model property of type int. example: 10 PricingRelationships: $ref: '#/components/schemas/PricingRelationships' description: The model property of type PricingRelationships. ProgramMembership: type: object description: Implementation of the 'ProgramMembership' 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 PromoCode: type: object description: Implementation of the 'PromoCode' model. properties: PromotionID: type: integer format: int32 description: ID of the promo code example: 1 Name: type: string description: Name of the promo code example: Sunset Yoga Studio Code: type: string description: The code of the promocode. example: example-value Active: type: boolean description: Indicates that promocode is active. example: true Discount: $ref: '#/components/schemas/Discount' description: Contains information about the discount. ActivationDate: type: string format: date-time description: The promocode activation date. example: '2026-05-28T14:30:00Z' ExpirationDate: type: string format: date-time description: The promocode expiration date. example: '2026-05-28T14:30:00Z' MaxUses: type: integer format: int32 description: The maximun number of uses. example: 1 NumberOfAutopays: type: integer format: int32 description: Number of Autopays example: 1 DaysAfterCloseDate: type: integer format: int32 description: The number of days a client has to use a promocode after they are no longer a prospect. example: 1 AllowOnline: type: boolean description: Indicates if promocode to be redeemed online in consumer mode. example: true LastModifiedDateTime: type: string format: date-time description: Promo code last modified date and time example: '2026-05-28T14:30:00Z' DaysValid: type: array items: $ref: '#/components/schemas/DaysValidEnum' description: What days the promo code can be used example: - {} ApplicableItems: type: array items: $ref: '#/components/schemas/ApplicableItem' description: Contains information about a promocode applicable items. example: - {} 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 PublicDisplay1Enum: type: string description: PublicDisplay1Enum enumeration. enum: - Hide - Show - Mask PublicDisplayEnum: type: string description: PublicDisplayEnum enumeration. enum: - Hide - Show - Mask PurchaseAccountCreditRequest: type: object description: Implementation of the 'PurchaseAccountCreditRequest' model. properties: ClientId: type: string description: The ID of the location where the account credit is being sold. example: example-value Test: type: boolean description: When `true`, allows you to test the request without affecting the database. When `false`, the request is carried out and the database is affected. example: true LocationId: type: integer format: int32 description: The ID of the location where the account credit is being sold. example: 123456 SendEmailReceipt: type: boolean description: When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.
When `false`, no email is sent to the purchaser. example: true SalesRepId: type: integer format: int32 description: The ID of the staff member to be marked as the sales rep for this account credit sale. example: 123456 ConsumerPresent: type: boolean description: 'When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant. Defaults to false. Default: **false**' example: true PaymentAuthenticationCallbackUrl: type: string description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true. example: https://example.mindbodyonline.com/resource/abc123 PaymentInfo: $ref: '#/components/schemas/CheckoutPaymentInfo' description: Contains information about the payment. PurchaseAccountCreditResponse: type: object description: Implementation of the 'PurchaseAccountCreditResponse' model. properties: AmountPaid: type: number format: double description: The amount paid for the gift card by the purchaser. example: 49.99 ClientId: type: string description: The client ID of the purchaser. example: example-value SaleId: type: integer format: int32 description: The sale ID of the gift card. example: 123456 EmailReceipt: type: boolean description: Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent. example: true PaymentProcessingFailures: type: array items: $ref: '#/components/schemas/PaymentProcessingFailure' description: Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url. example: *id113 PurchaseContractRequest: type: object description: Implementation of the 'PurchaseContractRequest' model. properties: ContractId: type: integer format: int32 description: The ID of the contract being purchased. example: 123456 Test: type: boolean description: 'When `true`, the Public API validates input information, but does not commit it, so no client data is affected.
When `false` or omitted, the transaction is committed, and client data is affected.
Default: **false**' example: true LocationId: type: integer format: int32 description: The ID of the location where the client is purchasing the contract; used for AutoPays. example: 123456 ClientId: type: string description: "The ID of the client. Note that this is not the same as the client’s unique ID." example: example-value UniqueClientId: type: integer format: int32 description: 'The unique ID of the client. Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' example: 123456 StartDate: type: string format: date-time description: "The date that the contract starts.
Default: **today’s date**" example: '2026-05-28T14:30:00Z' FirstPaymentOccurs: type: string description: 'The date on which the first payment is to occur. Possible values: * Instant * `StartDate`' example: example-value ClientSignature: type: string description: "A representation of the client’s signature. This value can take the form of Base64-encoded byte array. The file type should be PNG. The picture of the client’s signature is uploaded and viewable from the Client Documents page in the Core Business Mode software. The title of the document is:
clientContractSignature-{uniquePurchasedClientContractID}-{contract Name}-{contractStartDate}.{fileType}" example: example-value PromotionCode: type: string description: A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price. example: example-value PromotionCodes: type: array items: type: string description: Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price. example: *id114 CreditCardInfo: $ref: '#/components/schemas/CreditCardInfo' description: Contains credit card payment information.
This is only required if `StoredCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` are `false`. StoredCardInfo: $ref: '#/components/schemas/StoredCardInfo' description: Contains information about the stored credit card payment.
This is only required if `CreditCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` and are `false`. SendNotifications: type: boolean description: 'When `true`, indicates that email and SMS notifications should be sent to the client after purchase.
Default: **true**' example: true SalesRepId: type: integer format: int32 description: The ID of the staff member to be marked as the sales rep for this contract sale. example: 123456 UseDirectDebit: type: boolean description: 'When `true`, indicates that the direct debit information stored on the client''s account is to be used to pay for the contract.
This is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseAccountCredit` is false.
Default: **false**' example: true UseAccountCredit: type: boolean description: 'When `true`, indicates that the account credit of the client''s account is to be used to pay for the contract.
This is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseDirectDebit` is false.
Default: **false**' example: true ConsumerPresent: type: boolean description: When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant. Defaults to **false**. example: true PaymentAuthenticationCallbackUrl: type: string description: The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true. example: https://example.mindbodyonline.com/resource/abc123 ProrateDate: type: string format: date-time description: Optional, date to prorate contract example: '2026-05-28T14:30:00Z' PurchaseContractResponse: type: object description: Implementation of the 'PurchaseContractResponse' model. Response model for POST PurchaseContract endpoint properties: ClientId: type: string description: The ID of the client who is purchasing the contract. example: example-value UniqueClientId: type: integer format: int32 description: The Unique ID of the client who is purchasing the contract. example: 123456 LocationId: type: integer format: int32 description: The ID of the location where the contract is being purchased. example: 123456 ContractId: type: integer format: int32 description: The ID of the general contract being purchased. example: 123456 ClientContractId: type: integer format: int32 description: The ID of the specific contract being purchased by this specific client, not to be confused with the `ContractId`, which refers to a general contract that the business offers. example: 123456 Totals: $ref: '#/components/schemas/PurchaseContractResponseTotals' description: Purchase totals PaymentProcessingFailures: type: array items: $ref: '#/components/schemas/PaymentProcessingFailure' description: Contains information only if SCA challenge is indicated. example: *id011 PurchaseContractResponseTotals: type: object description: Implementation of the 'PurchaseContractResponseTotals' model. Totals for the purchase properties: Total: type: number format: double description: Total payment amount example: 49.99 SubTotal: type: number format: double description: Sub total. For VAT, sum of asking prices (include taxes, excludes discounts). For non vat, excludes taxes and discounts. example: 49.99 Discount: type: number format: double description: Discount example: 1.0 Tax: type: number format: double description: Tax example: 1.0 PurchaseGiftCardRequest: type: object description: Implementation of the 'PurchaseGiftCardRequest' model. properties: LocationId: type: integer format: int32 description: The ID of the location where the gift card is being sold. example: 123456 PurchaserClientId: type: string description: The RSSID of the client who is purchasing the gift card. example: example-value GiftCardId: type: integer format: int32 description: The product ID of the gift card being purchased. example: 123456 Test: type: boolean description: When `true`, allows you to test the request without affecting the database.
When `false`, the request is carried out and the database is affected. example: true LayoutId: type: integer format: int32 description: "The ID of the layout used for the gift card’s image." example: 123456 SendEmailReceipt: type: boolean description: When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.
When `false`, no email is sent to the purchaser. example: true RecipientEmail: type: string description: 'The email address to send the gift card image to. This parameter is required if the `LayoutId` is not 0.
Maximum length: **100**' example: kinlane@example.com RecipientName: type: string description: 'The name of the person who is to receive the gift card. This parameter is required if the `LayoutId` is not 0.
Maximum length: **20**' example: example-value Title: type: string description: 'The text to use as the title of the gift card, for example: Happy Birthday, Maria! This parameter is required if the `LayoutId` is not 0.
Maximum length: **20**' example: example-value GiftMessage: type: string description: 'A personal message to include in the gift card.
Maximum length: **300**' example: example-value DeliveryDate: type: string format: date-time description: "The date that the gift card’s image is to be delivered to the recipient. This parameter cannot be set to a date in the past. This parameter is required if the `LayoutId` is not 0. Default: **today** Minimum: **today**" example: '2026-05-28T14:30:00Z' PaymentInfo: $ref: '#/components/schemas/CheckoutPaymentInfo' description: Contains information about the payment. SalesRepId: type: integer format: int32 description: The ID of the staff member who is to be marked as the sales rep for this gift card purchase. example: 123456 ConsumerPresent: type: boolean description: 'When `true`, indicates that the consumer is available to address any SCA challenge issued by the bank. EU Only.
Default: **false**' example: true PaymentAuthenticationCallbackUrl: type: string description: This is the Url the consumer will be redirected back to after completion of the Banks SCA challenge. example: https://example.mindbodyonline.com/resource/abc123 BarcodeId: type: string description: 'Sets the barcode ID of the giftcard. When not provided, a barcode ID is automatically generated.
If a giftcard with the given barcode ID already exists and the site supports reloadable giftcards, the existing giftcard is reloaded
Maximum length: **100**' example: example-value SenderName: type: string description: 'Overrides the name that would otherwise be populated by specifying PurchaserClientId.
Maximum length: **20**' example: example-value PurchaseGiftCardResponse: type: object description: Implementation of the 'PurchaseGiftCardResponse' model. properties: BarcodeId: type: string description: The barcode ID assigned to the purchased gift card. example: example-value Value: type: number format: double description: The monetary value of the gift card. example: 1.0 AmountPaid: type: number format: double description: The amount paid for the gift card by the purchaser. example: 49.99 FromName: type: string description: The name of the purchaser. example: example-value LayoutId: type: integer format: int32 description: The ID of the layout used for this gift card. example: 123456 EmailReceipt: type: boolean description: Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent. example: true PurchaserClientId: type: string description: The client ID of the purchaser. example: example-value PurchaserEmail: type: string description: "The purchaser’s email address." example: kinlane@example.com RecipientEmail: type: string description: "The recipient’s email address." example: kinlane@example.com SaleId: type: integer format: int32 description: The sale ID of the gift card. example: 123456 PaymentProcessingFailures: type: array items: $ref: '#/components/schemas/PaymentProcessingFailure' description: Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url. example: *id115 PurchasedItem: type: object description: Implementation of the 'PurchasedItem' model. properties: SaleDetailId: type: integer format: int32 description: The ID which gets assigned to the item when item is added to the cart. example: 123456 Id: type: integer format: int32 description: The ID of the purchased item. Use this ID when calling the GET Services or GET Products endpoint. example: 123456 IsService: type: boolean description: When `true`, indicates that the purchased item was a pricing option for a service. example: true BarcodeId: type: string description: The barcode number of the purchased item. Use this ID when calling the GET Products endpoint. example: example-value Description: type: string description: The description of the sale transaction/pricing option. example: Example note for Mindbody Public API. ContractId: type: integer format: int32 description: The contract purchased by the client. Use this ID when calling the GET Contract endpoint. example: 123456 CategoryId: type: integer format: int32 description: The revenue category ID used for sale. Use this ID when calling the GET Categories endpoint. example: 123456 SubCategoryId: type: integer format: int32 description: The ID of revenue subcategory. example: 123456 UnitPrice: type: number format: double description: er Unit Price of the item purchased. example: 49.99 Quantity: type: integer format: int32 description: 'Quantity of the purchased item, applicable for products only. Note: Negative numbers indicate returned items.' example: 10 DiscountPercent: type: number format: double description: The percent discount that was applied to the items subtotal. example: 1.0 DiscountAmount: type: number format: double description: The total discount amount that was applied to the items subtotal. example: 49.99 Tax1: type: number format: double description: A decimal representation of the first tax rate that was applied to the items subtotal. example: 1.0 Tax2: type: number format: double description: A decimal representation of the second tax rate that was applied to the items subtotal. example: 1.0 Tax3: type: number format: double description: A decimal representation of the third tax rate that was applied to the items subtotal. example: 1.0 Tax4: type: number format: double description: A decimal representation of the fourth tax rate that was applied to the items subtotal. example: 1.0 Tax5: type: number format: double description: A decimal representation of the fifth tax rate that was applied to the items subtotal. example: 1.0 TaxAmount: type: number format: double description: Total tax amount that is summation of tax1, tax2, tax3, tax4 and tax5. example: 49.99 TotalAmount: type: number format: double description: The items total, once discounts and/or tax was applied. example: 49.99 Notes: type: string description: Note made by the customer while purchasing item. example: Example note for Mindbody Public API. Returned: type: boolean description: When `true`, indicates that the purchased item is returned, `false` otherwise. example: true PaymentRefId: type: integer format: int32 description: The payment reference ID generated during payment of sold item. example: 123456 ExpDate: type: string format: date-time description: The expiration date of the pricing option purchased. example: '2026-05-28T14:30:00Z' ActiveDate: type: string format: date-time description: The activation date of pricing option purchased. example: '2026-05-28T14:30:00Z' GiftCardBarcodeId: type: string description: Gift Card BarcodeId 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 RemoveClientFromClassRequest: type: object description: Implementation of the 'RemoveClientFromClassRequest' model. properties: ClassId: type: integer format: int32 description: The ID of the class that you want to remove the client from. example: 123456 ClientId: type: string description: The RSSID of the client to remove from the specified class. example: example-value UniqueClientId: type: integer format: int32 description: 'The Unique Id of the client to remove from the specified class Note: you need to provide the ''UniqueClientId'' OR the ''ClientId''. If both are provided, the ''UniqueClientId'' takes precedence.' example: 123456 Test: type: boolean description: 'When `true`, the request ensures that its parameters are valid without affecting real data.
When `false`, the request performs as intended and may affect live client data.
Default: **false**' example: true SendEmail: type: boolean description: 'When `true`, indicates that the client should be sent an email. Depending on the site and client settings, an email may or may not be sent.
Default: **false** Note: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent. When the Authorization header is passed and the SendEmail is set to `false`, then an email will not be sent. When the Authorization header is not passed and the SendEmail is set to either `true` or `false`, then an email will' example: true LateCancel: type: boolean description: 'When `true`, indicates that the client is to be late cancelled from the class.
When `false`, indicates that the client is to be early cancelled from the class.
Default: **false**' example: true VisitId: type: integer format: int32 description: 'The ID of the client visit that you want to remove from the class. Default: **0**' example: 123456 RemoveClientFromClassResponse: type: object description: Implementation of the 'RemoveClientFromClassResponse' model. properties: Class: $ref: '#/components/schemas/Class' description: Contains information about the class from which the client was removed. RemoveClientsFromClassesRequest: type: object description: Implementation of the 'RemoveClientsFromClassesRequest' model. Remove Clients From Classes Request properties: Details: type: array items: $ref: '#/components/schemas/ClassClientDetail' description: 'This object includes `ClientIds`: List of the RSSID(string) of the clients to remove from the specified class. `ClassId`: The ID(number) of the class that you want to remove the clients from.' example: *id116 Test: type: boolean description: 'When `true`, the request ensures that its parameters are valid without affecting real data.
When `false`, the request performs as intended and may affect live client data.
Default: **false**' example: true SendEmail: type: boolean description: 'When `true`, indicates that the client should be sent an email. Depending on the site and client settings, an email may or may not be sent.
Default: **false** **Note**: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent. When the Authorization header is passed and the SendEmail is set to `false`, then an email will not be sent. When the Authorization header is not passed and the SendEmail is set to either `true` or `false`, then an email ' example: true LateCancel: type: boolean description: 'When `true`, indicates that the client is to be late cancelled from the class.
When `false`, indicates that the client is to be early cancelled from the class.
Default: **false**' example: true Limit: type: integer format: int32 description: Number of results to include, defaults to 100 example: 10 Offset: type: integer format: int32 description: Page offset, defaults to 0. example: 10 RemoveClientsFromClassesResponse: type: object description: Implementation of the 'RemoveClientsFromClassesResponse' model. Remove Clients From Classes Response properties: PaginationResponse: $ref: '#/components/schemas/PaginationResponse' description: Contains information about the pagination used. Classes: type: array items: $ref: '#/components/schemas/Class' description: Contains information about the classes from which the clients were removed. example: *id117 Errors: type: array items: $ref: '#/components/schemas/ApiError' description: Contains information about the errors example: *id118 Reservation: type: object description: Implementation of the 'Reservation' model. Contains information about the reservation. properties: ReservationId: type: string description: The unique reservation ID. example: example-value ReservationExternalId: type: string description: The unique reservation external ID. example: example-value ClassId: type: string description: The unique class ID. example: example-value ClassExternalId: type: string description: The unique class external ID. example: example-value MemberExternalId: type: string description: The unique member external ID. example: example-value ReservationType: type: string description: Contains information about the reservation type. example: example-value Spots: $ref: '#/components/schemas/Spot' description: Contains information about the spot details. IsConfirmed: type: boolean description: Boolean value whether it is confirmed. example: true ConfirmationDate: type: string format: date-time description: Contains information about the confirmation date. example: '2026-05-28T14:30:00Z' Resource: type: object description: Implementation of the 'Resource' model. properties: Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio 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' ResourceAvailability1: type: object description: Implementation of the 'ResourceAvailability1' 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' SessionTypeIds: type: array items: type: integer format: int32 description: List of SessionTypeIds that this availability is restricted to. If empty, no restrictions. example: - 1 ProgramIds: type: array items: type: integer format: int32 description: List of ProgramIds that this availability is restricted to. If empty, no restrictions. 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 ResponseDetails: type: object description: Implementation of the 'ResponseDetails' model. Contains information about the response message detail. properties: Status: type: string description: Contains information about the response status. example: Active TransactionId: type: string description: The unique transaction ID. example: example-value Message: type: string description: Contains information about the response message detail. example: example-value ReturnSaleRequest: type: object description: Implementation of the 'ReturnSaleRequest' model. ReturnSaleRequest properties: SaleId: type: integer format: int32 description: The Sale ID of the sale item to be returned. example: 123456 ReturnReason: type: string description: The reason for the return. example: example-value ReturnSaleResponse: type: object description: Implementation of the 'ReturnSaleResponse' model. ReturnSaleResponse properties: ReturnSaleID: type: integer format: int32 description: The returned sale ID example: 1 TrainerID: type: integer format: int32 description: The trainer ID who returned the sale example: 1 Amount: type: number format: double description: The returned amount example: 49.99 Sale: type: object description: Implementation of the 'Sale' model. Contains the Sale details. properties: Id: type: integer format: int32 description: The sale ID. example: 123456 SaleDate: type: string format: date-time description: The date the item was sold. example: '2026-05-28T14:30:00Z' SaleTime: type: string description: The time the item was sold. example: example-value SaleDateTime: type: string format: date-time description: The date and time the item was sold. example: '2026-05-28T14:30:00Z' OriginalSaleDateTime: type: string format: date-time description: The date and time the item was sold originally. example: '2026-05-28T14:30:00Z' SalesRepId: type: integer format: int32 description: The sales representative ID example: 123456 ClientId: type: string description: The ID of the client who made the purchase. example: example-value RecipientClientId: type: integer format: int32 description: Recipient Client Id example: 123456 PurchasedItems: type: array items: $ref: '#/components/schemas/PurchasedItem' description: Contains the `PurchasedItem` objects that describe the purchased items. example: - {} LocationId: type: integer format: int32 description: The ID of the location where the sale takes place. example: 123456 Payments: type: array items: $ref: '#/components/schemas/SalePayment' description: Contains the `SalePayment` objects that describe the payments that contributed to this sale. example: - {} SalePayment: type: object description: Implementation of the 'SalePayment' model. properties: Id: type: integer format: int32 description: A unique identifier for this payment. example: 123456 Amount: type: number format: double description: The total amount of sales that were made on the sale date, including all payment methods that were used and taxes that were collected. example: 49.99 Method: type: integer format: int32 description: The method used to make this payment. example: 1 Type: type: string description: "The payment method type used for the client’s purchase." example: example-value Notes: type: string description: Payment notes that are entered under the selected payment method in the Retail screen before completing the sale. example: Example note for Mindbody Public API. TransactionId: type: integer format: int32 description: The ID of transaction. Use this ID when calling the GET Transactions endpoint. example: 123456 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 SalesRepResponse: type: object description: Implementation of the 'SalesRepResponse' model. This is the sales rep DTO properties: Id: type: integer format: int32 description: The unique Id of the sales rep example: 123456 FirstName: type: string description: The firstname of the sales rep example: Alex LastName: type: string description: The lastname of the sales rep example: Lane SalesRepNumbers: type: array items: type: integer format: int32 description: The sales rep Ids that are assigned to the rep example: - 1 ScheduleType2Enum: type: string description: ScheduleType2Enum enumeration. enum: - All - DropIn - Enrollment - Appointment - Resource - Media - Arrival ScheduleTypeEnum: type: string description: ScheduleTypeEnum enumeration. enum: - All - Class - Enrollment - Appointment - Resource - Media - Arrival ScheduledServiceEarningsEvent: type: object description: Implementation of the 'ScheduledServiceEarningsEvent' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member who taught the class. example: 123456 ScheduledServiceId: type: integer format: int32 description: The class' ID. example: 123456 ScheduledServiceType: $ref: '#/components/schemas/ScheduledServiceTypeEnum' description: The type of the scheduled service; i.e, a class, appointment, or enrollment. Earnings: type: number format: double description: The total monetary amount the staff is to be paid for this class. example: 1.0 DateTime: type: string format: date-time description: The model property of type datetime. example: '2026-05-28T14:30:00Z' ScheduledServiceTypeEnum: type: string description: ScheduledServiceTypeEnum enumeration. enum: - Class - Appointment - Enrollment - All Semester: type: object description: Implementation of the 'Semester' model. Semesters help you quickly classify enrollments. properties: Id: type: integer format: int32 description: "This semester’s unique ID." example: 123456 Name: type: string description: Name of the semester. example: Sunset Yoga Studio Description: type: string description: The description of the semester. example: Example note for Mindbody Public API. StartDate: type: string format: date-time description: Start date of the semester. example: '2026-05-28T14:30:00Z' EndDate: type: string format: date-time description: End date of the semester. example: '2026-05-28T14:30:00Z' MultiRegistrationDiscount: type: number format: double description: Discount for multiple registration in the semester. example: 1.0 MultiRegistrationDeadline: type: string format: date-time description: Registration deadline of the semester. example: '2026-05-28T14:30:00Z' Active: type: boolean description: When `true`, indicates that the semester is active. example: true SendAutoEmailRequest: type: object description: Implementation of the 'SendAutoEmailRequest' model. properties: ClientId: type: string description: The ID of the client email will be sent to. example: example-value EmailType: type: string description: 'The type of the email that will be sent to a client. Possible values are: * BusinessWelcomeEmail * ConsumerWelcomeEmail' example: example-value SendPasswordResetEmailRequest: type: object description: Implementation of the 'SendPasswordResetEmailRequest' model. Request to send a password reset email to a user properties: UserEmail: type: string description: "The user’s email address. The software uses this parameter as the username." example: kinlane@example.com UserFirstName: type: string description: "The user’s first name. The software uses this parameter to verify the user." example: example-value UserLastName: type: string description: "The user’s last name. The software uses this parameter to verify the user." example: example-value Service: type: object description: Implementation of the 'Service' model. properties: Price: type: number format: double description: The cost of the pricing option when sold at a physical location. example: 49.99 OnlinePrice: type: number format: double description: The cost of the pricing option when sold online. example: 49.99 TaxIncluded: type: number format: double description: The amount of tax included in the price, if inclusive pricing is enabled. example: 1.0 ProgramId: type: integer format: int32 description: The ID of the program that this pricing option applies to. example: 123456 TaxRate: type: number format: double description: The tax rate applied to the pricing option. This field is populated only when you include a `LocationID` in the request. example: 1.0 ProductId: type: integer format: int32 description: The unique ID of this pricing option. This is the `PurchasedItems[].Id` returned from GET Sales. example: 123456 Id: type: string description: The barcode ID of the pricing option. This is the `PurchasedItems[].BarcodeId` returned from GET Sales. example: example-value Name: type: string description: The name of the pricing option. example: Sunset Yoga Studio Count: type: integer format: int32 description: The initial count of usages available for the pricing option. example: 10 SellOnline: type: boolean description: 'When true, filters to the pricing options that can be sold online. Default: *false*' example: true SaleInContractOnly: type: boolean description: When `true`, indicates that the pricing option is allowed to be purchased in a contract or package. When `false`, indicates that the pricing option is not allowed to be purchased in a contract or package. example: true Type: type: string description: The type of the pricing option, either Drop-in, Series, or Unlimited. example: example-value ExpirationType: type: string description: The date the pricing option begins its activation, either the date of sale or the date the client first used it for a visit. example: example-value ExpirationUnit: type: string description: The unit, either days or months, of `ExpirationLength`, indicating how long the pricing option is active for. example: example-value ExpirationLength: type: integer format: int32 description: The number of days or months that the pricing option is active for. example: 1 RevenueCategory: type: string description: The revenue category of the pricing option. example: example-value MembershipId: type: integer format: int32 description: The ID that this pricing option grants membership to. example: 123456 SellAtLocationIds: type: array items: type: integer format: int32 description: The location IDs where this pricing option is sold. example: - 1 UseAtLocationIds: type: array items: type: integer format: int32 description: The location IDs where this pricing option may be used. example: - 1 Priority: type: string description: The priority of the pricing option, either High, Medium, or Low. example: example-value IsIntroOffer: type: boolean description: Indicates if this pricing option is an introductory offer. example: true IntroOfferType: type: string description: When `IsIntroOffer` is true, this indicates if this introductory offer may be purchased by new clients or new and existing clients. example: example-value IsThirdPartyDiscountPricing: type: boolean description: Indicates whether this pricing option is sold at discounted rates by third-party services, such as ClassPass. example: true Program: type: string description: The name of the service category the pricing option belongs to. example: example-value Discontinued: type: boolean description: If the pricing option has been marked discontinued. example: true RestrictToMembershipIds: type: array items: type: integer format: int32 description: Restricted to members of these membership ids. example: - 1 ApplyMemberDiscountsOfMembershipIds: type: array items: type: integer format: int32 description: Discounts applied of these membership ids. example: - 1 ServiceTag: type: object description: Implementation of the 'ServiceTag' model. ServiceTag refers to Category and Subcategory fields for classes and appointments properties: Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio 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 SessionType1: type: object description: Implementation of the 'SessionType1' model. properties: Type: $ref: '#/components/schemas/Type1Enum' description: The model property of type Type1Enum. DefaultTimeLength: type: integer format: int32 description: The model property of type int. example: 1 StaffTimeLength: type: integer format: int32 description: The model property of type int. example: 1 ProgramId: type: integer format: int32 description: The model property of type int. example: 123456 NumDeducted: type: integer format: int32 description: The model property of type int. example: 1 Id: type: integer format: int32 description: The model property of type int. example: 123456 Name: type: string description: The model property of type str. example: Sunset Yoga Studio Active: type: boolean description: The model property of type bool. example: true Capacity: type: integer format: int32 description: The model property of type int. example: 1 ResourceRequired: type: boolean description: The model property of type bool. example: true Category: $ref: '#/components/schemas/ServiceTag' description: The model property of type ServiceTag. Subcategory: $ref: '#/components/schemas/ServiceTag' description: The model property of type ServiceTag. OnlineDescription: type: string description: The model property of type str. example: Example note for Mindbody Public API. AvailableForAddOn: type: boolean description: The model property of type bool. example: true ShoppingCart: type: object description: Implementation of the 'ShoppingCart' model. Represents a shopping cart. properties: Id: type: string description: The shopping cart ID. example: example-value CartItems: type: array items: $ref: '#/components/schemas/CartItem' description: Contains information about the items in the shopping cart. example: - {} SubTotal: type: number format: double description: "The cart’s total cost before taxes and discounts were applied." example: 49.99 DiscountTotal: type: number format: double description: "The monetary amount removed from the cart’s total cost by applied discounts." example: 49.99 TaxTotal: type: number format: double description: "The monetary amount paid in taxes, included in the cart’s `GrandTotal`." example: 49.99 GrandTotal: type: number format: double description: "The cart’s total cost, including taxes and discounts." example: 49.99 Transactions: type: array items: $ref: '#/components/schemas/TransactionResponse' description: Contains information returned from the first call to CheckoutShoppingCart. example: - {} SaleId: type: integer format: int32 description: The ID of the sale associated with the shopping cart. example: 123456 Site: type: object description: Implementation of the 'Site' model. properties: AcceptsAmericanExpress: type: boolean description: When `true`, indicates that this site accepts American Express cards.
When `false`, indicates that this site does not accept American Express credit cards. example: true AcceptsDiscover: type: boolean description: When `true`, indicates that this site accepts Discover cards.
When `false`, indicates that this site does not accept Discover credit cards. example: true AcceptsMasterCard: type: boolean description: When `true`, indicates that this site accepts MasterCard cards.
When `false`, indicates that this site does not accept MasterCard credit cards. example: true AcceptsVisa: type: boolean description: When `true`, indicates that this site accepts Visa cards.
When `false`, indicates that this site does not accept Visa credit cards. example: true AllowsDashboardAccess: type: boolean description: When `true`, indicates that this site allows access to its dashboard.
When `false`, indicates that this site does not allow access to its dashboard. example: true ContactEmail: type: string description: "The site’s email address." example: kinlane@example.com Description: type: string description: A description of the site. example: Example note for Mindbody Public API. Id: type: integer format: int32 description: The site ID. example: 123456 LogoUrl: type: string description: "The URL to the site’s logo." example: https://example.mindbodyonline.com/resource/abc123 Name: type: string description: The name of the site. example: Sunset Yoga Studio PageColor1: type: string description: A hex code for a color the business owner uses in marketing. This color can be used to set a theme for an integration so that it matches the configured color-scheme for the business. example: example-value PageColor2: type: string description: The hex code for a second color, to be used in the same manner as `pageColor1`. example: example-value PageColor3: type: string description: The hex code for a third color, to be used in the same manner as `pageColor1`. example: example-value PageColor4: type: string description: The hex code for a fourth color, to be used in the same manner as `pageColor1`. example: example-value PricingLevel: type: string description: "The MINDBODY pricing level for the business. Possible values are: Accelerate - The business is on MINDBODY’s Accelerate pricing tier. Grow - The business is on MINDBODY’s Essential pricing tier. Legacy - The business is on an older MINDBODY pricing tier that is no longer offered. Listing - The business is on an older MINDBODY pricing tier that is no longer offered. Pro - The business is on an older MINDBODY pricing tier that is no longer offered. Solo - The business is on an older MINDBODY prici" example: example-value SmsPackageEnabled: type: boolean description: When `true`, indicates that the business uses SMS text messages to communicate with its clients.
When `false`, indicates that the business does not use SMS text messages to communicate with its clients. example: true TaxInclusivePrices: type: boolean description: When `true`, indicates that the total includes tax.
When `false`, indicates that the total does not include tax. example: true CurrencyIsoCode: type: string description: The currency ISO code for the site. example: example-value CountryCode: type: string description: The country code for the site. example: example-value TimeZone: type: string description: The time zone the site is located in. example: example-value AcceptsDirectDebit: type: boolean description: When `true`, indicates that direct debit can be used by clients at this site.
When `false`, indicates that direct debit can not by used by clients at this site. example: true LeadChannels: type: array items: $ref: '#/components/schemas/LeadChannel' description: The list of lead channels available for a subscriber/studio. example: - {} PerStaffPricing: type: boolean description: When `true`, indicates that per-staff pricing is enabled at this site.
When `false`, indicates that per-staff pricing is not enabled at this site. example: true Size: type: object description: Implementation of the 'Size' model. properties: Id: type: integer format: int32 description: The unique ID of the product size. example: 123456 Name: type: string description: The name of the size of product. example: Sunset Yoga Studio Spot: type: object description: Implementation of the 'Spot' model. Contains information about the spot details. properties: ReservedSpotNumbers: type: array items: type: integer format: int32 description: Contains information about the collection of reserved spot numbers. example: - 1 AvailableSpotNumbers: type: array items: type: integer format: int32 description: Contains information about the collection of available spot numbers. example: - 1 UnavailableSpotNumbers: type: array items: type: integer format: int32 description: Contains information about the collection of Unavailable spot numbers. example: - 1 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 Staff1: type: object description: Implementation of the 'Staff1' model. properties: Id: type: integer format: int32 description: The ID assigned to the staff member. example: 123456 FirstName: type: string description: "The staff member’s first name." example: Alex LastName: type: string description: "The staff member’s last name." example: Lane DisplayName: type: string description: The display name of the staff member. example: example-value Email: type: string description: "The staff member’s email address." example: kinlane@example.com Bio: type: string description: "The staff member’s biography. This string contains HTML." example: example-value Address: type: string description: The address of the staff member who is teaching the class. example: 123 Market St Address2: type: string description: The address2 of the staff member who is teaching the class. example: 123 Market St City: type: string description: "The staff member’s city." example: San Francisco State: type: string description: "The staff member’s state." example: CA PostalCode: type: string description: "The staff member’s postal code." example: '94110' ForeignZip: type: string description: "The staff member’s Foreign Zip code." example: example-value Country: type: string description: "The staff member’s country." example: US WorkPhone: type: string description: "The staff member’s work phone number." example: '+15551234567' HomePhone: type: string description: "The staff member’s home phone number." example: '+15551234567' CellPhone: type: string description: "The staff member’s mobile phone number." example: '+15551234567' Active: type: boolean description: When `true`, indicates that the staff member is Active. When `false`, indicates that the staff member is not Active. example: true IsSystem: type: boolean description: When `true`, indicates that the staff member is a system . When `false`, indicates that the staff member is not system. example: true SmodeId: type: integer format: int32 description: The Staff's Smode Id example: 123456 AppointmentTrn: 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 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 ImageUrl: type: string description: "The URL of the staff member’s image, if one has been uploaded." example: https://example.mindbodyonline.com/resource/abc123 IsMale: type: boolean description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female. example: true ReservationTrn: type: boolean description: When `true`, indicates that the staff member offers Reservation. When `false`, indicates that the staff member does not offer Reservation. 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 MultiLocationPermission: type: boolean description: When `true`, indicates that the staff member has Multi Location Permission. When `false`, indicates that the staff member does not has Multi Location Permission. example: true Name: type: string description: "The staff member’s name." example: Sunset Yoga Studio ProviderIDs: type: array items: type: string description: A list of ProviderIds for the staff. example: - example-value StaffSettings: $ref: '#/components/schemas/StaffSetting' description: This object contains the staff settings. Rep: type: boolean description: When `true`, indicates that the staff is sales Rep 1 else `false`. example: true Rep2: type: boolean description: When `true`, indicates that the staff is sales Rep 2 else `false`. example: true Rep3: type: boolean description: When `true`, indicates that the staff is sales Rep 3 else `false`. example: true Rep4: type: boolean description: When `true`, indicates that the staff is sales Rep 4 else `false`. example: true Rep5: type: boolean description: When `true`, indicates that the staff is sales Rep 5 else `false`. example: true Rep6: type: boolean description: When `true`, indicates that the staff is sales Rep 6 else `false`. example: true Assistant: type: boolean description: When `true`, indicates that the staff is assistant. When `false`, indicates that the staff is not assistant. example: true Assistant2: type: boolean description: When `true`, indicates that the staff is assistant2. When `false`, indicates that the staff is not 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' EmpID: type: string description: The custom staff ID assigned to the staff member. example: example-value Appointments: type: array items: $ref: '#/components/schemas/Appointment1' description: A list of appointments for the staff. example: - {} Unavailabilities: type: array items: $ref: '#/components/schemas/Unavailability1' description: A list of unavailabilities for the staff. example: - {} Availabilities: type: array items: $ref: '#/components/schemas/Availability1' description: A list of availabilities for the staff. example: - {} LoginLocations: type: array items: $ref: '#/components/schemas/Location1' description: A list of LoginLocations for the staff example: - {} StaffPermissionGroup: type: object description: Implementation of the 'StaffPermissionGroup' model. properties: PermissionGroupName: type: string description: The name of the permission group. example: example-value IpRestricted: type: boolean description: "When `true`, the staff member’s permissions are restricted to specific IP addresses.
When `false`, the staff member’s permissions are not restricted to specific IP addresses." example: true AllowedPermissions: type: array items: $ref: '#/components/schemas/AllowedPermissionEnum' description: A list of the permissions allowed to the staff member. See [Permission Values](https://developers.mindbodyonline.com/PublicDocumentation/V 6#epermission-values) for descriptions of the possible permissions. example: - {} DeniedPermissions: type: array items: $ref: '#/components/schemas/DeniedPermissionEnum' description: A list of the permissions that the staff member is not allowed to exercise. See [Permission Values](https://developers.mindbodyonline.com/PublicDocumentation/V 6#epermission-values) for descriptions of the possible permissions. example: - {} StaffSessionType: type: object description: Implementation of the 'StaffSessionType' model. properties: StaffId: type: integer format: int32 description: The staff member Id example: 123456 Type: $ref: '#/components/schemas/Type2Enum' description: Contains the class description session type. 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 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 TimeLength: type: integer format: int32 description: The model property of type int. example: 1 PrepTime: type: integer format: int32 description: Prep time in minutes example: 1 FinishTime: type: integer format: int32 description: Finish time in minutes example: 1 PayRateType: type: string description: The pay rate type example: example-value PayRateAmount: type: number format: double description: The pay rate amount example: 49.99 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 Status1Enum: type: string description: Status1Enum enumeration. enum: - Booked - Completed - Confirmed - Arrived - NoShow - Cancelled - LateCancelled StatusEnum: type: string description: StatusEnum enumeration. enum: - None - Requested - Booked - Completed - Confirmed - Arrived - NoShow - Cancelled - LateCancelled StoredCardInfo: type: object description: Implementation of the 'StoredCardInfo' model. properties: LastFour: type: string description: The model property of type str. example: example-value SubCategory: type: object description: Implementation of the 'SubCategory' model. properties: Id: type: integer format: int32 description: The Id of the subcategory. example: 123456 SubCategoryName: type: string description: The name of the subcategory. example: example-value Active: type: boolean description: When `true`, indicates that the subcategory is active. example: true SubstituteClassTeacherRequest: type: object description: Implementation of the 'SubstituteClassTeacherRequest' model. properties: ClassId: type: integer format: int32 description: The ID of the class to which a substitute teacher needs to be assigned. example: 123456 StaffId: type: integer format: int32 description: The staff ID of the teacher to substitute. example: 123456 OverrideConflicts: type: boolean description: When `true`, overrides any conflicts in the schedule. example: true SendClientEmail: type: boolean description: When `true`, sends the client an automatic email about the substitution, if the client has opted to receive email. example: true SendOriginalTeacherEmail: type: boolean description: When `true`, sends the originally scheduled teacher an automatic email about the substitution. example: true SendSubstituteTeacherEmail: type: boolean description: When `true`, sends the substituted teacher an automatic email about the substitution. example: true SubstituteClassTeacherResponse: type: object description: Implementation of the 'SubstituteClassTeacherResponse' model. properties: Class: $ref: '#/components/schemas/SubstituteTeacherClass' description: Contains information about the class that is being assigned a substitute teacher. SubstituteTeacherClass: type: object description: Implementation of the 'SubstituteTeacherClass' model. Represents a single class instance. Used in SubstituteClassTeacher endpoint. properties: ClassScheduleId: type: integer format: int32 description: The class schedule ID of the requested class. example: 123456 Location: $ref: '#/components/schemas/Location' description: Contains information about the location where the class is taking place. MaxCapacity: type: integer format: int32 description: The total number of bookings allowed in the class. example: 1 WebCapacity: type: integer format: int32 description: The total number of online bookings allowed in the class. example: 1 TotalBooked: type: integer format: int32 description: The total number of clients who are booked into the class prior to this call being made. example: 1 TotalBookedWaitlist: type: integer format: int32 description: The total number of booked clients who are on the waiting list for the class prior to this call being made. example: 1 WebBooked: type: integer format: int32 description: The total number of bookings in the class made by online users, prior to this call being made. This property is the current number of bookings counted toward the `WebCapacity` limit. example: 1 SemesterId: type: integer format: int32 description: Identifies the semester assigned to this class. example: 123456 IsCanceled: type: boolean description: When `true`, indicates that the class has been canceled.
When `false`, indicates that the class has not been canceled and may still be bookable. example: true Substitute: type: boolean description: When `true`, indicates that the class is being taught by a substitute teacher. example: true Active: type: boolean description: When `true`, indicates that the class is being shown to clients in consumer mode. example: true IsWaitlistAvailable: type: boolean description: When `true`, indicates that the class has a waiting list and there is space available on the waiting list for another client.
When `false`, indicates either that the class does not have a waiting list or there is no space available on the class waiting list. example: true HideCancel: type: boolean description: When `true`, indicates that this class is should not be shown to clients when `IsCancelled` is `true`.
When `false`, indicates that this class is should be shown to clients when `IsCancelled` is `true`.
This property can be ignored when the `IsCancelled` property is `false`. example: true Id: type: integer format: int32 description: The unique identifier of the class. example: 123456 IsAvailable: type: boolean description: When `true`, indicates that the class can be booked.
When `false`, that the class cannot be booked at this time. example: true StartDateTime: type: string format: date-time description: The date and time that this class is scheduled to start. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: The date and time when this class is scheduled to end. example: '2026-05-28T14:30:00Z' LastModifiedDateTime: type: string format: date-time description: The last time the class was modified. example: '2026-05-28T14:30:00Z' ClassDescription: $ref: '#/components/schemas/ClassDescription' description: Contains information about this class. Staff: $ref: '#/components/schemas/Staff' description: Contains information about the teacher of the class. VirtualStreamLink: type: string description: The URL for the pre-recorded live stream for the class if hosted on the mindbody virtual wellness platform example: example-value SuspendContractRequest: type: object description: Implementation of the 'SuspendContractRequest' model. properties: ClientId: type: string description: The ID of the client. example: example-value ClientContractId: type: integer format: int32 description: The unique ID of the sale of the contract. example: 123456 SuspensionType: type: string description: ex. Illness, Injury, Vacation. (Note this can be customized by each studio). If provided, then Duration, DurationUnit, and SuspensionFee (if applicable) are automatically applied. Restrict Days are not supported. example: example-value SuspensionStart: type: string format: date-time description: "The contract suspension start date. Default: *today’s date*" example: '2026-05-28T14:30:00Z' Duration: type: integer format: int32 description: The number of (DurationUnit) the suspension lasts. example: 1 DurationUnit: type: integer format: int32 description: The unit applied to Duration. example: 1 OpenEnded: type: boolean description: 'When `true`, indicates that suspension is open ended. Also, when `true`, then Duration and DurationUnit are ignored. Default: *false*' example: true SuspensionNotes: type: string description: The comments for suspending a contract. example: Example note for Mindbody Public API. SuspensionFee: type: number format: double description: An optional charge that clients who wish to pause a contract for a set period of time can be charged. example: 1.0 SuspendContractResponse: type: object description: Implementation of the 'SuspendContractResponse' model. properties: Contract: $ref: '#/components/schemas/ClientContract' description: Contains information about client contract. TerminateContractRequest: type: object description: Implementation of the 'TerminateContractRequest' model. properties: ClientId: type: string description: 'The ID of the client. NOTE: this should be the PayerClientId (from GET ClientContracts and/or GET ClientCompleteInfo), which is the ID of the client who holds the contract.' example: example-value ClientContractId: type: integer format: int32 description: The unique ID of the sale of the contract example: 123456 TerminationDate: type: string format: date-time description: The contract termination date. example: '2026-05-28T14:30:00Z' TerminationCode: type: string description: ex. Illness, Injury, Moving, BreakingContract (Note this can be customized by each studio). example: example-value TerminationComments: type: string description: The comments for terminating a contract. example: Example note for Mindbody Public API. TerminateContractResponse: type: object description: Implementation of the 'TerminateContractResponse' model. properties: Contract: $ref: '#/components/schemas/ClientContract' description: Contains confirmation message for the successful contract termination. TimeCardEvent: type: object description: Implementation of the 'TimeCardEvent' model. properties: StaffId: type: integer format: int32 description: The ID of the requested staff member. example: 123456 Task: type: string description: "The staff member’s job title." example: example-value TimeIn: type: string format: date-time description: The time that the staff member started the job task. example: '2026-05-28T14:30:00Z' TimeOut: type: string format: date-time description: The time that the staff member stopped doing the job task. example: '2026-05-28T14:30:00Z' Hours: type: number format: double description: The number of hours on this time card, rounded to the nearest fourth decimal place. example: 1.0 HourlyRate: type: number format: double description: The hourly rate the business pays this staff for this `Task`. example: 1.0 Earnings: type: number format: double description: The total amount earned by the staff member for this time card entry. example: 1.0 Tip: type: object description: Implementation of the 'Tip' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member the tip is for. example: 123456 SaleId: type: integer format: int32 description: "The sale’s ID associated with the tip." example: 123456 SaleDateTime: type: string format: date-time description: The date and time when the tip was given. example: '2026-05-28T14:30:00Z' Earnings: type: number format: double description: The amount tipped to the staff member. example: 1.0 Transaction: type: object description: Implementation of the 'Transaction' model. properties: TransactionId: type: integer format: int32 description: The transaction ID. example: 123456 SaleId: type: integer format: int32 description: The sale ID. example: 123456 ClientId: type: integer format: int32 description: The ID of the client who made the purchase. example: 123456 Amount: type: number format: double description: The amount charged on the card example: 49.99 Settled: type: boolean description: Whether it is settled or not example: true Status: type: string description: Status of the transaction example: Active TransactionTime: type: string format: date-time description: Time of card swiped example: '2026-05-28T14:30:00Z' AuthTime: type: string format: date-time description: Time of card authorized example: '2026-05-28T14:30:00Z' LocationId: type: integer format: int32 description: The ID of the location where the sale takes place. example: 123456 MerchantId: type: string description: Merchant ID of the studio example: example-value TerminalId: type: string description: Terminal ID used for payment. Not applicable for CNP/Bank example: example-value CardExpirationMonth: type: string description: Expiry month of the card example: example-value CardExpirationYear: type: string description: Expiry year of the card example: example-value CCLastFour: type: string description: Last 4 digits of CC example: example-value CardType: type: string description: Type of the card example: example-value CCSwiped: type: boolean description: Whether card is swiped or not example: true ACHLastFour: type: string description: "Customer’s ACH last 4 digits" example: example-value TransactionResponse: type: object description: Implementation of the 'TransactionResponse' model. properties: TransactionId: type: integer format: int32 description: The Transaction ID. example: 123456 AuthenticationUrl: type: string description: The optional valid URL provided by the bank. example: https://example.mindbodyonline.com/resource/abc123 Type1Enum: type: string description: Type1Enum enumeration. enum: - All - DropIn - Enrollment - Appointment - Resource - Media - Arrival Type2Enum: type: string description: Type2Enum enumeration. enum: - All - Class - Enrollment - Appointment - Resource - Media - Arrival TypeEnum: type: string description: TypeEnum enumeration. enum: - All - Class - Enrollment - Appointment - Resource - Media - Arrival 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. Unavailability1: type: object description: Implementation of the 'Unavailability1' model. properties: Id: type: integer format: int32 description: Unavailabiltity ID. example: 123456 StartDateTime: type: string format: date-time description: Start of the unavailability. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: End of the unavailability. example: '2026-05-28T14:30:00Z' Description: type: string description: Description of the unavailability. example: Example note for Mindbody Public API. UnavailabilityPlain: type: object description: Implementation of the 'UnavailabilityPlain' model. properties: Id: type: integer format: int32 description: The ID of the unavailability. example: 123456 StaffId: type: integer format: int32 description: Id of the staff 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. UpcomingAutopayEvent: type: object description: Implementation of the 'UpcomingAutopayEvent' model. properties: ClientContractId: type: integer format: int32 description: The ID of the contract. example: 123456 ChargeAmount: type: number format: double description: The amount charged. example: 49.99 Subtotal: type: number format: double description: Subtotal before tax. example: 1.0 Tax: type: number format: double description: Tax amount. example: 1.0 PaymentMethod: $ref: '#/components/schemas/PaymentMethodEnum' description: The payment method. ScheduleDate: type: string format: date-time description: The date and time of the next payment. example: '2026-05-28T14:30:00Z' ProductId: type: integer format: int32 description: The product id. example: 123456 UpdateAppointmentRequest: type: object description: Implementation of the 'UpdateAppointmentRequest' model. properties: AppointmentId: type: integer format: int32 description: A unique ID for the appointment. example: 123456 EndDateTime: type: string format: date-time description: "The end date and time of the new appointment.
Default: **StartDateTime**, offset by the staff member’s default appointment duration." example: '2026-05-28T14:30:00Z' Execute: type: string description: 'The action taken to add this appointment. Possible values are: confirm, unconfirm, arrive, unarrive, cancel, latecancel, complete.' example: example-value GenderPreference: type: string description: "The client’s service provider gender preference." example: example-value Notes: type: string description: Any general notes about this appointment. example: Example note for Mindbody Public API. PartnerExternalId: type: string description: Optional external key for api partners. example: example-value ProviderId: type: string description: If a user has Complementary and Alternative Medicine features enabled, this parameter assigns a provider ID to the appointment. example: example-value ResourceIds: type: array items: type: integer format: int32 description: A list of resource IDs to associate with the new appointment. example: *id119 SendEmail: type: boolean description: 'Whether to send client an email for cancellations. An email is sent only if the client has an email address and automatic emails have been set up.
Default: **false**' example: true SessionTypeId: type: integer format: int32 description: The session type associated with the new appointment. example: 123456 StaffId: type: integer format: int32 description: The ID of the staff member who is adding the new appointment. example: 123456 StartDateTime: type: string format: date-time description: The start date and time of the new appointment. example: '2026-05-28T14:30:00Z' ApplyPayment: type: boolean description: 'When `true`, appointment will be updated with a current applicable client service from the clients account.
Default: **false**' example: true Test: type: boolean description: 'When `true`, indicates that the method is to be validated, but no new appointment data is added.
Default: **false**' example: true UpdateAppointmentResponse: type: object description: Implementation of the 'UpdateAppointmentResponse' model. properties: Appointment: $ref: '#/components/schemas/Appointment' description: Contains information about the appointment. UpdateAvailabilityRequest: type: object description: Implementation of the 'UpdateAvailabilityRequest' model. This is the update avaialability request coming DTO properties: AvailabilityIds: type: array items: type: integer format: int32 description: Unique IDs for the availabilities or unavailabilities. example: *id120 PublicDisplay: $ref: '#/components/schemas/PublicDisplayEnum' description: Choice that decides whether the availablity should be publicly visible, masked or hidden. DaysOfWeek: type: array items: $ref: '#/components/schemas/DaysOfWeekEnum' description: 'The days of week to update the availabilities or unavailabilities.
Default: **All**' example: *id121 ProgramIds: type: array items: type: integer format: int32 description: 'The program Id to be set for the availabilities. Default: **All**' example: *id122 StartDateTime: type: string format: date-time description: The start date and time for the availabilities or unavailabilities. example: '2026-05-28T14:30:00Z' EndDateTime: type: string format: date-time description: The end date and time for the availabilities or unavailabilities. example: '2026-05-28T14:30:00Z' LocationId: type: integer format: int32 description: The location Id to be updated for the provided availability Ids. example: 123456 UnavailableDescription: type: string description: The description for unavailability. example: Example note for Mindbody Public API. Test: type: boolean description: 'When `true`, the request ensures that its parameters are valid without affecting real data. When ``false`, the request performs as intended and may affect live client data. Default: **false**' example: true UpdateAvailabilityResponse: type: object description: Implementation of the 'UpdateAvailabilityResponse' model. This is the update avaialability response properties: StaffMembers: type: array items: $ref: '#/components/schemas/Staff' description: This is the success list of the trainer availability example: *id123 Errors: type: array items: $ref: '#/components/schemas/ApiError' description: The model property of type List[ApiError]. example: *id124 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 UpdateClassScheduleNotesRequest: type: object description: Implementation of the 'UpdateClassScheduleNotesRequest' model. A model for requesting the updates of notes of a class schedule. properties: Notes: type: string description: Gets the class notes. example: Example note for Mindbody Public API. UpdateClientContractAutopaysRequest: type: object description: Implementation of the 'UpdateClientContractAutopaysRequest' model. properties: ClientContractId: type: integer format: int32 description: Client Contract Id example: 123456 AutopayStartDate: type: string format: date-time description: Autopay start date example: '2026-05-28T14:30:00Z' AutopayEndDate: type: string format: date-time description: (optional) - Indefinite if not provided example: '2026-05-28T14:30:00Z' ProductId: type: integer format: int32 description: Product Id to update (optional if contract has only one product) example: 123456 ReplaceWithProductId: type: integer format: int32 description: (optional) - Replaces the product with this product example: 123456 Amount: type: number format: double description: Overrides autopay amount or amount that would come from ProductId example: 49.99 OverwriteAllProductIDs: type: boolean description: (optional) - If true, will update autopays with any productID example: true UpdateClientRequest: type: object description: Implementation of the 'UpdateClientRequest' model. properties: Client: $ref: '#/components/schemas/ClientWithSuspensionInfo' description: Contains information about the client to be updated. The client ID is used to look up the existing client to update and any specified values are updated. Test: type: boolean description: 'When `true`, indicates that test mode is enabled. The method is validated, but no client data is added or updated.
Default: **false**' example: true CrossRegionalUpdate: type: boolean description: "When `true`, the updated information is propagated to all of the region’s sites where the client has a profile.
When `false`, only the local client is updated.
Default: **true**
Important: The fields below will automatically propagate cross-regionally when updated through the UpdateClient endpoint, regardless the CrossRegionalUpdate parameter is set to `true` or `false`. * `RSSID` * `Prefix` * `Name (First, Middle, Last, Nickname)` * `Email` * `Birthday` * `Phone (Home, Mobile," example: true NewId: type: string description: "The new RSSID to be used for the client. Use `NewId` to assign a specific number to be a client’s ID. If that number is not available, the call returns an error. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested number is already in use, an error is returned. Note: NewId value cannot fall within the reserved default ID range (100000000 -> 101000000)" example: example-value LeadChannelId: type: integer format: int32 description: The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management. If this is not supplied then it will have Publicapi LeadChannelId. This parameters required to track the lead channel if new client added to the location. example: 123456 UpdateClientResponse: type: object description: Implementation of the 'UpdateClientResponse' model. properties: Client: $ref: '#/components/schemas/ClientWithSuspensionInfo' description: Contains information about the updated client. UpdateClientRewardsRequest: type: object description: Implementation of the 'UpdateClientRewardsRequest' model. Request object for using the API to Earn or Redeem reward points properties: ClientId: type: string description: The ID of the client that is getting rewards earned or redeemed. example: example-value Points: type: integer format: int32 description: The amount of points the client is getting earned or redeemed, must be a positive number. example: 1 Action: type: string description: 'Indicates if rewards are getting earned or redeemed. Possible values are: *Earned *Redeemed' example: example-value Source: type: string description: 'If Action passed as **Earned**, possible values are: * Appointment Booking * Class Booking * Referral * Sale
Omit if Action passed as **Redeemed**.' example: example-value SourceId: type: integer format: int32 description: 'The unique identifier in the MINDBODY system for the **Source**. If Action is **Earned**, and an optional SourceID is provided, it is validated as follows: * If Source is Appointment Booking, then a provided SourceID must be a valid Visit.AppointmentId for the indicated Client. * If Source is **Class Booking**, then a provided SourceID must be a valid Visit.Id for the indicated client. * If Source is **Sale**, then a provided SourceID must be a valid Sale.Id for the indicated client. * If Source' example: 123456 ActionDateTime: type: string format: date-time description: 'The date and time when the points were earned or redeemed in UTC format. This date may be in the past, however it may not be in the future. Default: **current date/time**' example: '2026-05-28T14:30:00Z' UpdateClientServiceRequest: type: object description: Implementation of the 'UpdateClientServiceRequest' model. properties: ServiceId: type: integer format: int32 description: The ID of the service to update. example: 123456 ActiveDate: type: string format: date-time description: The date that the service became active. example: '2026-05-28T14:30:00Z' ExpirationDate: type: string format: date-time description: The date that the service is to expire. example: '2026-05-28T14:30:00Z' Count: type: integer format: int32 description: The number of client service sessions to update. example: 10 Test: type: boolean description: 'When `true`, indicates that input information is to be validated, but not committed.
When `false` or omitted, the database is affected.
Default: **false**' example: true UpdateClientServiceResponse: type: object description: Implementation of the 'UpdateClientServiceResponse' model. properties: ClientService: $ref: '#/components/schemas/ClientService' description: Contains information about the service to be updated. UpdateClientVisitRequest: type: object description: Implementation of the 'UpdateClientVisitRequest' model. properties: VisitId: type: integer format: int32 description: The ID of the visit to be updated. example: 123456 Makeup: type: boolean description: When `true`, indicates that the visit is eligible to be made up. example: true SignedIn: type: boolean description: When `true`, indicates that the client has signed in for the visit. example: true ClientServiceId: type: integer format: int32 description: The ID of the service to assign to the visit. example: 123456 Execute: type: string description: 'The execute code used to update this visit. Possible values are: * Cancel * Latecancel * Unlatecancel' example: example-value Test: type: boolean description: 'When `true`, indicates that test mode is enabled. When test mode is enabled, 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 for cancellations. Note that email is not sent unless the client has an email address and automatic emails have been set up correctly.
Default: **false**' example: true UpdateClientVisitResponse: type: object description: Implementation of the 'UpdateClientVisitResponse' model. properties: Visit: $ref: '#/components/schemas/Visit' description: The updated visit. UpdateContactLogComment: type: object description: Implementation of the 'UpdateContactLogComment' model. properties: Id: type: integer format: int32 description: The ID of the contact log comment to be updated. Pass a value of `0` to add a new comment to the contact log. example: 123456 Text: type: string description: The new text for the comment. example: example-value UpdateContactLogRequest: type: object description: Implementation of the 'UpdateContactLogRequest' model. properties: Id: type: integer format: int32 description: The ID of the contact log being updated. example: 123456 Test: type: boolean description: "When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.
When `false`, the database is updated." example: true AssignedToStaffId: type: integer format: int32 description: The ID of the staff member to whom the contact log is now being assigned. example: 123456 Text: type: string description: "The contact log’s new text." example: example-value ContactName: type: string description: The name of the new person to be contacted by the assigned staff member. example: example-value FollowupByDate: type: string format: date-time description: The new date by which the assigned staff member should complete this contact log. example: '2026-05-28T14:30:00Z' ContactMethod: type: string description: The new method by which the client wants to be contacted. example: example-value IsComplete: type: boolean description: "When `true`, indicates that the contact log is complete. When `false`, indicates the contact log isn’t complete." example: true Comments: type: array items: $ref: '#/components/schemas/UpdateContactLogComment' description: Contains information about the comments being updated or added to the contact log. Comments that have an ID of `0` are added to the contact log. example: *id125 Types: type: array items: $ref: '#/components/schemas/UpdateContactLogType' description: Contains information about the contact logs types being assigned to the contact log, in addition to the contact log types that are already assigned. example: *id126 UpdateContactLogType: type: object description: Implementation of the 'UpdateContactLogType' model. properties: Id: type: integer format: int32 description: The ID of the contact log type to update the subtypes of. example: 123456 SubTypes: type: array items: type: integer format: int32 description: The subtype IDs that are to be added to the contact log. example: - 1 UpdateProductPriceRequest: type: object description: Implementation of the 'UpdateProductPriceRequest' model. Update Product Price Request Model properties: BarcodeId: type: string description: The barcode number of the product. This is the `Products[].Id` returned from GET Products. example: example-value Price: type: number format: double description: The price you sell the product for. example: 49.99 OnlinePrice: type: number format: double description: The online price of the product. example: 49.99 UpdateProductPriceResponse: type: object description: Implementation of the 'UpdateProductPriceResponse' model. Update Product Price Response Model properties: Product: $ref: '#/components/schemas/Product' description: Contains information about the product. UpdateReservationResponse: type: object description: Implementation of the 'UpdateReservationResponse' model. Contains information about the update reservation response. properties: Reservation: $ref: '#/components/schemas/Reservation' description: Contains information about the reservation details. ResponseDetails: $ref: '#/components/schemas/ResponseDetails' description: Contains information about the response details, e.g. status, transactionId. UpdateSaleDateRequest: type: object description: Implementation of the 'UpdateSaleDateRequest' model. Update Sales Date Request Model properties: SaleID: type: integer format: int32 description: The Sale ID for which saleDate needs to be updated. This is the `Sale[].Id` returned from GET Sales. example: 1 SaleDate: type: string format: date-time description: The sale date which needs to be modified. example: '2026-05-28T14:30:00Z' UpdateSaleDateResponse: type: object description: Implementation of the 'UpdateSaleDateResponse' model. Update Sale Date Response Properties properties: Sale: $ref: '#/components/schemas/Sale' description: The updated Sale corresponding to the modified date UpdateServiceResponse: type: object description: Implementation of the 'UpdateServiceResponse' model. A response from the Update Services API method. properties: Services: type: array items: $ref: '#/components/schemas/Service' description: List of services as response example: *id127 UpdateSiteClientIndexRequest: type: object description: Implementation of the 'UpdateSiteClientIndexRequest' model. properties: ClientIndexID: type: integer format: int32 description: The ID of the client index. example: 1 ClientIndexName: type: string description: The name of the client index. example: example-value Active: type: boolean description: Indicates if Client Index is Active example: true ShowOnNewClient: type: boolean description: Indicates if Client Index is shown on a new client profile example: true ShowOnEnrollmentRoster: type: boolean description: Indicates if Client Index is shown on Enrollement Roster example: true EditOnEnrollmentRoster: type: boolean description: Indicates if Client Index can be edited on Enrollement Roster example: true SortOrder: type: integer format: int32 description: Indicates sort order example: 1 ShowInConsumerMode: type: boolean description: Indicates if Client Index is shown in consumer mode. example: true RequiredConsumerMode: type: boolean description: Indicates if the index is required when creating profiles in consumer mode. example: true RequiredBizMode: type: boolean description: Indicates if the index is required when creating profiles in business mode. example: true UpdateSiteClientIndexResponse: type: object description: Implementation of the 'UpdateSiteClientIndexResponse' model. properties: ClientIndexID: type: integer format: int32 description: ID of the client index. example: 1 ClientIndexName: type: string description: The name of the client index. example: example-value Active: type: boolean description: Indicates if Client Index is Active example: true ShowOnNewClient: type: boolean description: Indicates if Client Index is shown on a new client profile example: true ShowOnEnrollmentRoster: type: boolean description: Indicates if Client Index is shown on Enrollement Roster example: true EditOnEnrollmentRoster: type: boolean description: Indicates if Client Index can be edited on Enrollement Roster example: true SortOrder: type: integer format: int32 description: Indicates sort order example: 1 ShowInConsumerMode: type: boolean description: Indicates if Client Index is shown in consumer mode. example: true RequiredConsumerMode: type: boolean description: Indicates if the index is required when creating profiles in consumer mode. example: true RequiredBizMode: type: boolean description: Indicates if the index is required when creating profiles in business mode. example: true UpdateStaffPermissionsRequest: type: object description: Implementation of the 'UpdateStaffPermissionsRequest' model. properties: StaffId: type: integer format: int32 description: The ID of the staff member whose permission you want to change. Staff member must have a login. example: 123456 PermissionGroupName: type: string description: The name of the permission group. example: example-value UpdateStaffPermissionsResponse: type: object description: Implementation of the 'UpdateStaffPermissionsResponse' model. properties: UserGroup: $ref: '#/components/schemas/StaffPermissionGroup' description: "Contains information about the staff member’s permission group." UpdateStaffRequest: type: object description: Implementation of the 'UpdateStaffRequest' model. properties: ID: type: integer format: int32 description: The unique ID of the staff member. example: 1 FirstName: type: string description: The staff member first name. You must specify a first name when you add a staff member. example: Alex LastName: type: string description: The staff member last name. You must specify a last name when you add a staff member. example: Lane Email: type: string description: "The staff member’s email address." example: kinlane@example.com IsMale: type: boolean description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female. example: true HomePhone: type: string description: "The staff member’s home phone number." example: '+15551234567' WorkPhone: type: string description: "The staff member’s work phone number." example: '+15551234567' MobilePhone: type: string description: "The staff member’s mobile phone number." example: '+15551234567' Bio: type: string description: "The staff member’s biography. This string contains HTML." example: example-value Address: type: string description: The first line of the staff member street address example: 123 Market St Address2: type: string description: The second line of the staff member street address, if needed. example: 123 Market St City: type: string description: "The staff member’s city." example: San Francisco State: type: string description: "The staff member’s state." example: CA Country: type: string description: "The staff member’s country." example: US PostalCode: type: string description: "The staff member’s postal code." example: '94110' ClassAssistant: type: boolean description: When `true`, indicates that the staff member can be a class assistant. example: true ClassAssistant2: type: boolean description: When `true`, indicates that the staff member can be a class assistant. example: true 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 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 member does not offer appointments. example: true 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 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' 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 ProviderIDs: type: array items: type: string description: A list of providerIDs for the staff. In the US it is one per staff and is numeric, otherwise it can be a list and is alpha-numeric for more information see Provider IDs example: *id128 Active: type: boolean description: Indicates if the staff member is active. Staff member cannot be deactivated if they have future classes or appointments. example: true Notes: type: string description: Staff Member Private Notes example: Example note for Mindbody Public API. EmpID: type: string description: The custom staff ID assigned to the staff member. example: example-value UpdateStaffResponse: type: object description: Implementation of the 'UpdateStaffResponse' model. properties: Staff: $ref: '#/components/schemas/Staff' description: Contains information about the staff UploadClientDocumentRequest: type: object description: Implementation of the 'UploadClientDocumentRequest' model. properties: ClientId: type: string description: The RSSID of the client for whom the document is to be uploaded. example: example-value File: $ref: '#/components/schemas/ClientDocument' description: Contains information about the file to be uploaded. UploadClientDocumentResponse: type: object description: Implementation of the 'UploadClientDocumentResponse' model. properties: FileSize: type: integer format: int32 description: The size of the uploaded file. example: 1 FileName: type: string description: The name of the uploaded file. example: example-value UploadClientPhotoRequest: type: object description: Implementation of the 'UploadClientPhotoRequest' model. properties: Bytes: type: string description: "A Base64-encoded string representation of the image’s byte array." example: example-value ClientId: type: string description: The RSSID of the client for whom the photo is to be uploaded. example: example-value UploadClientPhotoResponse: type: object description: Implementation of the 'UploadClientPhotoResponse' model. properties: ClientId: type: string description: The RSSID of the client for whom the photo was uploaded. example: example-value PhotoUrl: type: string description: The URL of the uploaded photo. example: https://example.mindbodyonline.com/resource/abc123 User: type: object description: Implementation of the 'User' model. properties: Id: type: integer format: int32 description: "The user’s ID at the business. This is always 0 for Admin and Owner type users." example: 123456 FirstName: type: string description: "The user’s first name." example: Alex LastName: type: string description: "The user’s last name." example: Lane Type: type: string description: "The user’s type. Possible values are: * Staff * Owner * Admin" example: example-value 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 VisitWaitlistInfo: type: object description: Implementation of the 'VisitWaitlistInfo' model. A Visit DTO with Waitlist Information properties: WaitlistId: type: integer format: int32 description: waitlist entry Id example: 123456 WaitlistOrderNumber: type: integer format: int32 description: order of the waitlist entry example: 1 VisitWithWaitlistInfo: type: object description: Implementation of the 'VisitWithWaitlistInfo' model. A Visit DTO with Waitlist Information properties: WaitlistInfo: $ref: '#/components/schemas/VisitWaitlistInfo' description: Contains information about the visit waitlist info. 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 WaitlistEntry: type: object description: Implementation of the 'WaitlistEntry' model. properties: ClassDate: type: string format: date-time description: The date of the class or enrollment. example: '2026-05-28T14:30:00Z' ClassId: type: integer format: int32 description: The ID of the class or enrollment. example: 123456 ClassSchedule: $ref: '#/components/schemas/ClassSchedule' description: Contains information about the class schedule for this waiting list entry. Client: $ref: '#/components/schemas/Client' description: Contains information about the requested client who is on the waiting list. EnrollmentDateForward: type: string format: date-time description: If the waiting list entry was created for an enrollment, this is the date on or after which the client can be added to the enrollment from the waitlist. example: '2026-05-28T14:30:00Z' Id: type: integer format: int32 description: The ID of the waiting list entry. example: 123456 RequestDateTime: type: string format: date-time description: The date and time that the request to be on the waiting list was made. example: '2026-05-28T14:30:00Z' VisitRefNo: type: integer format: int32 description: The ID of the visit that is associated with the waiting list entry. example: 1 Web: type: boolean description: If `true`, the entry on the waiting list was requested online.
If `false`, the entry on the waiting list was requested off-line, for example in person or by phone. example: true 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: *id001 security: - ApiKeyAuth: []