Mindbody Staff API

Staff operations.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

mindbody-staff-api-openapi.yml Raw ↑
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. <br /> 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 . <br /> 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.<br /> 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.<br /> 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.
    

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/openapi/mindbody-staff-api-openapi.yml