Mindbody Site API

Site operations.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

mindbody-site-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mindbody Public API v6 Appointment Site 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: Site
  description: Site operations.
paths:
  /public/v6/site/activationcode:
    get:
      tags:
      - Site
      summary: Mindbody Before You Can Use This Endpoint, MINDBODY Must Approve Your Developer
      description: Before you can use this endpoint, MINDBODY must approve your developer account for live access. If you have finished testing in the sandbox and are ready to begin working with MINDBODY customers, log into your account and request to go live. See [Accessing Business Data From MINDBODY](https://developers.mindbodyonline.com/PublicDocumentation/V6# accessing-business-data) for more information about the activation code and how to use it. Once you are approved, this endpoint returns an activation code.This endpoint supports only one site per call.
      operationId: getActivationCode
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetActivationCodeResponse'
              examples:
                Getactivationcode200Example:
                  summary: Default getActivationCode 200 example
                  x-microcks-default: true
                  value:
                    ActivationCode: example-value
                    ActivationLink: example-value
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/categories:
    get:
      tags:
      - Site
      summary: Mindbody Gets the Categories
      description: Gets the categories.
      operationId: getCategories
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.active
        in: query
        required: false
        description: 'When `true`, the response only contains categories which are activated. When `false`, only deactivated categories are returned. Default: **All Categories**'
        schema:
          type: boolean
        example: true
      - name: request.categoryIds
        in: query
        required: false
        description: When included, the response only contains details about the specified category Ids.
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.service
        in: query
        required: false
        description: 'When `true`, the response only contains details about Revenue Categories. When `false`, only Product Revenue Categories are returned. Default: **All Categories**'
        schema:
          type: boolean
        example: true
      - name: request.subCategoryIds
        in: query
        required: false
        description: When included, the response only contains details about the specified subcategory Ids.
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCategoriesResponse'
              examples:
                Getcategories200Example:
                  summary: Default getCategories 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    Categories:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/genders:
    get:
      tags:
      - Site
      summary: Mindbody The Endpoint Returns a List of Configured Client Gender Options for a
      description: The endpoint returns a list of configured client gender options for a site. Custom gender options are assignable to client genders only. Currently, custom values returned from this endpoint cannot be used as input for other endpoints to specify the genders of staff or client preferences.
      operationId: getGenders
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGendersResponse'
              examples:
                Getgenders200Example:
                  summary: Default getGenders 200 example
                  x-microcks-default: true
                  value:
                    GenderOptions:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/liabilitywaiver:
    get:
      tags:
      - Site
      summary: Mindbody Gets Liability Waiver Content at the Specified Business
      description: Gets Liability Waiver content at the specified business. This endpoint requires staff user credentials.
      operationId: getLiabilityWaiver
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLiabilityWaiverResponse'
              examples:
                Getliabilitywaiver200Example:
                  summary: Default getLiabilityWaiver 200 example
                  x-microcks-default: true
                  value:
                    LiabilityWaiver: example-value
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/locations:
    get:
      tags:
      - Site
      summary: Mindbody Get Locations for a Site
      description: Get locations for a site.
      operationId: getLocations
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLocationsResponse'
              examples:
                Getlocations200Example:
                  summary: Default getLocations 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    Locations:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/memberships:
    get:
      tags:
      - Site
      summary: Mindbody Get the Memberships at a Site
      description: Get the memberships at a site.
      operationId: getMemberships
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.membershipIds
        in: query
        required: false
        description: 'The requested membership IDs.<br /> Default: **all** IDs that the authenticated user’s access level allows.'
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMembershipsResponse'
              examples:
                Getmemberships200Example:
                  summary: Default getMemberships 200 example
                  x-microcks-default: true
                  value:
                    Memberships:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/mobileproviders:
    get:
      tags:
      - Site
      summary: Mindbody Get the List of Mobile Providers That Are Supported by the Business
      description: Get the list of mobile providers that are supported by the business.
      operationId: getMobileProviders
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.active
        in: query
        required: false
        description: 'When `true`, the response only contains mobile providers which are activated. When `false`, only deactivated mobile providers are returned. Default: **All Mobile Providers**'
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMobileProvidersResponse'
              examples:
                Getmobileproviders200Example:
                  summary: Default getMobileProviders 200 example
                  x-microcks-default: true
                  value:
                    MobileProviders:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/paymenttypes:
    get:
      tags:
      - Site
      summary: Mindbody Get Payment Types for a Site
      description: Get payment types for a site.
      operationId: getPaymentTypes
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.active
        in: query
        required: false
        description: 'When `true`, the response only contains payment types which are activated. When `false`, only deactivated payment types are returned. Default: **All Payment Types**'
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTypesResponse'
              examples:
                Getpaymenttypes200Example:
                  summary: Default getPaymentTypes 200 example
                  x-microcks-default: true
                  value:
                    PaymentTypes:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/programs:
    get:
      tags:
      - Site
      summary: Mindbody Get Service Categories Offered at a Site
      description: Get service categories offered at a site.
      operationId: getPrograms
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.onlineOnly
        in: query
        required: false
        description: 'If `true`, filters results to show only those programs that are shown online.<br /> If `false`, all programs are returned.<br /> Default: **false**'
        schema:
          type: boolean
        example: true
      - name: request.programIds
        in: query
        required: false
        description: Program Ids to filter for
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      - name: request.scheduleType
        in: query
        required: false
        description: 'A schedule type used to filter the returned results. Possible values are: * All * Class * Enrollment * Appointment * Resource * Media * Arrival'
        schema:
          $ref: '#/components/schemas/RequestScheduleTypeEnum'
        example: {}
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProgramsResponse'
              examples:
                Getprograms200Example:
                  summary: Default getPrograms 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    Programs:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/promocodes:
    get:
      tags:
      - Site
      summary: Mindbody Gets a List of Promocodes at the Specified Business. This Endpoint
      description: Gets a list of promocodes at the specified business. This endpoint requires staff user credentials. This staff member should have enabled the Set up promotions / **Semester discounts** staff permission.
      operationId: getPromoCodes
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.activeOnly
        in: query
        required: false
        description: 'If true, filters results to show only promocodes that are active. If **false**, all promocodes are returned. Default: **true**'
        schema:
          type: boolean
        example: true
      - name: request.endDate
        in: query
        required: false
        description: Filters results to promocodes that were activated before this date.
        schema:
          type: string
          format: date-time
        example: '2026-05-28T14:30:00Z'
      - name: request.lastModifiedDate
        in: query
        required: false
        description: Filters results to promocodes that were modified on or after this date.
        schema:
          type: string
          format: date-time
        example: '2026-05-28T14:30:00Z'
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.onlineOnly
        in: query
        required: false
        description: 'If `true`, filters results to show only promocodes that can be used for online sale. If `false`, all promocodes are returned. Default: **false**'
        schema:
          type: boolean
        example: true
      - name: request.startDate
        in: query
        required: false
        description: Filters results to promocodes that were activated after this date.
        schema:
          type: string
          format: date-time
        example: '2026-05-28T14:30:00Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPromoCodesResponse'
              examples:
                Getpromocodes200Example:
                  summary: Default getPromoCodes 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    PromoCodes:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/prospectstages:
    get:
      tags:
      - Site
      summary: Mindbody Get the List of Prospect Stages That Represent the Prospect Stage
      description: Get the list of prospect stages that represent the prospect stage options for prospective clients.
      operationId: getProspectStages
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.active
        in: query
        required: false
        description: 'When `true`, the response only contains prospect stages which are activated. When `false`, only deactivated prospect stages are returned. Default: **All Prospect Stages**'
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProspectStagesResponse'
              examples:
                Getprospectstages200Example:
                  summary: Default getProspectStages 200 example
                  x-microcks-default: true
                  value:
                    ProspectStages:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/relationships:
    get:
      tags:
      - Site
      summary: Mindbody This Endpoint Retrieves the Business Site Relationships
      description: This endpoint retrieves the business site relationships.
      operationId: getRelationships
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.active
        in: query
        required: false
        description: 'When `true`, the response only contains relationships which are activated. When `false`, only deactivated relationships are returned. Default: **All Relationships**'
        schema:
          type: boolean
        example: true
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRelationshipsResponse'
              examples:
                Getrelationships200Example:
                  summary: Default getRelationships 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    Relationships:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/resourceavailabilities:
    get:
      tags:
      - Site
      summary: Mindbody Get Resource Availabilities Used at a Site
      description: Get resource availabilities used at a site.
      operationId: getResourceAvailabilities
      parameters:
      - name: version
        in: path
        required: true
        description: version of the api.
        schema:
          type: string
        example: example-value
      - name: siteId
        in: header
        required: true
        description: ID of the site from which to pull data.
        schema:
          type: string
        example: example-value
      - name: authorization
        in: header
        required: false
        description: A staff user authorization token.
        schema:
          type: string
        example: example-value
      - name: request.endDate
        in: query
        required: false
        description: End date. If default, StartDate is used.
        schema:
          type: string
          format: date-time
        example: '2026-05-28T14:30:00Z'
      - name: request.limit
        in: query
        required: false
        description: Number of results to include, defaults to 100
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.locationIds
        in: query
        required: false
        description: Filter by location ids (optional)
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      - name: request.offset
        in: query
        required: false
        description: Page offset, defaults to 0.
        schema:
          type: integer
          format: int32
        example: 1
      - name: request.programIds
        in: query
        required: false
        description: Filter by program ids (optional)
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      - name: request.resourceIds
        in: query
        required: false
        description: Filter on resourceIds
        schema:
          type: array
          items:
            type: integer
            format: int32
        example:
        - 1
      - name: request.scheduleTypes
        in: query
        required: false
        description: Filter by schedule types (optional)
        schema:
          type: array
          items:
            $ref: '#/components/schemas/RequestScheduleTypeEnum'
        example:
        - {}
      - name: request.startDate
        in: query
        required: false
        description: Start time
        schema:
          type: string
          format: date-time
        example: '2026-05-28T14:30:00Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetResourceAvailabilitiesResponse'
              examples:
                Getresourceavailabilities200Example:
                  summary: Default getResourceAvailabilities 200 example
                  x-microcks-default: true
                  value:
                    PaginationResponse: {}
                    ResourceAvailabilities:
                    - {}
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - ApiKeyAuth: []
  /public/v6/site/resources:
    get:
      tags:
      - Site
      summary: Mindbody Get Resources Used at a Site
      descr

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