openapi: 3.0.3
info:
title: Mindbody Public API v6 Appointment Staff API
version: '6.0'
description: REST API for Mindbody business management data including appointments, classes, clients, enrollments, sales, sites, staff, payroll, and cross-site operations. Authentication combines a Mindbody-issued API-Key header with a SiteId header and optional staff/user OAuth bearer tokens for write operations. Generated from the official Mindbody Public API Python SDK (apimatic v3).
contact:
name: Mindbody API Support
url: https://support.mindbodyonline.com/s/contactapisupport
license:
name: Proprietary
x-generated-from: Mindbody-API-SDKs python SDK
x-last-validated: '2026-05-28'
servers:
- url: https://api.mindbodyonline.com
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Staff
description: Staff operations.
paths:
/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:
- {}
'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:
- {}
'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:
- {}
'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:
- 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:
- example-value
StartTime: example-value
EndTime: example-value
StartDate: example-value
EndDate: example-value
Description: Example note for Mindbody Public API.
ProgramIds:
- 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:
- 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: []
components:
schemas:
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:
- example-value
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
StatusEnum:
type: string
description: StatusEnum enumeration.
enum:
- None
- Requested
- Booked
- Completed
- Confirmed
- Arrived
- NoShow
- Cancelled
- LateCancelled
AddStaffResponse:
type: object
description: Implementation of the 'AddStaffResponse' model.
properties:
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff
Availability:
type: object
description: Implementation of the 'Availability' model. A staff availability entry
properties:
Id:
type: integer
format: int32
description: The ID of the availability.
example: 123456
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about staff members.
SessionType:
$ref: '#/components/schemas/SessionType'
description: Contains information about the types of sessions.
Programs:
type: array
items:
$ref: '#/components/schemas/Program'
description: Contains information about the programs.
example:
- {}
StartDateTime:
type: string
format: date-time
description: The date and time the availability starts in the site local time zone.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the availability ends in the site local time zone.
example: '2026-05-28T14:30:00Z'
BookableEndDateTime:
type: string
format: date-time
description: The time of day that the last appointment can start in the site local time zone.
example: '2026-05-28T14:30:00Z'
Location:
$ref: '#/components/schemas/Location'
description: Contains information about the location.
PrepTime:
type: integer
format: int32
description: Prep time in minutes
example: 1
FinishTime:
type: integer
format: int32
description: Finish time in minutes
example: 1
IsMasked:
type: boolean
description: When `true`, indicates that the staff member's name for availabilty is masked. When `false`, indicates that the staff member's name for availabilty is not masked.
example: true
ShowPublic:
type: boolean
description: When `true`, indicates that the schedule is shown to the clients. When `false`, indicates that the schedule is hidden from the clients.
example: true
ResourceAvailabilities:
type: array
items:
$ref: '#/components/schemas/ResourceAvailability'
description: Contains information about resources availability for the specified session type.
example:
- {}
ScheduleTypeEnum:
type: string
description: ScheduleTypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
UpdateStaffResponse:
type: object
description: Implementation of the 'UpdateStaffResponse' model.
properties:
Staff:
$ref: '#/components/schemas/Staff'
description: Contains information about the staff
PaginationResponse:
type: object
description: Implementation of the 'PaginationResponse' model. Contains information about the pagination to use.
properties:
RequestedLimit:
type: integer
format: int32
description: Limit from pagination request
example: 10
RequestedOffset:
type: integer
format: int32
description: Offset from pagination request
example: 10
PageSize:
type: integer
format: int32
description: Number of results returned in this response
example: 1
TotalResults:
type: integer
format: int32
description: Total number of results in dataset
example: 1
Unavailability:
type: object
description: Implementation of the 'Unavailability' model.
properties:
Id:
type: integer
format: int32
description: The ID of the unavailability.
example: 123456
StartDateTime:
type: string
format: date-time
description: The date and time the unavailability starts.
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: The date and time the unavailability ends.
example: '2026-05-28T14:30:00Z'
Description:
type: string
description: A description of the unavailability.
example: Example note for Mindbody Public API.
Type2Enum:
type: string
description: Type2Enum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
StaffSetting:
type: object
description: Implementation of the 'StaffSetting' model. contains the information about the staff settings.
properties:
UseStaffNicknames:
type: boolean
description: When `true`, `DisplayName` of the staff will be displayed. When `false`, `DisplayName` will be displayed as null.
example: true
ShowStaffLastNamesOnSchedules:
type: boolean
description: When `true`, indicates that the Name contains both the `FirstName` and `LastName` of the staff. When `false`, indicates that the Name contains only the `FirstName` of the staff.
example: true
SessionType:
type: object
description: Implementation of the 'SessionType' model. SessionType contains information about the session types in a business.
properties:
Type:
$ref: '#/components/schemas/TypeEnum'
description: 'Contains the class description session type. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival'
DefaultTimeLength:
type: integer
format: int32
description: The default amount of time that a session of this type typically lasts.
example: 1
StaffTimeLength:
type: integer
format: int32
description: The amount of time that a session of this type will last for a specific Staff (when applicable.)
example: 1
Id:
type: integer
format: int32
description: This session type’s unique ID.
example: 123456
Name:
type: string
description: The name of this session type.
example: Sunset Yoga Studio
OnlineDescription:
type: string
description: The online description associated with the appointment.
example: Example note for Mindbody Public API.
NumDeducted:
type: integer
format: int32
description: The number of sessions that this session type deducts from the pricing option used to pay for this type of session.
example: 1
ProgramId:
type: integer
format: int32
description: This session type’s service category ID.
example: 123456
Category:
type: string
description: This session type’s category.
example: example-value
CategoryId:
type: integer
format: int32
description: This session type’s category ID.
example: 123456
Subcategory:
type: string
description: This session type’s subcategory.
example: example-value
SubcategoryId:
type: integer
format: int32
description: This session type’s subcategory ID.
example: 123456
AvailableForAddOn:
type: boolean
description: This session type’s Add On Flag.
example: true
GenderPreferenceEnum:
type: string
description: GenderPreferenceEnum enumeration.
enum:
- None
- Female
- Male
Staff:
type: object
description: Implementation of the 'Staff' model. The Staff
properties:
Address:
type: string
description: The address of the staff member who is teaching the class.
example: 123 Market St
AppointmentInstructor:
type: boolean
description: When `true`, indicates that the staff member offers appointments.
When `false`, indicates that the staff member does not offer appointments.
example: true
AlwaysAllowDoubleBooking:
type: boolean
description: When `true`, indicates that the staff member can be scheduled for overlapping services.
When `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.
example: true
Bio:
type: string
description: The staff member’s biography. This string contains HTML.
example: example-value
City:
type: string
description: The staff member’s city.
example: San Francisco
Country:
type: string
description: The staff member’s country.
example: US
Email:
type: string
description: The staff member’s email address.
example: kinlane@example.com
FirstName:
type: string
description: The staff member’s first name.
example: Alex
DisplayName:
type: string
description: The staff member’s Nickname.
example: example-value
HomePhone:
type: string
description: The staff member’s home phone number.
example: '+15551234567'
Id:
type: integer
format: int32
description: The ID assigned to the staff member.
example: 123456
IndependentContractor:
type: boolean
description: When `true`, indicates that the staff member is an independent contractor. When `false`, indicates that the staff member is not an independent contractor.
example: true
IsMale:
type: boolean
description: When `true`, indicates that the staff member is male. When `false`, indicates that the staff member is female.
example: true
LastName:
type: string
description: The staff member’s last name.
example: Lane
MobilePhone:
type: string
description: The staff member’s mobile phone number.
example: '+15551234567'
Name:
type: string
description: The staff member’s name.
example: Sunset Yoga Studio
PostalCode:
type: string
description: The staff member’s postal code.
example: '94110'
ClassTeacher:
type: boolean
description: When `true`, indicates that the staff member can teach classes. When `false`, indicates that the staff member cannot teach classes.
example: true
SortOrder:
type: integer
format: int32
description: If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.
example: 1
State:
type: string
description: The staff member’s state.
example: CA
WorkPhone:
type: string
description: The staff member’s work phone number.
example: '+15551234567'
ImageUrl:
type: string
description: The URL of the staff member’s image, if one has been uploaded.
example: https://example.mindbodyonline.com/resource/abc123
ClassAssistant:
type: boolean
description: Is the staff an assistant
example: true
ClassAssistant2:
type: boolean
description: Is the staff an assistant2
example: true
EmploymentStart:
type: string
format: date-time
description: The start date of employment
example: '2026-05-28T14:30:00Z'
EmploymentEnd:
type: string
format: date-time
description: The end date of employment
example: '2026-05-28T14:30:00Z'
ProviderIDs:
type: array
items:
type: string
description: A list of ProviderIds for the staff.
example:
- example-value
Rep:
type: boolean
description: return true if staff is sales Rep 1 else false.
example: true
Rep2:
type: boolean
description: return true if staff is sales Rep 2 else false.
example: true
Rep3:
type: boolean
description: return true if staff is sales Rep 3 else false.
example: true
Rep4:
type: boolean
description: return true if staff is sales Rep 4 else false.
example: true
Rep5:
type: boolean
description: return true if staff is sales Rep 5 else false.
example: true
Rep6:
type: boolean
description: return true if staff is sales Rep 6 else false.
example: true
StaffSettings:
$ref: '#/components/schemas/StaffSetting'
description: This object contains the staff settings.
Appointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
description: A list of appointments for the staff.
example:
- {}
Unavailabilities:
type: array
items:
$ref: '#/components/schemas/Unavailability'
description: A list of unavailabilities for the staff.
example:
- {}
Availabilities:
type: array
items:
$ref: '#/components/schemas/Availability'
description: A list of availabilities for the staff.
example:
- {}
EmpID:
type: string
description: The EmpID assigned to the staff member.
example: example-value
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:
- {}
Location:
type: object
description: Implementation of the 'Location' model.
properties:
AdditionalImageURLs:
type: array
items:
type: string
description: A list of URLs of any images associated with this location.
example:
- example-value
Address:
type: string
description: The first line of the location’s street address.
example: 123 Market St
Address2:
type: string
description: A second address line for the location’s street address, if needed.
example: 123 Market St
Amenities:
type: array
items:
$ref: '#/components/schemas/Amenity'
description: A list of strings representing amenities available at the location.
example:
- {}
BusinessDescription:
type: string
description: The business description for the location, as configured by the business owner.
example: Example note for Mindbody Public API.
City:
type: string
description: The location’s city.
example: San Francisco
Description:
type: string
description: A description of the location.
example: Example note for Mindbody Public API.
HasClasses:
type: boolean
description: When `true`, indicates that classes are held at this location.
When `false`, Indicates that classes are not held at this location.
example: true
Id:
type: integer
format: int32
description: The ID assigned to this location.
example: 123456
Latitude:
type: number
format: double
description: The location’s latitude.
example: 1.0
Longitude:
type: number
format: double
description: The location’s longitude.
example: 1.0
Name:
type: string
description: The name of this location.
example: Sunset Yoga Studio
Phone:
type: string
description: The location’s phone number.
example: '+15551234567'
PhoneExtension:
type: string
description: The location’s phone extension.
example: example-value
PostalCode:
type: string
description: The location’s postal code.
example: '94110'
SiteID:
type: integer
format: int32
description: The ID number assigned to this location.
example: 1
StateProvCode:
type: string
description: The location’s state or province code.
example: example-value
Tax1:
type: number
format: double
description: A decimal representation of the location’s first tax rate. Tax properties are provided to apply all taxes to the purchase price that the purchase is subject to. Use as many tax properties as needed to represent all the taxes that apply in the location. Enter a decimal number that represents the appropriate tax rate. For example, for an 8% sales tax, enter 0.08.
example: 1.0
Tax2:
type: number
format: double
description: A decimal representation of the location’s second tax rate. See the example in the description of Tax1.
example: 1.0
Tax3:
type: number
format: double
description: A decimal representation of the location’s third tax rate. See the example in the description of Tax1.
example: 1.0
Tax4:
type: number
format: double
description: A decimal representation of the location’s fourth tax rate. See the example in the description of Tax1.
example: 1.0
Tax5:
type: number
format: double
description: A decimal representation of the location’s fifth tax rate. See the example in the description of Tax1.
example: 1.0
TotalNumberOfRatings:
type: integer
format: int32
description: The number of reviews that clients have left for this location.
example: 1
AverageRating:
type: number
format: double
description: The average rating for the location, out of five stars.
example: 1.0
TotalNumberOfDeals:
type: integer
format: int32
description: The number of distinct introductory pricing options available for purchase at this location.
example: 1
Amenity:
type: object
description: Implementation of the 'Amenity' model. Definition of a location amenity
properties:
Id:
type: integer
format: int32
description: The ID number of the amenity.
example: 123456
Name:
type: string
description: The name of the amenity, for example, food or lockers.
example: Sunset Yoga Studio
AddOnSmall:
type: object
description: Implementation of the 'AddOnSmall' model.
properties:
Id:
type: integer
format: int32
description: The unique ID of the appointment add-on booking.
example: 123456
Name:
type: string
description: The name of the appointment add-on.
example: Sunset Yoga Studio
StaffId:
type: integer
format: int32
description: The ID of the staff member providing the service for this add-on.
example: 123456
TypeId:
type: integer
format: int32
description: The ID of the session type of this appointment.
example: 123456
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:
- {}
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
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.
ResourceAvailability:
type: object
description: Implementation of the 'ResourceAvailability' model. An availability of a resource
properties:
ResourceId:
type: integer
format: int32
description: Id
example: 123456
StartDateTime:
type: string
format: date-time
description: Starts
example: '2026-05-28T14:30:00Z'
EndDateTime:
type: string
format: date-time
description: Ends
example: '2026-05-28T14:30:00Z'
AppointmentStaff:
type: object
description: Implementation of the 'AppointmentStaff' model.
properties:
Id:
type: integer
format: int32
description: The model property of type int.
example: 123456
FirstName:
type: string
description: The model property of type str.
example: Alex
LastName:
type: string
description: The model property of type str.
example: Lane
DisplayName:
type: string
description: The model property of type str.
example: example-value
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
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:
- example-value
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:
- 1
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
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:
- {}
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
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
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:
- {}
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
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
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
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
ResourceSlim:
type: object
description: Implementation of the 'ResourceSlim' model. Contains information about resources, such as rooms.
properties:
Id:
type: integer
format: int32
description: The ID of the resource being used for this appointment.
example: 123456
Name:
type: string
description: The name of the resource being used for this appointment.
example: Sunset Yoga Studio
TypeEnum:
type: string
description: TypeEnum enumeration.
enum:
- All
- Class
- Enrollment
- Appointment
- Resource
- Media
- Arrival
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
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:
- example-value
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
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.
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
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.
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.